Skip to content

Server Operation

Claude edited this page Apr 15, 2026 · 1 revision

Server Operation


Starting the server

Linux

./etlded +set fs_game jaymod +exec jaymod.cfg

Windows

etlded.exe +set fs_game jaymod +exec jaymod.cfg

Use a wrapper script (serverctl) to daemonize the process and enable easy stop/restart:

serverctl start
serverctl status

Stopping the server

serverctl stop

Or send SIGTERM to the process for a graceful shutdown:

kill -TERM <pid>

Restarting

serverctl restart
serverctl status

Reloading the database

If you manually edit user.db, level.db or map.db while the server is running, reload without a full restart:

serverctl reload

Or via the server console:

!reload

Or on Linux, send SIGUSR1 to the process:

kill -USR1 <pid>

Warning: Changes made to database files while the server is running will be lost when the server shuts down (it writes its in-memory state on exit). Always edit database files offline or use !useredit / !levedit in-game.


Server console commands

Command Description
!status Display server resource usage (players, entities, heap, rates)
!status all Broadcast status to all connected players
!reload Reload database files from disk
rcon <password> <command> Send an rcon command from the ET client console

Monitoring

The !status command shows:

  • Connected players and entity count
  • Gamestate and serverinfo
  • Largest config-string size
  • Database record counts
  • Heap usage and percentages
  • Network rates

Linux signals

Signal Action
SIGTERM Graceful shutdown
SIGHUP Graceful shutdown (same as SIGTERM)
SIGUSR1 Reload database files

Log files

Configure logging in your server config:

set g_log        "jaymod/log/game.log"
set g_logSync    1
set g_logOptions 0
Cvar Default Description
g_log "" Path to the game log file
g_logSync 0 Flush log on every write (1 = enabled, safer but slower)
g_adminLog "" Separate log file for admin actions

Clone this wiki locally