Inhaltsverzeichnis
HLDS aufsetzen
Installation Grundserver
So installiert man am Beispiel Counter-Strike 1.5 Mod, einen HLDS Server, ohne WON auf einem Linux-Server:
- Am besten erstellt man einen neuen Ordner in dem dann der Server installiert wird. Das geschieht mit
mkdir hlds_l
(einfach so auf der Konsole eingeben und Enter drücken). - In das neue Verzeichnis wechseln mit
cd hlds_l
Enter. - Es ist nun an der Zeit alle Daten auf den Server zu bekommen mit denen der Server installiert wird. Dafür sind die folgenden Dateien notwendig:
- hlds_l_3110_full.tar.gz
- hlds_l_3111e_update.tar.gz
- cs_15_full.tar.gz
- nowon2.pl
- Wir beginnen damit, das Pearl-Script
nowon2.pl
ausführbar zu machen. Am besten mitchmod +x nowon2.pl
hlds_l_3110_full.tar.gz
entpackencs_15_full.tar.gz
entpacken und den entpackten Ordnercstrike
in den Ordnerhlds_l
verschiebenhlds_l_3111e_update.tar.gz
in denhlds_l
-Ordner entpacken. Die alten Dateien dabei überschreiben lassen (ist ja ein Update)perl nowon2.pl hlds_l
ausführen- Wenn keine Fehler beim patchen aufgetreten sind seid ihr jetzt fertig mit der Installation.
Damit ist der nackte Server mit dem cstrike-Mod installiert und kann getestet werden:
Erster Server-Test
cd hlds_l
./hlds_run -game cstrike -nomaster +sv_lan 1 +maxplayers XX +map de_dust
- Der Server sollte jetzt starten und Verbindungen auf dem Standard-Port 27015 annehmen.
Mods installieren
Eigentlich ist der Grundserver kein CS-Server, sondern ein Half-Life-Server, allerdings mit dem entsprechenden Mod wird er zu einem. Außerdem ist der nackte Server ist ein wenig langweilig. Keine Server-Sounds, wenig administrative Möglichkeiten, Plugins gibt es keine, um z. B. Stats zu führen. Diese Mods verlangen allerdings die Installation von Metamod.
Metamod
Als erstes benötigt man den Metamod. Dieser ist unter http://www.metamod.org zu finden.
- Den Ordner
addons
(alsocstrike/addons
) anlegen - Darin kommt dann der Ordner
metamod
mit dem Metamod drin. So:cstrike/addons/metamod
. - Dann öffnet man die
liblist.gam
incstrike
und löscht den Eintrag (bzw. kommentiert ihn mit;
aus):gamedll_linux „dlls/cs_i386.so“
und schreibt anstelle dies hin:gamedll_linux „addons/metamod/dlls/metamod.so“
und speichern.
Damit müsste der Metamod laufen. Zum Testen kurz starten. Der CS-Server sollte ihn bereits nennen.
AMXmodX
amxmodx-1.60-base.tar.gz
und amxmodx-1.60-cstrike.tar.gz
nach cstrike/addons/
entpacken. Dann muss man lediglich noch in cstrike/addons/metamod/plugins.ini
folgendes eintragen: linux addons/amxmodx/dlls/amxmodx_mm_i386.so
. Den Server danach komplett neustarten und schon läuft auch der AMXmodX.
WAN-Patch
Der so installierte Server ist ein reiner LAN-Server. D. h., auf Verbindungen die nicht von einer IP im lokalen Netzwerk aus eingehen, reagiert der Server nur durch eine Meldung, dass er nur LAN-Verbindungen zulässt. Das kann man umgehen, indem man ihn patcht. Dazu kann man entweder selbst Hand anlegen, oder aber man benutzt das vorgefertigte File.
Manuell:
- Eine Datei mit dem Namen
nowon.c
erstellen, mit folgendem Inhalt:int NET_IsReservedAdr(){return 1;}
. - Die Datei muss nun compiliert werden, mit den folgenden Befehlen:
gcc -c nowon.c -o nowon.o
- Damit ist die Datei in Objekt-Code übersetzt und muss noch gelinkt werden:
ld -shared -o nowon.so nowon.o
- alternativ die vorkompilierte
nowon.so
verwenden - Jetzt muss die Datei
nowon.so
noch für den Server zugänglich platziert werden, z. B. im Stammverzeichnis des Servers. Sie muss natürlich auch noch vom Server aufgerufen werden. Dazu trägt man in die Dateihlds_run
folgendes nach dem Block mitexport
ein:export LD_PRELOAD=<PfadzurLibrary>/nowon.so
. Wenn die Datei im Stammverzeichnis liegt, entsprechend./nowon.so
als Pfadname. - Der Server sollte nun mit dem Befehlszeilenparameter
+sv_lan 1
gestartet werden.
VAC abschalten
Valve Anti Cheat ist auf CS 1.5 Servern ganz sicher nicht mehr aktuell. Dementsprechend kann man es auch gleich abschalten um Problemen vorzubeugen: secure 0
in die liblist.gam
eintragen.
Server listen lassen
Früher wurden so erstellte Server über das World Oppnent Network, kurz »WON« gelistet, welche widerum von CS-Clients von diesen Servern ausgelesen werden konnten. Die WON-Server wurden 2004 von Valve abgeschaltet, sodass die standardmäßig von CS 1.5 verwendeten Adressen nicht mehr funktionieren. Diese Lücke wurde durch das no-won-Projekt, bzw. Steamless-Projekt geschlossen.
Um den eigenen Server für die CS-Serversuche sichtbar zu machen ist die Liste in valve/valvecomm.lst
durch eine andere zu ersetzen. Die neue Datei gibt es unter http://www.no-won.net/valvecomm.lst. Die alte Datei ersetzen (ggf. vorher noch ein Backup machen, aber wirklich nützlich ist das nicht).
Clients müssen dasselbe mit der Datei valve/woncomm.lst
machen. Danach ist der Server über die übliche interne CS-Server-Suche sichtbar.
Plugins installieren
*.sma
Datei und*.amxx
Datei runter laden, die*.sma
s sind die Quellcodes, die*.amxx
' sind die compilierten Plugins. Zur Benutzung braucht man nur die*.amxx
.*.amxx
Datei in in$moddir/addons/amxmodx/plugins
platzieren ($moddir
ist für CS dascstrike
-Verzeichnis)$moddir/addons/amxmodx/configs/plugins.ini
öffnen- Zeile mit
plugin_whatever.amxx
hinzufügen, man kann da auch Kommentare dazu setzen, wenn der Plugin-Name nicht eh schon aussagekräftig ist. - Map wechseln, oder den Server neu starten
Jetzt sollte der Laden laufen.
Bei Problemen (z. B. für die falsche amx-Version), die #include
s im *.sma
-file ansehen. Evtl. fehlt auch nur etwas entsprechendes.
Wenn #include <vexd_utilities>
nicht vorhanden ist, mit #include <engine>
ersetzen
Es kann sein, dass sich der Code von from vexd_utilities
bei der Umsetzung in engine
geändert hat (z. B.: EntVars_Get_Vector
wurde zu entity_get_vector
).
Wenn das alles nichts hilft, im Forum nach Hilfe fragen.
Für *.sma
-Dateien gibt es auch einen online compiler, falls man kein *.amxx
-File gefunden hat.