Orgapage






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




Weitere Seiten zu diesem Thema:
URL: Von:
Titel:  
Captcha:
Text bewerten:
Aktuelle Wertung: 0 (0x)
Seit der letzten Änderung: 0 (0x)

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.