Configuration
Moongate reads a single YAML file, moongate.yaml, from the
root directory. The first
launch generates it with defaults; edit and restart to apply changes.
The moongate section
| Key | Type | Default | Meaning |
|---|---|---|---|
ShardName |
string | Moongate |
The shard's name, shown in the client's server list. |
UltimaDirectory |
string | — | Path to the UO client files. See the override note below. |
Network.Address |
string | 0.0.0.0 |
Local bind address for the TCP listener. |
Network.Port |
int | 2593 |
TCP port for both login and game traffic (single process, single port). |
Network.PublicAddress |
string | 127.0.0.1 |
Address advertised to clients in the server list and game-server redirect. Must be reachable from the client. |
Note
UltimaDirectory is currently always overridden at startup: the
--uo-directory command-line option defaults to ~/uo and is applied on
top of the config unconditionally, so the YAML value never wins. Treat
--uo-directory (or its ~/uo default) as the effective setting; the key
remains in the file for when the CLI stops forcing a default.
The logger section
Logging is provided by the SquidStd runtime (Serilog underneath) and configured in the same file:
| Key | Default | Meaning |
|---|---|---|
MinimumLevel |
Information |
Minimum log level (Verbose, Debug, Information, Warning, Error, Fatal). |
EnableConsole |
true |
Write log events to the console. |
EnableFile |
false |
Also write rolling log files. |
LogDirectory |
logs |
Directory (under the root) for log files. |
FileName |
squidstd-.log |
Log file name pattern; the rolling date is appended. |
RollingInterval |
Day |
How often a new log file starts. |
Full generated example
This is verbatim what a first launch writes:
logger:
MinimumLevel: Information
EnableConsole: true
EnableFile: false
LogDirectory: logs
FileName: squidstd-.log
RollingInterval: Day
moongate:
ShardName: Moongate
UltimaDirectory: /home/you/uo
Network:
Address: 0.0.0.0
Port: 2593
PublicAddress: 127.0.0.1
Command-line options
The server binary itself takes a handful of options that interact with the config:
| Option | Default | Meaning |
|---|---|---|
--root-directory <path> |
MOONGATE_ROOT env var, else ./moongate_root |
Where moongate.yaml and every runtime directory live. |
--uo-directory <path> |
~/uo |
UO client files; overrides UltimaDirectory (see note above). |
--show-header <bool> |
true |
Print the ASCII header at startup. |