Gameserver Installationsscript

07/13/2013 20:41 Killerkarnickel#1
Hallo Community.

Heute hab ich meine Gameserver Scripts online gestellt auf Sourceforge. Da es eine internationale Seite ist hab ich die Skripte nun ins Englische übersetzt. Hier der Link zum Projekt: [Only registered and activated users can see links. Click Here To Register...]

Derzeit unterstützt werden folgende Spiele

HL1
Counter-Strike 1.6|Counter-Strike: Condition Zero|Day of Defeat

HL2
Counter-Strike: Source|Counter-Strike: Global Offensive|Team Fortress 2
Day of Defeat: Source|Left 4 Dead 2|Garrys Mod

Minecraft
Minecraft Server Version 1.6.1

Edit:

Jetzt hab ich auch die deutsche Version hochgeladen allerdings muss man die Manuell installieren (siehe ReadMe oder Wiki auf SourceForge). Muss erst den Installer umschreiben. Hier der Link [Only registered and activated users can see links. Click Here To Register...]


LG
Killerkarnickel aka. John Hannibal Smith
07/13/2013 21:36 Shadow|Ghost#2
Könnte einigen Leuten helfen.

Danke dafür, ich brauch es zwar nicht aber ist dennoch eine Nette Sache.
07/13/2013 22:12 Killerkarnickel#3
Jo gerne ich hatte es schön länger aber ich habs nie veröffentlicht... ka wieso :D
07/14/2013 00:38 Autrux#4
Ist eigentlich ganz nett.

Ich werde es mal später ausprobieren. :)
07/14/2013 08:01 Killerkarnickel#5
Jo wie geschrieben die deutsche Version muss man Hals noch manuell installieren aber sollte kein Problem sein.

Kurze Beschreibung wie das Skript genau arbeitet.

Also man muss das Skript gs_installer.sh (Bsp. ./gs_installer.sh install_hl1 ) als Root ausführen. Dies hat einen einfachen Hintergrund: Es soll nicht jeder User Gameserver installieren können. Nur der User Root kann also Gameserver installieren. Ansonsten kommt nach der Eingabe der Felder User, IP Adresse, Port und Spiel Die Fehlermeldung "Installation nur ueber den Root User erlaubt!"

Sobald man als Root die Informationen User, IP Adresse, Port und Spiel eingegeben hat legt das Skript auch schon los.

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

Zuerst überprüft es ob das Verzeichnis /home/<User>/server existiert.
Wenn nicht erstellt er es.

Danach erstellt er ein weiteres Verzeichnis nämlich /home/<User>/server/xxx.xxx.xxx.xxx_game_port (Bsp. 123.456.789.012_css_27015 das XXX wird durch die IP ersetzt). Dies ist dann der Pfad wohin er den Gameserver installiert.

Nach dem er den Server herunter geladen hat erstellt er im Ordner xxx.xxx.xxx.xxx_game_port 3 Datein (Bei HL1 Spielen 4).

.start >>Diese Datei führt man einfach als normaler User aus und der Gameserver wird gestartet. Wenn es als Root ausgeführt wird wechselt das Script mittels su auf den richtigen User

.stop >>Stoppt den Gameserver

.restart >>Restartet den Gameserver

.varcfg >>Konfigurationsdatei mit den ganzen Startparametern. Eigentlich muss man daran nichts ändern außer diese Variablen:

GS_MAP, GS_MAXPLAYERS und GS_FASTDL_URL (wenn kein Fastdl vorhanden einfach auf "" setzen)
bei CSGO zusätzlich: GS_GAMEMODE, GS_GAMETYPE und GS_MAPGROUP
Bei L4D2 zusätzlich: GS_GAMEMODE

[Only registered and activated users can see links. Click Here To Register...]

.update >>Nur bei HL1 Servern da hier das Autoupdate seitens Valve noch nicht richtig funktioniert.

Nach dem ersten Gameserverstart muss man den Server gleich neu starten, da er nach dem ersten Start nur im LAN Modus verfügbar ist (Liegt an Steam).

Beim ersten Gameserverstart erstellt er außerdem im Ordner /home/.STEAMCMD/scripting eine Updatedatei die er bei jedem Gameserverstart aufruft: Autoupdate! Die Datei heißt update_xxx.xxx.xxx.xxx_game_port (XXX wird durch die IP ersetzt)

der Gameserverstart/Restart sieht ungefähr so aus das Bild ist leider etwas älter sprich nicht mehr ganz aktuell:

[Only registered and activated users can see links. Click Here To Register...]

Damit dies alles richtig funktioniert müssen die ganzen Rechte der Datein stimmen siehe ReadMe Datei bzw. [Only registered and activated users can see links. Click Here To Register...].

Durch die IP Präfix beim Ordner und in der Updatedatei ist Multi IP Support gegeben.

Diese Skript ist natürlich nur für Leute ohne Webinterface gedacht ;)

LG
07/14/2013 13:14 マリブ#6
Hab das Script schon seit Januar ca.
Ist besser als ein Webinterface q:
07/14/2013 13:20 Killerkarnickel#7
Jupp :P übrigens das hier ist jetzt neuer als das was du jetzt von mir hast. musst mal gucken.

Wie oben schon gesagt es unterstützt jetzt

HL1
-Counter-Strike 1.6
-Counter-Strike: Condition Zero
-Day of Defeat

HL2
-Counter-Strike: Source
-Counter-Strike: Global Offensive
-Team Fortress 2
-Day of Defeat: Source
-Left 4 Dead 2
-Garrys Mod

Minecraft
-Minecraft Server Version 1.6.1

Bei dir ist glaub ich noch nicht so viel drinnen
07/17/2013 11:47 Killerkarnickel#8
@Autrux schon getestet? :P
07/17/2013 12:22 Gaming-Beast#9
@Killer

Dann habe ich auch ne ältere Version von dir ?
Und was kann das sein das durch dein Restart Teil die Server ziemlich oft den Port wechseln weil angeblich der Port noch in Verwendung ist, aber kein Screen vorhanden ist. Muss jedesmal per Befehl bzw jetzt Script die Ports killen xd
07/17/2013 12:34 Killerkarnickel#10
Deins ist noch älter ja. Versuch gawk zu installieren (apt-get install) und schreib bei jeder .varcfg bei den startparametern -nohltv dazu (am besten hinter autoupdate). Dann sollte er keine Ports für Sourcetv öffnen. Dann verschieben sich die Ports auch nicht mehr. Restarte mal den ganzen Root vllt läuft irgendwo im Hintergrund noch ein srcds Prozess

Schick nochmal deine ts3 Daten dann komm ich nochmal vorbei
07/17/2013 13:19 Autrux#11
Quote:
Originally Posted by Killerkarnickel View Post
@Autrux schon getestet? :P
Noch gar nicht dazu gekommen. :D

Ich werde es jetzt mal ausprobieren.
07/17/2013 13:26 Killerkarnickel#12
ok^^ wie gesagt bitte auf die Install Anleitung achten sonst könnten Fehler auftreten (Bsp. er findet die Updatedatei nicht oder ähnliches) :P
07/17/2013 13:53 Autrux#13
Hat super geklappt. :)

Mal schauen, ob ich es jetzt immer nutze.
07/17/2013 13:59 Killerkarnickel#14
ist das mit der .varcfg halbwegs verständlich oder sollte man das besser erklären? (die ganzen Variablen und co)^^

PS: FastDL URL unbedingt angeben in der .varcfg. Sonst nimmt er immer den URL der da drinnen steht, danach die fastdl.cfg im cfg Ordner löschen

Ps für Autorestart der Server einfach einen Cronjob anlegen der die Restartdatei zum Beispiel um 4 Uhr in der Früh ausführt :)
07/17/2013 14:11 Autrux#15
Quote:
Originally Posted by Killerkarnickel View Post
ist das mit der .varcfg halbwegs verständlich oder sollte man das besser erklären? (die ganzen Variablen und co)^^

PS: FastDL URL unbedingt angeben in der .varcfg. Sonst nimmt er immer den URL der da drinnen steht, danach die fastdl.cfg im cfg Ordner löschen

Ps für Autorestart der Server einfach einen Cronjob anlegen der die Restartdatei zum Beispiel um 4 Uhr in der Früh ausführt :)
Das mit dem Cronjob usw. weiß ich schon. ;)

Das mit der varcfg. ist eigentlich einfach, wenn man es gewohnt ist.
Für Neulinge wird es sehr wahrscheinlich etwas schwerer sein.