
Gehen wir der Einfachheit halber trotzdem mal die Schritte als root durch,
die Dateirechte können auch später noch geändert werden.
Zuerst brauchen
wir die beiden Pakete des Half-life Servers und für Counter-Strike, aktuell
sind das hlds_l_3108_full.tar.gz und cs_13_full.tar.gz. - diese beiden Dateien
sollten sich schon auf dem Linux System befinden.
Als
Installationsverzeichnis wählen wir /usr/local/halflife, dort
muss allerdings genügend Platz vorhanden sein, bei mir braucht eine
Installation über 300 MB - also nicht zu knapp bemessen. In dieses Verzeichnis
kopieren/verschieben wir jetzt die beiden oben genannten Dateien.
Die
folgenden Schritte entpacken den kompletten Half-life Server und das
Counter-Strike MOD in die jeweiligen Verzeichnisse: cd
/usr/local/halflife
tar xvzf hlds_l_3108_full.tar.gz
cd hlds_l
tar
xvzf ../cs_13_full.tar.gz
Der Linux HL-Server braucht die Datei
namens libhlwon.so in einem Verzeichnis, daß das Linux System
standardmäßig nach sogenannten dynamischen Libraries durchsucht - um dies
sicherzustellen, kann man entweder dem System sagen, wo es diese Dateien
suchen soll, dazu muß man das HL-Verzeichnis
/usr/local/halflife/hlds_l in die Datei
/etc/ld.so.conf aufnehmen; oder aber, man kopiert die
libhlwon.so einfach in ein Verzeichnis, welches schon vom System
durchsucht wird. Dafür bietet sich z.B. /usr/local/lib an.
Anschließend muß auf jeden Fall root ldconfig ausführen, damit das System die
WON-Library laden kann. Nach den beiden oben genannten Schritten ist diese
Datei dem System auch nach einem reboot noch bekannt.
zu 1.) Server hat eine gültige
IP im Internet
Wir starten
den CS-Server mit den folgenden Befehlen: cd
/usr/local/halflife/hlds_l
./hlds_run -game cstrike +maxplayers 12 +map de_dust
Dies startet einen Counter-Strike Server für maximal 12
Spieler mit der map de_dust. Falls alles geklappt hat, sollte irgendwann
WON Auth Server
...
erscheinen, d.h. der
Server hat sich beim WON Masterserver angemeldet und ist erreichbar. Jetzt
kann man auf dieser Konsole mit dem Befehl status die Daten des
Servers anzeigen lassen - in unserem Beispielfall sollte dort folgendes
Erscheinen: hostname: Counterstrike 1.3
version :
45/4.1.0.8 1789
tcp/ip :
111.222.33.44:27015
map : de_dust at: 0 x, 0
y, 0 z
players: 0 active (12 max)
zu 2.) Der Server steht im LAN
mit internen IP
Wir starten
den CS-Server mit den folgenden Befehlen: cd
/usr/local/halflife/hlds_l
./hlds_run -game cstrike -nomaster +sv_lan 1 +maxplayers
12 +map de_dust
Dies startet einen Counter-Strike
Server für maximal 12 Spieler mit der map de_dust. Dabei wird keine Verbindung
zu einem Masterserver aufgebaut, der Server erscheint auch nicht in der
WON-Liste. Falls alles geklappt hat, sollte irgendwann Auth
Server
...
erscheinen, d.h. der Server ist im internen
Netzwerk erreichbar. Jetzt kann man auf dieser Konsole mit dem Befehl
status die Daten des Servers anzeigen lassen - in unserem
Beispielfall sollte dort folgendes Erscheinen: hostname:
Counterstrike 1.3
version : 45/4.1.0.8 1789
tcp/ip :
192.168.1.1:27015
map : de_dust at: 0 x, 0 y,
0 z
players: 0 active (12 max)
quit auf der Serverkonsole wieder beenden. Einstellungen wie der
Hostname des Servers und Befehle zum Spielverhalten finden sich in der Datei
server.cfg.
Hier eine kommentierte Beispieldatei://
automatisches Zielen deaktiviert
sv_aim "0"
// Cheats
deaktiviert
sv_cheats "0"
// Clients dürfen das Spiel nicht
pausieren
pausable "0"
// hostname des Server
hostname "Tutorial
Testserver Counter-Strike Beta 6.1"
// maximale Geschwindigkeit der
Spieler
sv_maxspeed "320"
// Dauer einer map in Minuten
mp_timelimit
"35"
// FF ist an!
mp_friendlyfire "1"
// Granaten verletzen eigenes
Team
mp_friendly_grenade_damage "1"
// lowlag Eintrag für
Internet-Server, für LAN weglassen
mp_lowlag "1"
// Dauer einer Runde in
Minuten
mp_roundtime "5"
// Dauer in Sekunden bis C4
explodiert
mp_c4timer "45"
// Maximaler ein Spieler
Überzahl
mp_limitteams "1"
// kein Autokick für "idle
Clients"
mp_autokick "0"
// Chasecam deaktiviert - freie Bewegung durch
die Map
mp_chasecam "0"
// Logfiles werden geschrieben ("+log on" in der
Kommandozeile)
mp_logfile "1"
// Teams werden automatisch angeglichen
bei Überzahl
mp_autoteambalance "1"
// Taschenlampe darf benutzt
werden
mp_flashlight "1"
// Stillstand zu Beginn einer Runde in
Sekunden
mp_freezetime "6"
// Evtl. vergebenes Passwort für den
Server
sv_password "private"
// Teamkills werden mit Aussetzen
bestraft
mp_tkpunish "1"
// Bei 2 Hostagekills vom Server
kicken
mp_hostagepenalty "2"
// WICHTIG! rcon Passwort für
Fernadministrierung
rcon_password "XXX"
mapcycle.txt, in der die zu spielenden maps
aufgelistet sind. Solch eine Datei sollte bereits im cstrike-Verzeichnis
vorhanden sein, diese Datei könnte man im Prinzip unverändert übernehmen.
cstrike/maps befinden, allerdings ohne die Endung
".bsp". Eine Beispieldatei wäre:
de_dust
as_oilrig
cs_militia
de_nuke
es_jail
cs_siege
server.cfg
vergebene rcon Passwort.rcon_password XXX ein, jetzt kann man alle Befehle, die
man auf der Serverkonsole ausführen kann, mittels rcon
Befehl eingeben. Diese Werte werden allerdings teilweise nach
einem mapchange von den Standardwerten in der server.cfg überschrieben, falls sie fest bleiben
sollen, müssen sie also dort auch noch geändert werden. rcon kick Blaster um den
Spieler mit dem Namen Blaster vom Server zu kicken. Dieser Spieler
könnte danach sofort wieder auf den Server kommen, er ist nicht gesperrt. Da
einige Spieler aber gerne kompliziertere Namen als "Blaster" haben, bekommt
man mit rcon users eine Liste der Spieler auf dem Server samt
einer UserID und einer sogenannten UniqueID, die für jeden Spieler einzigartig
sein sollte und sich u.a. aus dem CD-Key zusammensetzt: userid :
uniqueid : name
------ : -------- :
----
1086 : 15815812 :
Blaster
1063 : 1457894 :
Player
1071 : 16484512 :
Mastakillah
1011 : 24687875 :
[DER]Depp
1044 : 54787534 : Bernd
Salami
1039 : 1465766 : da lamer
6 users rcon kick Player oder
rcon kick # 1063. Die zweite Methode ist die sicherere, da z.B.
Leerzeichen in Spielernamen nicht eingegeben werden können.
Wenn ein Spieler aber permanent nervt und man ihn nicht mehr auf dem Server
spielen lassen möchte, dann muß man ihn bannen. Dazu benutzt man die
UniqueID, die zwar umständlicher einzugeben ist, dafür aber für jeden Spieler
unterschiedlich sein sollte, d.h. man bannt nicht den Falschen: rcon
banid 20 15815812 kick verbannt den Spieler "Blaster" für 20 Minuten
vom Server und kickt ihn direkt, danach kann er wieder auf dem Server spielen
- wenn ein Spieler mit einem dauerhaften Bann belegt werden soll, muß der
Wert, der hier im Beispiel auf "20" steht, auf "0" gesetzt werden.
Um diese
Banns auch beim nächsten Start des Servers aufrecht zu erhalten, fügt man noch
ein rcon
writeid hinzu, dieser Befehl schreibt eine Datei namens
banned.cfg, in der die Banns einzeln aufgeführt sind. Wenn man jetzt noch die
Zeile exec banned.cfg ans Ende der server.cfg anfügt, dann sind die Banns nach dem
Neustart wieder aktiv.
Falls sich ein Spieler schuldig bekennt und man ihn wieder spielen lassen
möchte, genügt der Befehl rcon removeid uniqueID -
zusätzlich sollte der Eintrag noch aus der banned.cfg entfernt
werden. Die gebannten IDs bekommt man mit rcon
listid heraus,
wenn man nach IP Adressen gebannt hat geht das mit den Befehlen
listip und removeip.
Übersicht der Commands (für Configfile, rcon und Serverkonsole)
|