2023-12-02 18:53:16 -05:00
|
|
|
# Random, Possibly Helpful Notes
|
|
|
|
|
|
|
|
This is not supposed to be anything even approaching a proper `README.md` ;-)
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Quick `config.json` Setup
|
|
|
|
|
|
|
|
For a public server on the internet:
|
|
|
|
|
|
|
|
* Set `AllowUnregisteredUsers` to `false`
|
|
|
|
* Leave `LocalAddress` configured to the interface name of your primary network
|
|
|
|
adapter, e.g. `en0`
|
|
|
|
* Set `ExternalAddress` to your server's public IP address
|
|
|
|
* Set `DNSServerPort` to 53 if you want to use this, or 0 to disable, in which
|
|
|
|
case you need to set up your own external DNS server (e.g. dnsmasq)
|
|
|
|
* Set `RunInteractiveShell` to `true` (technically not needed as it should
|
|
|
|
autodetect)
|
|
|
|
* Adjusting `LogLevels` is highly recommended. Most things should be set to `WARNING`
|
|
|
|
at the very least, otherwise there will be a **ton** of logging messages that
|
|
|
|
you don't need to see unless you're debugging issues / doing newserv development.
|
2023-12-02 18:55:13 -05:00
|
|
|
* Adjust the `ServerName`, `WelcomeMessage`, `PCPatchServerMessage` and
|
2023-12-02 18:53:16 -05:00
|
|
|
`BBPatchServerMessage` to have something personalized for your server.
|
|
|
|
* Set `CheatModeBehaviour` to `OffByDefault`
|
|
|
|
|
|
|
|
## Adding Licenses (Player Accounts)
|
|
|
|
|
|
|
|
With `AllowUnregisteredUsers` set to `false` in the `config.json` you **must**
|
|
|
|
manually add "licenses" which are player accounts in order for any client to
|
|
|
|
successfully connect.
|
|
|
|
|
|
|
|
For Gamecube, this must be registered with a serial number and access key, as
|
|
|
|
well as a password.
|
|
|
|
|
|
|
|
```text
|
|
|
|
add-license serial=1234567890 access-key=123456789012 gc-password=myPassword
|
|
|
|
```
|
|
|
|
|
|
|
|
For Blue Burst, this must be registered with a serial number, username, and
|
|
|
|
password.
|
|
|
|
|
|
|
|
```text
|
|
|
|
add-license serial=1234567890 bb-username=myUsername bb-password=myPassword
|
|
|
|
```
|
|
|
|
|
|
|
|
**Serial numbers must be unique across licenses _AND_ client type!**
|
|
|
|
|
|
|
|
For example, if you try to add a Gamecube license with the same serial number
|
|
|
|
as a Blue Burst license, the most recently added license with the duplicate
|
|
|
|
serial number will overwrite the existing license completely!
|
|
|
|
|
|
|
|
### License/Account Privileges
|
|
|
|
|
|
|
|
In the `add-license` command, simply add a `flags=xxx` option, where `xxx`
|
|
|
|
should be one of `normal` (default), `mod`, `admin`, `root` or numeric value.
|
|
|
|
|
|
|
|
## PSO: BB Client Executable Patching
|
|
|
|
|
|
|
|
The addresses to patch (hexedit) in `psobb.exe` to get it to connect to your
|
|
|
|
own server are:
|
|
|
|
|
|
|
|
* Tethealla client v1.25.13
|
|
|
|
* 0x56d70c
|
|
|
|
* 0x56d724
|
|
|
|
* 0x56d750
|
|
|
|
* 0x56d76c
|
|
|
|
* 0x56d788
|
|
|
|
* 0x56d7a4
|
|
|
|
|
|
|
|
* Ephinea client
|
|
|
|
* 0x56d70c
|
|
|
|
* 0x56d724
|
|
|
|
* 0x56d750
|
|
|
|
* 0x56d76c
|
|
|
|
* 0x56d788
|
|
|
|
|
|
|
|
Each address should contain an ASCII string with an IP or hostname in it. Each
|
|
|
|
string has a maximum length of 24 bytes.
|
|
|
|
|
|
|
|
Either patch all of these to the IP you put in the `ExternalAddress` in your
|
|
|
|
`config.json` or use a publicly resolvable DNS hostname that resolves to that
|
|
|
|
IP address.
|
|
|
|
|
|
|
|
## Interactive Shell Usage in a Docker World
|
|
|
|
|
|
|
|
The `docker-compose.yml` file has two options specified on the newserv container
|
|
|
|
that are important for this, which you don't normally see used in a Docker Compose
|
|
|
|
file, but you're probably familiar with these via `docker run` or `docker exec`:
|
|
|
|
|
|
|
|
* `stdin_open: true` which is equivalent to the `-i` option
|
|
|
|
* `tty: true` which is equivalent to the `-t` option
|
|
|
|
|
|
|
|
Finally, in `config.json` uncomment and set `RunInteractiveShell` to `true` just
|
|
|
|
to ensure that newserv's interactive shell feature is enabled.
|
|
|
|
|
|
|
|
Then you can just `docker attach` to the newserv container and Ctrl+P, Ctrl+Q to
|
|
|
|
detach when done.
|
|
|
|
|