User Tools

Site Tools


servers:games:xonotic

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
servers:games:xonotic [2016/10/16 04:58] Sean Rhoneservers:games:xonotic [2016/11/25 11:11] (current) Sean Rhone
Line 1: Line 1:
 +====== Information ======
  
 +  * Xonotic ((http://xonotic.org))
 +  * Git ((https://gitlab.com/xonotic/xonotic))
 +  * [[Information:Realm of Espionage]]
 +  * xonotic.realmofespionage.xyz ((Xonotic))
 +
 +===== Prerequisites =====
 +
 +  * [[distros:fedora_server | Fedora Server]]
 +
 +===== 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