Der Wechsel an sich, ist eigentlich recht unspektakulär.
Ich beziehe mich jetzt zuerst auf CS:S, da es noch vor TF2 released wird.
Es wird aber genau den gleichen Ablauf haben, es seiden Valve fällt noch irgendwas tolles zu dem TF2-Beta-Server ein. Dieser ist nämlich der einzige, dessen Client getrennt installiert werden kann und kein Opt-In wie CS:S besitzt. Wie sie selbst schreiben ist die TF2 Beta bereits konvertiert. Das kann jetzt bedeuten, dass die TF2-Beta das Beta-Stadium verlässt oder ein Server über eine ganz andere AppID installiert werden muss. Das werde ich mir aber erst nachdem CS:S konvertiert worden ist ansehen.
Jetzt zu CS:S
Der Beta-Server ist nach dem Steamupdate (clientseitige Zwangskonvertierung) die aktuelle Version. Der Server, welcher über hldsupdatetool installiert worden ist, kann nach dem Update nicht mehr verwendet werden. Beide Versionen sind zueinander inkompatibel. Soweit ich weiß, wird von SourceMod das update solange zurückgehalten, bis Valve die Server konvertiert hat.
CS:S hat z.B. zur Zeit die Version 10077. Sobald Valve das Pflichtupdate herausbringt, wird dann die aktuelle Version >= 1718178 sein. Clientseitig bleibt die AppID weiterhin 240. Der dedictaed Server wird über die AppID 232330 installiert. Um noch für mehr Verwirrung zu sorgen, hat sich Valve entschieden auch in der steam.inf die AppID des Clients anzugeben. Wer sich jetzt denkt, dass man zukünftig über die steamapi mit der AppID 232330 die Serverversion von CS:S checken kann, denkt falsch.
Zusammengefasst
Vorher
- Installation
|
Quellcode
|
1
|
./steam -command update -game "Counter-Strike Source" -dir SERVERDIR -verify_all
|
- srcds_run
|
Quellcode
|
1
|
SERVERDIR/css/srcds_run
|
- maps und anderer content
|
Quellcode
|
1
|
SERVERDIR/css/cstrike/
|
- addons
|
Quellcode
|
1
|
SERVERDIR/css/cstrike/addons
|
Danach
- Installation
|
Quellcode
|
1
2
3
|
./steamcmd.sh +login anonymous +force_install_dir SERVERDIR +app_update 232330 validate +quit
#alternativ
./UpdateTool.sh -command update -game 232330 -dir SERVERDIR -verify_all
|
- srcds_run
|
Quellcode
|
1
|
SERVERDIR/srcds_run
|
- maps und anderer content
|
Quellcode
|
1
|
SERVERDIR/cstrike/custom/xxxxx/
|
- addons
|
Quellcode
|
1
2
3
|
SERVERDIR/css/addons
#und auch
SERVERDIR/cstrike/custom/xxxxx/addons
|
Ich kann nur jedem, der seine Server selbst updatet, dazu raten jetzt schon die Betaversion zu laden. Es spart Zeit bei der Umstellung. Leute mit Single-Server-Installationen können die Server dann ja auch einfach kopieren. Zumindest wird es zum CS:S- und TF2-Update mehr Traffic als bei DOD:S und HL2DM geben.
Ich wollte eigentlich schon längst ein Script zu Konvertierung geschrieben haben. Leider musste das bis jetzt hinten anstehen.
Da ich für einen Provider eh die Konvertierung vorbereiten muss, werd ich das hier auch posten.
Beim Konvertieren gehe ich folgendermaßen vor:
- Serverdateien mit einer Dateiliste von einem frisch installierten alten Server löschen (mapcycle.txt, motd.txt und maplist.txt ausschließen)
- logdateien löschen (braucht eh kein Mensch)
- Dateien mit der Endung ztmp löschen
- leere Verzeichnisse löschen
- neuen Server in den zu konvertierenden kopieren (ich machs mit Symlinks)
- css/cstrike/addons nach cstrike/addons verschieben
- css/cstrike/*.txt nach cstrike/ verschieben
- css/cstrike/cfg/*.cfg nach cstrike/cfg verschieben
- Verzeichnis in cstrike/custom erstellen z.B. content
- die Verzeichnisse maps, materials, models, sound, particles, ressources, usw.. von css/cstrike/ nach cstrike/ verschieben
- ggf. css rekursiv löschen
- Server starten und gucken welche Plugins nicht gehen!
Ich hab mal jetzt so alles aus dem Kopf aufgeschrieben, was mir eingefallen ist. Ich habe z.B. bei der ersten Konvertierung vergessen maplist.txt, mapcycle.txt und motd.txt zu excludieren. Das sind z.B. Serverdateien, die der Admin im Nachhinein ändert. Die server.cfg und autoexec.cfg existieren noch nicht bei der Installation eines CS:S-Servers.
Ich kann auch nur jedem raten sich nicht auf das tool steamcmd zu verlassen. Ich habe mir jetzt sicherlich mehrere Monate die Zeit mit diesem Tool verbraucht. Das Tool von Didrole arbeitet vernünftig, hat eine bessere Ausgabe und das beste ist: Es updatet sogar die Server!
Das kann man auch mit steamcmd erreichen, wenn man Glück hat. Des weiteren kann man mit Didrole auch besser kommunizieren und er wird sobald er Zeit hat sein Tool updaten, damit man auch die Mods dmc, tfc, dod usw. installieren kann. Valve hat sich HL1-Mods wieder eine Sonderlösung ausgedacht. Zur Installation der Mods, wird der Server mit der AppID 90 installiert und zusätzlich muss dem Updater auch vorher mit z.B. app_set_config 90 mod dmc der Mod mitgeteilt werden. Supereinfache Lösung finde ich. Man kann sogar mehrere HL1-Mods mit dem Server gleichzeitig installieren!!
Das sieht dann so aus:
|
Quellcode
|
1
|
./steamcmd.sh +login anonymous +force_install_dir SERVERDIR +app_set_config 90 mod "czero,dmc,dod,gearbox,ricochet,tfc" +app_update 90 validate +quit
|
Ist doch supereinfach und einprägsam gelöst oder was meint Ihr dazu?
Das müsst ihr bis zur nächsten Woche auswendig lernen