servers:linux:games:xonotic
Table of Contents
Information
Prerequisites
Notes
- Xonotic compiled from Git is required for AES support
Create Group and User
sudo groupadd 'xonotic' && sudo useradd -c 'Xonotic system account' -d '/var/lib/xonotic' -g 'xonotic' -m -r 'xonotic'
Dependencies
sudo dnf install 'git'
Firewall
- 26000/udp is Xonotic Dedicated Server
sudo firewall-cmd --add-port='26000'/'udp' --permanent && sudo firewall-cmd --reload
Download Initial Source
sudo git clone -b 'master' 'git://git.xonotic.org/xonotic/xonotic.git' '/srv/xonotic' && sudo chown -R 'xonotic':'xonotic' '/srv/xonotic' && sync
Compile
Change User
sudo su 'xonotic' -s '/usr/bin/bash'
Download Complete Source
cd '/srv/xonotic' && '/srv/xonotic/all' update -l 'best' && sync
Compile
cd '/srv/xonotic' && '/srv/xonotic/all' compile -r 'dedicated' && sync
Settings
Change User
sudo su 'xonotic' -s '/usr/bin/bash'
Copy Config
mkdir -p '/var/lib/xonotic/.xonotic/data' && cp '/srv/xonotic/server/server.cfg' '/var/lib/xonotic/.xonotic/data/server.cfg'
Xonotic
nano '/var/lib/xonotic/.xonotic/data/server.cfg'
sv_public 1 sv_status_privacy 1 hostname "RoE | Xonotic - Realm of Espionage Official InstaGib ($g_xonoticversion)" sv_motd "Welcome to the Realm of Espionage Xonotic server! InstaGib all day every day :p" maxplayers 16 g_maplist_shuffle 1 g_maplist_mostrecent_count 3 gametype dm skill 9 minplayers 3 g_maplist_check_waypoints 1 sv_maxidle 120 //sv_weaponstats_file http://www.xonotic.org/weaponbalance/ g_playerstats_uri "http://stats.xonotic.org/stats/submit" g_instagib 1 g_grappling_hook 1 g_jetpack 1
Services
Dedicated Server
Service
sudo -e '/etc/systemd/system/xonotic-dedi.service' && sudo systemctl daemon-reload && sudo systemctl enable 'xonotic-dedi' --now && sudo systemctl status 'xonotic-dedi' -l
[Unit] Description=Xonotic Dedicated Server Wants=network-online.target After=network-online.target [Service] User=xonotic Group=xonotic Type=simple WorkingDirectory=/srv/xonotic ExecStart='/srv/xonotic/all' run 'dedicated' Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Updater
Service
sudo -e '/etc/systemd/system/xonotic-up.service'
[Service] User=xonotic Group=xonotic Type=oneshot WorkingDirectory=/srv/xonotic ExecStart='/srv/xonotic/all' clean --reclone ExecStart='/srv/xonotic/all' compile -r 'dedicated' ExecStart='/usr/bin/sync'
Timer
sudo -e '/etc/systemd/system/xonotic-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'xonotic-up.timer' --now && sudo systemctl start 'xonotic-up' && sudo systemctl status 'xonotic-up' -l
[Unit] Description=Xonotic Git Updater and Compiler Wants=network-online.target After=network-online.target [Timer] OnCalendar=*-*-* 02:15:00 Persistent=true [Install] WantedBy=timers.target
Restarter
Service
sudo -e '/etc/systemd/system/xonotic-re.service'
[Service] Type=oneshot ExecStart='/usr/bin/systemctl' stop 'xonotic-dedi' ExecStart='/usr/bin/sync' ExecStart='/usr/bin/systemctl' start 'xonotic-dedi'
Timer
sudo -e '/etc/systemd/system/xonotic-re.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'xonotic-re.timer' --now && sudo systemctl start 'xonotic-re' && sudo systemctl status 'xonotic-re' -l
[Unit] Description=Xonotic Dedicated Server Restarter Wants=network-online.target After=network-online.target [Timer] OnCalendar=*-*-* 02:30:00 Persistent=true [Install] WantedBy=timers.target
/var/www/wiki/data/pages/servers/linux/games/xonotic.txt · Last modified: by 127.0.0.1