3.3 KiB
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
tofalse
- 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
totrue
(technically not needed as it should autodetect) - Adjusting
LogLevels
is highly recommended. Most things should be set toWARNING
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. - Adjust the
ServerName
,WelcomeMessage
,PCPatchServerMessage
andBBPatchServerMessage
to have something personalized for your server. - Set
CheatModeBehaviour
toOffByDefault
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.
add-license serial=1234567890 access-key=123456789012 gc-password=myPassword
For Blue Burst, this must be registered with a serial number, username, and password.
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
optiontty: 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.