# Cinderwild dedicated server as a systemd service (Linux). # # 1. Put the game where it'll live, e.g. /opt/cinderwild (a git clone), and # install Godot 4.7+ as /usr/local/bin/godot. # 2. Make a user for it: sudo useradd -r -m -d /var/lib/cinderwild cinderwild # 3. Copy this file: sudo cp server/cinderwild-server.service /etc/systemd/system/ # and edit User, WorkingDirectory and GODOT below if yours differ. # 4. Start it, and on boot: sudo systemctl enable --now cinderwild-server # Logs: journalctl -u cinderwild-server -f # Stop / restart: sudo systemctl stop|restart cinderwild-server # # server.json and the world live in the user's Godot data folder: # /var/lib/cinderwild/.local/share/godot/app_userdata/Cinderwild/server/ # Admin commands: join the game and use chat (/help), or edit server.json and # restart. (The console needs a terminal, so it isn't used here.) [Unit] Description=Cinderwild dedicated server After=network-online.target Wants=network-online.target [Service] Type=simple User=cinderwild WorkingDirectory=/opt/cinderwild Environment=GODOT=/usr/local/bin/godot # run_server.sh checks the Godot version and imports a fresh copy first. ExecStart=/opt/cinderwild/server/run_server.sh Restart=on-failure RestartSec=10 # The world saves within 10 s of any change, so a stop loses at most that. KillSignal=SIGINT TimeoutStopSec=20 [Install] WantedBy=multi-user.target