Genau. Du könntest auch mit Symlinks arbeiten. So müsste der Server physikalisch nur einmal auf dem Server vorhanden sein.
Du installierst einen Server nackt, ohne alles.
Danach verwendest du den Befehl:
|
Source code
|
1
2
|
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server1
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server2
|
So hast du jetzt die beiden Verzeichnisse server1 und server2.
Dateien die bearbeitet werden sollen, sollten bei den verlinkten Servern gelöscht werden und die Dateien selber erstellen oder die Vorlage vom Haupserver zum kopierten Server kopieren.
In der Praxis sieht das dann so aus, dass du zuerst bei den verlinkten servern folgende Dateien löscht:
gameinfo.txt, mapcycle.txt,
maplist.txt, motd.txt, cfg/autoexec.cfg (kann sein, dass ich was vergessen habe) server.cfg muss selber erstellt werden. Die maplist.txt kannst du durch ein script automatisch erstellen lassen.
Danach kopierst du folgende Dateien vom Hauptserver zum verlinkten Server (keine Symlinks): gameinfo.txt, motd.txt
Die Dateien autoexec.cfg, server.cfg und mapcylce.txt kannst du für beide Server selber erstellen.
Wenn du jetzt z.B. Maps für beide Server hinzufügen willst, kannst du diese zum Hauptserver hin kopieren und dann die Links neu auffrischen:
|
Source code
|
1
2
|
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server1 2>/dev/null
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server2 2>/dev/null
|
So werden Symlinks, die noch nicht vorhanden sind erstellt. Dateien werden nicht überschrieben. Da viele Fehler auftreten werden (fast alle Dateien sind vorhanden), ist es sinvoll die Fehlerausgabe mittels 2> nach /dev/null umzuleiten.
Um beide Server upzudaten muss nur der Hauptserver aktualisiert werden.
Also:
|
Source code
|
1
|
./steam -command update -game cstrike -dir /home/deinhome/HAUPTSERVER/ -retry
|
Es kommt es öfteren vor, dass neue Dateien nach einem Update vorhanden sind. Wenn die Symlinks nicht aufgefrischt werden kann es zu komischen Fehler kommen. Ich hatte z.B. mal das Problem, dass ich damals auf meinem Server bei de_nuke (Map kam neu raus) durch sämtliche Models laufen konnte. Die neuen Models fehlten bei den verlinkten Servern. Mittels des Kopierbefehls habe ich dann eben die Symlinks meiner Server aufgefrischt. Große Game-Server-Provider machen es auch so. Mittlerweile habe ich das auf meinem Root seit fast 2 Jahren vollständig automatisiert (Update um 23-8 uhr morgens stündlich, Links neu auffrischen und ein gemeinsamer Mappool mit automatischer komprimierung für den Fastdownload).
Wenn man sich erstmal eingearbeitet hat, ist es hinterher ein Kinderspiel die Server up-to-date zu halten. Während andere jeden Server einzeln updaten und mit Verbindungsabbrüchen zu kämpfen haben, musst du nur einen Server updaten. Wenn es verschiedene Mods sein sollen, ist auch das kein Problem. Es ist die gleiche vorgehensweise. Der positive Nebeneffekt ist auch, dass bei einem Update zwar z.B. die gameinfo.tx t immer neu heruntergeladen wird, aber die Datei (kein Symlink) bei den verlinkten Servern bleibt unverändert. So bleibt auch das abändern der gameinfo.txt (falls Metamod erwünscht ist) nach jedem Update aus.
Der Aufwand lohnt sich. Vielleicht schreibe ich noch später dazu ein größeres Tutorial.