Linux Quake3 Server
Index
Installation
=========
Die Installation sollte als root durchgeführt werden, kann aber auch
durch einen normalen User durchgeführt werden, jedoch müssen dann
bei der Installation die Pfade angepasst werden.
1. Aktuelle Linux Version von Quake 3 Arena von der offiziellen Seite laden:
ftp://ftp.idsoftware.com/idstuff/quake3/linux/
2. Eine Konsole öffnen und im selben Verzeichnis in dem die neue Datei
abgelegt ist, folgendes eingeben:
> sh linuxq3apoint-1.30.x86.run
oder die jeweilige *.run Datei, falls es bereits eine neuere Version geben
sollte.
3. Nach einer kurzen Weile erscheint dann auch die Userlizenz, die man sich
auch kurz durchlesen kann, oder mit q abbrechen kann. :-)
4. Danach erscheinen diverse Fragen, die jeweils mit Enter/Return bestätigt
werden. Wenn eine leere Zeile bestätigt wird, nimmt das Setup die Standardwerte
die in Klammern angegeben werden. Bei mehreren Möglichkeiten wird jeweils
die Standardantwort groß geschrieben (z.B. [Y/n]).
1. Die Lizenz sollte man annehmen - Y.
2. Der Standard-Installationspfad sollte für jede Distribution in Ordnung
sein.
3. Der Pfad für die symbolischen Links sollte auch in Ordnung gehen.
4. Wenn man die AddOn-CD zur Verfügung hat, kann man die Frage mit y
beantworten. Ansonsten für einen Standardserver die Standardantwort (N)
nehmen.
5. Bei dieser Frage umbedingt mit y bestätigen. Dies installiert den
Server, den man schlussendlich auch per Konsole starten kann und keine X-Oberfläche
benötigt.
6. Wenn man eine graphische Oberfläche auf dem Server zur Verfügung
hat, und Desktopverknüpfungen für das Spiel selber (nicht den Server)
will, kann man mit Y bestätigen, sonst N.
5. Danach startet mit einem weiteren bestätigen der Yes-Antwort die Installation.
Nach einer kurzen Weile ist die Installation der aktuellen Patchdaten und
der Quake3 Version inkl. Server auch schon abgeschlossen.
6. Nun wird die Q3 CD benötigt.
Nachdem die CD eingelegt ist, mit "mount /cdrom" diese mounten.
Danach mit folgendem Befehl die Daten kopieren:
> cp /cdrom/Quake3/baseq3/* /usr/local/games/quake3/baseq3
Wenn man Quake in ein anderes Verzeichnis installiert hat, den Befehl natürlich
anpassen. :-) Das baseq3 dahinter wird in jedem Fall benötigt.
Das kann auch schon ein paar Minuten dauern, da etwa 500 MB kopiert werden.
Das beinhaltet auch die Maps, welche der Server zwingend benötigt.
Wenn ich jetzt meine Q3TA CD finden würde, könnte ich auch dessen
Kopiervorgang beschreiben. Aber dieser sollte etwa so sein:
> cp /cdrom/Quake3/missionpack/* /usr/local/games/quake3/missionpack
Der Pfad "/Quake3/missionpack" kann anders sein, da ich eben die
besagte CD nicht finde. Falls er nicht stimmen sollte, kann er mit "find
/cdrom | grep -ie pak0.pak" (ohne Anführungszeichen) gefunden werden.
7. Zum Test kann der Server nun als User mit
> cd /usr/local/games/quake3
> ./q3ded +map q3dm17
gestartet werden.
Er sollte nun mit der Map q3dm17 starten und auch schon im Netzwerk auffindbar/spielbar
sein.
Beendet wird er mit dem Kommando quit.
Konfiguration
===========
Für die Konfiguration wird eine Serverconfig Datei erstellt, welche dann
beim Starten angegeben wird.
Hier
findet man eine Datei mit mehreren solchen config Dateien für verschiedene
Spielmodi.
Man sollte eine Datei namens server.cfg im Q3-Unterverzeichniss baseq3 (oder
missionpack, falls dieses für TeamArena gelten soll) erstellen. Eine
einfache Serverconfig kann man mit dem User der auch die Installation durchgeführt
hat mit folgenden Befehlen erstellt werden:
cat > /usr/local/games/quake3/baseq3/server.cfg << "EOF"
fraglimit 10
timelimit 10
map q3dm17
EOF
Erklärung der einzelnen Befehle in den config files:
g_gametype [Zahl] Wählt die Spielart:
0 = Free For All, Deathmatch
1 = Tournament 1 on 1
2 = Single Player
3 = Team Deathmatch
4 = Capture the Flag
5 = One Flag CTF (Team Arena ONLY)
6 = Overload (Team Arena ONLY)
7 = Harvester (Team Arena ONLY)
g_motd [Message] Wählt die "Message of the Day", wird beim
Joinen im Server angezeigt.
fraglimit [Zahl] Setzt das Fraglimit, bis zum nächste Level oder neu
gestartet wird.
timelimit [Minuten] Setzt die Anzahl Minuten, bis zum nächste Level oder
neu gestartet wird.
capturelimit [Zahl] Setzt die Anzahl Captures, welche in CTF getätigt
werden müssen, bis zum nächste Level oder neu gestartet wird.
sv_hostname [Name] Name des Servers (z.B. sv_hostname "Super Q3 Server").
sv_maxclients [Zahl] Maximale Spieleranzahl auf dem Server (inkl. Bots).
sv_pure [0/1] Wenn pure server auf 1 ist, werden keine Spieler zugelassen
welche mehr/andere PK3 Dateien besitzen, als sich auf dem Server befinden.
Dies wurde Aufgrund geänderter Spielerdateien (Fadenkreuze, Texturen,
Models, ...) eingeführt um cheaten zu verhindern.
g_friendlyFire [0/1] Auf 1 gestellt, können sich Teamplayer gegenseitig
Schaden zufügen.
sv_privateClients [0/1] Bei 1 wird das sv_privatePassword beim Beitreten auf
dem Server verlangt.
sv_privatePassword [Passwort] Setzt das Passwort auf dem Server fest.
g_allowvote [0/1] Bei 1 dürfen die Spieler auf dem Server für Maps
und anderes voten.
sv_maxRate [Zahl] Maximale Bandbreite die einem Client zugestanden wird. Mögliche
Werte: 0 bis 25000, 0 = kein Limit (Standard: 0)
Damit auch Modem-Spieler einen flüssigen Spielablauf haben, sollte hier
ein Wert zwischen 8000 und 10000 eingestellt werden.
g_quadfactor [Zahl] Schadens-Multiplikator für das Quad Damage (Default:
3). Dezimalwerte sind möglich (z.B. 0.25).
g_syncronousClients [0/1] Mit SyncronousClients kann man es den Clients erlauben
das Spiel aufzuzeichnen (Demo Recording). Durch den erhöhten Bedarf an
Bandbreite kann u.U. ein flüssiges Spiel nicht mehr gewährleistet
werden.
Es wird empfohlen, diese Einstellung in der Regel nicht einzuschalten. 1 =
An, 0 = Aus (Standard: 0).
g_weaponrespawn [Sekunden] Weapon Respawn Time in Sekunden (bis die Waffen
nach dem Aufsammeln wieder erscheinen).
Muss evtl. verringert werden bei einer grossen Anzahl Clients. (Standard:
5).
sets "Administrator" [Text]
sets "Email" [Text]
sets "URL" [URL]
sets "Location" [Text]
sets "CPU" [Text]
sets "mappack" [Url] Hier können zusätzliche Angaben gemacht
werden, die im Multiplayer-Dialog von Quake 3 angezeigt werden.
Falls z.B. spezielle Maps verwendet werden, ist hier der geeignete Platz wo
wir angeben, von welcher URL diese heruntergeladen werden können.
Dies sind die Grundbefehle. Es gibt noch weitere Befehle, Anleitungen dazu
findet man in den Config-Dateien oder auf anderen Q3 Webseiten (z.B. http://www.config-world.uklinux.net/q3/1.shtml
- Englisch)
Map/GameType Rotation:
In Quake 3 wird Map Cycling oder Map Rotation - also dass verschiedene Maps
oder auch Spielarten nach beendigen des Levels starten - durch setzen von
diversen Variablen ermöglicht.
Eine einfache Map Rotation wird durch folgende Erweiterung in der Server config
ermöglicht:
set d1 "map q3dm1 ; set nextmap vstr d2"
set d2 "map q3dm2 ; set nextmap vstr d3"
set d3 "map q3dm3 ; set nextmap vstr d1"
vstr d1
Dabei wird zuerst d1 ausgeführt (mit vstr d1) und dann nextmap auf vstr d2 gesetzt, damit dieses dann ausgeführt wird. Somit rotiert d1 -> d2 -> d3 -> d1 u.s.w.. Es wird jeweils nur eine neue Map geladen (q3dm1 -> q3dm2 -> q3dm3).
Eine etwas kompliziertere Rotation wäre etwa diese:
set d1 "fraglimit 15 ; timelimit 10 ; g_gametype 0 ; map q3dm1 ; set
nextmap vstr d2"
set d2 "fraglimit 150 ; timelimit 15 ; g_gametype 4 ; capturelimit 3
; map q3ctf2 ; set nextmap vstr d3"
set d3 "fraglimit 150 ; timelimit 15 ; g_gametype 4 ; capturelimit 3
; map q3ctf3 ; set nextmap vstr d1"
vstr d1
Dabei wird zuerst mit Fraglimit 15, Timelimit 10 ein Free For All in der Map
q3dm1 gestartet, und danach geht ein CTF Game mit anderen optionen in q3ctf2
weiter. Nach der dritten Map geht es wieder zum ersten FFA Game zurück.
Eine komplette Map Rotation durch alle Free For All Maps bietet GameCycle.Server.cfg.
--------------------------------------------------------------------------------
Server Starten
============
Da man wahrscheinlich gerne wieder an einem späteren Zeitpunkt auf die
Quake Server Konsole zugreifen möchte, verwenden wir hier das Proramm
Screen, welches ermöglicht auch nach einem Ausloggen (zum Beispiel aus
dem Telnet, oder (Open)SSH ;o)) wieder auf das Programm zurückzugreifen.
Dies Startet man nun mit:
> cd /usr/local/games/quake3
> screen ./q3ded +set dedicated 2 +exec server.cfg
Der Server startet nun in Screen und Screen kann jederzeit mit den Tastenkombinationen [Strg] + A und [Strg] + D verlassen werden und auch mit dem Befehl "screen -r" wieder geöffnet werden!
Falls das System meldet, dass Screen nicht gefunden wurde, sollte man es Installieren, oder mit folgendem Befehl ohne Screen starten:
> ./q3ded +set dedicated 2 +exec server.cfg &
Dabei wird der Server ohne Eingabemöglichkeit gestartet, und muss auch mit kill [pid] oder killall q3ded beendet werden!
Kommandozeile:
Es sollte mindestens dedicated angegeben werden, es gibt aber noch weitere Einstellungen die man beim Start angeben kann.
dedicated [1/2] Gibt den Modus des Servers an:
1 = Quake startet als LAN-Server, welcher sich nicht beim Masterserver meldet.
2 = Startet Quake für das Internet und kündigt sich als Server an,
damit man ihn in der Serverliste und im Gamespy findet.
Dabei ist zu beachten, dass auf dem Server auch im LAN-Modus über das
Internet gespielt werden kann!
net_ip [IP Addresse] Wählt eine Bestimmte IP Adresse. Nur nötig
wenn dem Server mehrere IPs zugewiesen sind.
net_port [Port] Wählt den Port des Quake Servers; sinnvoll wenn mehrere
Quakeserver auf dem gleichen Server laufen, oder der standard Quake Port (27960)
nicht verfügbar ist.
set fs_game [Mod-Name] Wählt eine Mod für Quake, jeweils ein Unterverzeichnis
im Quakeverzeichnis. Standardmäßig ist baseq3 hier gewählt.
WICHTIG FÜR TEAM ARENA - es muss +set fs_game missionpack angegeben werden!
Für alle TA-Modes!
Beispiele für den Start:
> screen ./q3ded +set dedicated 1 +exec server.cfg
Startet Quake im LAN-Modus und verwendet die server.cfg. Es wird im Programm
Screen gestartet damit man später wieder darauf zugreifen kann.
> screen ./q3ded +set dedicated 2 +net_port 27970 +exec CTF.server.cfg
Hier wird Quake im Internet Mode auf dem port 27970 gestartet, weil z.B. auf
dem Standard Port bereits ein Quake Server läuft. Hierbei wird CTF.server.cfg
als Konfiguration verwendet.
> ./q3ded +set dedicated 1 +set fs_game missionpack +exec Harvester.server.cfg
&
Hierbei wird Quake direkt im Hintergrund gestartet, weil Screen nicht installiert
ist. Es wird ein Team Arena Game im LAN-Modus geöffnet und dabei die
Harvester.server.cfg verwendet.
--------------------------------------------------------------------------------
Remote Console
=============
Rcon ermöglicht eine Kontrolle der meisten Serverfunktionen direkt aus
dem Spiel heraus, sofern Sie auf dem Server sind.
Zuerst muss ein Rconpasswort auf dem Server gesetzt werden. In der server.cfg
sollte eine Zeile sein die das Passwort setzt, wie z.B.
seta rconpassword "superpasswort"
Somit wird das Passwort auf "superpasswort" gesetzt.
Nun kann man Quake starten und sich beim Server einloggen (entweder per Join-Menü,
oder in der Konsole /connect [IP]:[PORT]).
Wenn man sich auf dem Server wiederfindet, sollte man die Konsole öffnen
(Taste unter [Esc]) und folgendes eingeben:
rconpassword superpasswort
Nun sollte man korrekt mit Rcon verbunden sein und kann verschiedenste Befehle
verwenden.
Zum Beispiel:
rcon vstr d2 - Zur zweiten Map in der Map Rotation wechseln.
rcon addip 192.168.0.4 - User mit der IP 192.168.0.4 bannen.
rcon g_banips - Die Ban-Liste anzeigen.
rcon status - Alle Spieler auf dem Server, mit ihren IDs und IPs anzeigen.
rcon kick 3 - Den Spieler mit der ID 3 aus dem Server kicken (kann auch mit
rcon kick PLAYERNAME ausgeführt werden).
--------------------------------------------------------------------------------
Bots auf dem Server
===============
Falls man Bots auf dem Server haben will, findet man hier die Anleitung, wie
man sie aktiviert und konfiguriert:
1. Aktivieren der Bots durch setzen von bot_enable auf eins in der server.cfg:
bot_enable 1
2. Einen Bot einfügen. Falls das in der server.cfg erledigt wird, sollte
es nach dem starten einer Map ausgeführt werden (Eine Map wird normalerweise
mit "map mapname" oder bei einer Rotation mit "vstr .."
gestartet).
addbot [Skill] [Team] [Delay] [Alt. Name]
Wird benötigt und steht für den echten Namen des Bots (Orbb, Doom,
Sarge, ...).
[Skill] Muss nicht angegeben werden. Mögliche Werte sind 1 - 5 und legen
den Schwierigkeitsgrad fest (1 = I can win, 5 = Nightmare).
[Team] Nur bei Teamgames nötig (blue, red).
[Delay] Gibt in Millisekunden an, wie lange gewartet werden soll, bis der
Bot wirklich dem Spiel beitritt.
[Alt. Name] Gibt den Namen an, den der Bot wirklich im Spiel haben soll. Wenn
nicht angegeben, wird der Standard Name () verwendet.
3. Um einen Bot aus dem Spiel zu werfen, diesen einfach vom Server Kicken
kick
AutoBots:
Es können auch AutoBots wie in Unreal Tournament eingestellt werden,
so dass die Bots immer eine gewisse Mindestzahl an Spielern auffüllen:
bot_minplayers [Zahl]
In Teamgames gilt die Mindestzahl immer für Bots pro Team, also bei bot_minplayers 2 werden 4 Bots in einem CTF-Game anwesend sein (ohne zusätzliche Spieler).
Achtung: Falls der Server mit g_password durch ein Passwort geschützt
ist, können die Bots nicht beitreten! Es sollten deshalb immer sv_privateClients
und sv_privatePassword bei einem privaten Server verwendet werden (wie in
der Konfiguration beschrieben).
--------------------------------------------------------------------------------
IP Banning
=========
Seit der Version 1.17 ist es möglich, Spieler durch ihre IP zu bannen.
Es ist zu erwähnen, dass wahrscheinlich die meisten Spieler eine dynamische
IP haben, d.h. jedesmal wenn sie sich neu einwählen, erhalten sie eine
neue IP.
Es ist zwar möglich eine ganze IP Range (und damit z.B. alle Spieler
von einem Provider) zu bannen, aber dies sollte sehr vorsichtig angewendet
werden!
Zuerst muss IP Banning durch setzen der Variable g_filterban auf 1 gestellt
werden:
g_filterban 1
Danach kann eine IP der Bann-Liste mit addip hinzugefügt werden:
addip 192.168.0.4
Wie gesagt kann auch ein ganzes Class-C Netzwerk gebanned werden, indem man
einfach die letzte Zahl weglässt:
addip 192.168.0.
Durch diesen Befehl würde zum Beispiel jeder mit der IP 192.168.0.xxx
gebanned werden.
Um eine IP von der Liste zu löschen, einfach removeip verwenden:
removeip 192.168.0.4
Durch Verwenden des Kommandos g_banips kann die aktuelle Ban-Liste überwacht
werden:
g_banips
"g_banIPs" is:"192.168.0.4 ^7" default:"192.168.0.4
^7"
Das ^7 ist immer in der Liste vorhanden, es sollte nicht beachtet werden.
FAQ
=====
1. Jedesmal wenn die Map wechselt, werden einige oder alle Spieler aus dem
Server gekickt - was tun?
Das kommt daher, dass einige Spieler extra Models oder sonstige Mods installiert
haben, und sv_pure auf dem Server auf 1 gesetzt ist. Die Variable sollte nur
dann auf 1 sein wenn man sicher gehen will, dass kein Spieler geänderte
Daten hat (z.B. extra HUD zum Cheaten). Setze sv_pure auf 0 um das Problem
zu beheben.
2. Kann ich den Dedicated Server ohne CD laufen lassen?
Die CD wird bei Linux nur für die Installation der Datenfiles benötigt.
Danach kann sie für immer das CDROM-Laufwerk verlassen. :-)
3. Ich möchte ein Statistikprogramm für den Quake Server aufsetzen,
wo finde ich die Logfiles?
Die Logfiles werden in dem unsichtbaren Unterordner .q3a im Home Verzeichnis
des Users unter dem der Quake Server läuft erstellt.
Also unter /home/user/.q3a/baseq3/games.log. Wenn der Server unter root läuft,
findet man die Logs unter /root/.q3a/baseq3/games.log.
4. Ich sehe andauernd Meldungen auf dem Server wie "Hitch warning: 679216
msec frame time". Was ist eine Hitch-Warnung?
Hier eine erklärung von der GameAdmin site:
Quake 3 hat eine Programmschleife die konstant alle Ereignisse durcharbeitet. Diese Schleife empfängt ein Ereignis, führt dementsprechend eine Handlung aus, dann empfängt es das nächste Ereignis, und führt eine weitere Handlung aus. Diese Schleife sollte in einer konstanten Geschwindigkeit ablaufen, um einen flüssigen Spielablauf zu ermöglichen. Diese Schleife kann verzögert werden, z.B. durch andere Programme auf dem Server oder durch eine längere Prozedur in Quake (wie z.B. neue Map oder Bots Laden). Diese Schleife beinhaltet Code, welcher Korrekturen für die kurzen Unterbrechungen (die Unterbrechungen werden Hitches genannt) durchführt. Je länger diese Hitches andauern, desto mehr gelangt der Server ins ruckeln, und somit wirkt sich das dann auch auf alle Spieler auf dem Server aus (durch neues Korrektpositionieren durch den Server, oder kann sogar bis zu einer Disconnection führen).
Wenn Quake als Dedicated Server läuft, warnt es via Konsole (und im Log-File) von Hitches welche länger als 500 Millisekunden andauern. Diese können Normalerweise ignoriert werden, solange sie nicht zu häufig und nicht zu langandauernd auftreten.
Made by Comander
Kommentare Seite: [0]
| 02. May. 2004 - 18:36 erstellt von Hechsler |
| Super Tut. Hatte meinen q3 server schon stehten. g_gametype und dedicated waren sehr ausschlaggebend, danke :) |
| 20. Jun. 2004 - 22:17 erstellt von oyabun |
| mit welchem befehl stelle ich die q3 bots auf nightmare (in der cfg)??
|
| 02. Jul. 2004 - 01:11 erstellt von Oli |
| Guck mal bei Bots Punkt 2. Ist das nicht das gesuchte? Wenn du die Autobots meinst, guck mal, ob g_spskill das richtige für dich ist.
BTW: http://www.holarse.de/?content=/spiele/server/q3a Wer hat da von wem abgeschrieben? |
| 07. Oct. 2004 - 16:27 erstellt von torte |
| ich wollt wissen wie man die farbe ändern kann wenn man bei player seinen spieler namen schreiben will ich wollte ihn in blau und ich weiß nicht wie ich das machen soll ,kann mir jemand helfen |
| 08. Oct. 2004 - 20:08 erstellt von c-SAR |
| Die q3config.cfg öffnen und dort deinen Spielernamen editieren.
set name ?^1T^2O^3R^4T^5E Dabei stehen die Zahlen für die Farben: 1 = Rot 2 = Grün 3 = Gelb 4= Blau 5 = Cyan 6 = Magenta 7 = Weiß Und die Buchstaben für den Spielernamen. Hoffe ich konnte dir helfen :) |
| 08. Jan. 2009 - 16:12 erstellt von Meridian |
| 1 = Rot
2 = Grün 3 = Gelb 4= Blau 5 = Cyan 6 = Magenta 7 = Weiß Du hast schwarz vergessen 0 = Schwarz nicht 8 btw schwarz im namen ist nur erlaubt wenn man ein ^ mehr hat also set name ^^0Toll^7|^^0Schwarz |
| 03. Aug. 2009 - 16:02 erstellt von steve |
| Meine Bots sind active am erste spiel nach server activerien, aber laden nicht auf die zweite map..Ich kann nicht quad und
BFG ausschalten!! hmm schade ,,bitte tips geben? Danke |
Die Kommentar-Funktion ist derzeit leider deaktiviert.
Bitte nutze das Forum statt dessen.

