Mit dem Update Reinforced im August 2013 wurde nebst dem Client auch der dedicated Linux Server für Natural Selection 2 freigegeben.
Die Installation gestaltet sich Steamtypisch sehr einfach. Unsere Anleitung basiert auf Ubuntu Server, ist aber auch für Debian Server problemlos anwendbar. Wir legen als erstes einen neuen User an:
sudo adduser ns2server
Wähle ein sicheres Passwort. Sobald der User besteht, wechseln wir in des neuen Users Home-Verzeichnis /home/ns2server und installieren Steamcmd für die Serversoftware.
su - ns2server wget http://media.steampowered.com/client/steamcmd_linux.tar.gz tar xvzf steamcmd_linux.tar.gz chmod +x steamcmd.sh ./steamcmd.sh
Ab jetzt folgen wir der offiziellen Anleitung von Valve, du kannst bei Problemen unsere Anleitung mit der Valve-Anleitung vergleichen. Aktuell brauchst du deinen eigenen Steam-Login, es ist noch nicht möglich mit login anonymous die AppID 4940 zu installieren.
Keine Angst: Du kannst trotzdem mit deinem Steam-Account auf deinen Server connecten & spielen. Deine SteamID ist mit der Server Installation nicht blockiert.
login dein-steamusername dein-steampassword force_install_dir ./ns2server/ app_update 4940 validate Strg+C
Der Server ist installiert, du brauchst ihn nur noch starten. Du solltest folgende Zeile nicht blind abschreiben, sondern IP, Port, Name, Limit, Webadmin User + Passwort und Webdomain (nochmal IP) sowie Port für deinen Server anpassen.
cd ./ns2server/ ./server_linux32 -ip 1.1.1.1 -port 27014 -map ns2_tram -name "Mein Paradis [Games4Linux.de]" -limit 26 -webadmin -webuser USERNAME -webpassword DEINSICHERESPASSWORT -webdomain 1.1.1.1 -webport 9999
That’s it. Dein Server sollte in der Serverliste zu Natural Selection mit gewähltem Servernamen zu finden sein. Das Web-GUI kann mit http://deine.ip.adresse.xx:9999/index.html aufgerufen werden. Für weiterführende Möglichkeiten der Startbefehle schaue in das offizielle NS2 Server Wiki und das NS2 Server Forum.
Linux Gameserver im Hintergrund?
Ja das ist möglich, und zwar noch einfacher als mit screen; benutze tmux. Wir empfehlen unser Tutorial „Anleitung: (Game-)Server im Hintergrund laufen lassen [tmux]„.
Linux GameServer auf einzelne CPU beschränken?
Auch das ist möglich mit taskset, teils auch nötig. Speziell der NS2 Server hat oft ein grauenvolles Multithreading, oder eher gar keins. Da wird die erste CPU vollgepumpt, und ca 5-10 % auf CPU2 ausgelagert. Vielleicht möchtest du aber dem GameServer die CPU 5-6 oder andere geben. Ja, das ist möglich.
So kannst du unter Linux dem Prozess fest ein oder mehrere Threads/CPUs zuweisen. Hier ein Bespiel um die Prozess-ID 22453 (-p 22453) auf maximal Core 4-7 (-c 4-7) mit taskset zu fixieren:
taskset -pc 4-7 22453
Fertig.