Settings in server.yaml

server.yaml holds the settings of one install of the server: where its world is, how the machine is reached, and how it is managed. It is in the server's data folder, and the server writes one with sensible values the first time it starts.

Most owners never open it. Odyssey Server Admin changes the settings that matter, and writes them here for you. This page is for when you run the server on its own, or want to know what a line does.

What is not in this file#

Everything about your world is kept in the world's database instead, beside its maps and players: the message of the day, classes, starting places and items, prices, combat and guild rules, day and night, the whitelist and bans. Copying the database copies the whole game. Change those in Odyssey Server Admin, under Server configuration and Player administration. A world setting typed into server.yaml is ignored.

How changes take effect#

  • A change you make to the file takes effect the next time the server starts.
  • When the app changes a setting, the server rewrites only that line. Your comments and anything else you typed stay as they were.
  • A setting that is not listed on this page is not read.

The world#

database:
  provider: sqlite
  file: server.db
SettingWhat it does
providerWhat the world is kept in: sqlite, a single file, unless you choose postgres or mysql.
fileThe world's file, for sqlite. A name on its own is looked for in the data folder. To switch worlds, stop the server, put the other .db file in data, and change this.

Keeping the world in PostgreSQL, MySQL or MariaDB takes a few more settings here: host, port, name, user and a password. Choosing a database explains them, and how to move a world across.

Reaching the server#

listenPort: 2597
maxConnections: 30

config:
  hostname: localhost
  enableUPnP: false
  backupInterval: 5
SettingWhat it does
listenPortThe port players connect to, over UDP. The server also uses the two ports above it. See Ports, routers and firewalls.
maxConnectionsHow many players can be connected at once.
config.hostnameThe name your server reports for itself, such as play.example.com, if you have one.
config.enableUPnPMeant to ask your router to open the game port. It does not do so in the current release: forward the ports yourself.
config.backupIntervalHow often, in minutes, connected players and the world's clock are saved. Lower loses less if the machine crashes. This is saving, not backing up.

Managing the server#

adminApi:
  enableLocalSocket: true
  socketPath: odyssey-admin.sock
  enableNetwork: false
  networkPort: 5297
  certificateFile: ""
  certificatePassword: ""
SettingWhat it does
enableLocalSocketLets Odyssey Server Admin on the same machine manage the server. It opens no network port: the two talk through a file only that machine can reach. Leave it on.
socketPathWhere that file is. Keep the whole path short: systems limit it to about 100 characters.
enableNetworkLets Odyssey Server Admin on another machine manage the server. Off unless you turn it on. The connection is always encrypted and everybody has to sign in. How to set it up.
networkPortThe TCP port for that.
certificateFile, certificatePasswordA certificate of your own for the network port, as a .pfx file. Leave both empty and the server uses the one it made for itself.

The registry#

registry:
  serverId: ''
  hostKey: ''
SettingWhat it does
serverIdWhich listing on this site is this server. Empty means the server is not listed.
hostKeyThe secret the server proves itself with. Treat it like a password.

Odyssey Server Admin fills these in when you list your server. Your server's name and description are not here: they belong to the listing.

Updates and reports#

updates:
  channel: stable
  check: true

reports:
  send: false
SettingWhat it does
updates.channelstable, or beta to be offered test releases too.
updates.checkfalse stops the server looking for new releases. It never installs one by itself either way.
reports.sendWhether crash reports and usage statistics about the server go to Burningstorm Studios. Off unless you agree. A report never includes anything about a player.

Other settings#

logLevel: Error
# certificateStorePath: certs
# minimumClientVersion: 1.4.0
SettingWhat it does
logLevelHow much the server writes to its log: Error, Warning, Information, Debug or Verbose. Turn it up when you are hunting a problem, and back down afterwards.
certificateStorePathThe folder holding the certificate players' games know your server by. certs in the data folder unless you move it.
minimumClientVersionThe oldest version of the game your server lets in, for getting players off a version with a known problem. They are told which version they need. Leave it out to let in every version that can play here.