Skip to content

Server Configuration

The server configuration is split into two parts. The cfg/server.cfg file which is used to set ConVars and execute ConCmds and the settings/server.settings.json which is used to configure update and restart behaviour.

Both are in your server folder (see Installation).

server.cfg

cfg/server.cfg is read once during startup, before the server accepts any connections. Changes take effect after a restart.

The file follows the same rules as any other config file (see Config Files).

cfg/server.cfg
# The name shown in the server browser and to connected players
sv_name "My server"

# The description shown alongside the name
sv_desc "My first server"

# Region, as a three letter ISO 3166-1 alpha-3 code
sv_region "EU"

# The DLC level required to join ("" for none)
sv_dlc "ep1"

# Bind to a specific interface instead of all of them
sv_bindaddr "[::]:20770"

The first start creates this file from a bundled example file.

Settings you are likely to change

Setting Purpose
sv_name Your server's name, shown in the server browser and to players
sv_desc A short description of your server
sv_region Three letter region code. Used in the server browser
sv_dlc The DLC episode a player must own and have installed to join
sv_lan Allows local sessions on networks without internet access
sv_privacy Hides player names from server list and info output
sv_bindaddr The interface and port the server listens on. See Networking & Ports
sv_ugc_automatic_restarts Restarts bundles automatically when their files change on disk

Every setting, including the ones only bundles care about, is listed in the Console Reference. Some settings can only be changed from a config file (see the flags column).

server.settings.json

settings/server.settings.json contains settings related to updates and internals of the server:

Setting Default Purpose
channel "alpha" Which release channel the server follows. See Updates
auto_update true Whether the server installs updates by itself
restart_after_update "auto" Whether the server restarts itself to finish an update

In the container these are set through the environment instead, and the file is rewritten from it on every start. Without containers, edit the file directly.

Environment variables

The container image reads the same settings from the environment, which is how you configure a deployment without editing files.

Variable Default Purpose
CHANNEL alpha Release channel the server follows
AUTO_UPDATE true Install updates automatically
RESTART_AFTER_UPDATE auto Restart behaviour after an update
GAME_PORT 20770 Port the server listens on, inside the container
VOIP_PORT 20771 Port voice chat listens on, inside the container

GAME_PORT and VOIP_PORT take precedence over settings in cfg/server.cfg. Adjusting the matching port mapping is still required on the container itself, see Networking & Ports.

compose.yaml (partial)
environment:
  CHANNEL: "alpha"
  AUTO_UPDATE: "true"

Next steps