mario::konrad
programming / C++ / sailing / nerd stuff
UT2004
© 2005 / Mario Konrad

Dedicated Server auf Linux

Verzeichnis erstellen

$ mkdir ut2004
$ cd ut2004

Auspacken des Servers

$ unzip dedicatedserver3339-bonuspack.zip

Installation der Patches

TODO: patches

$ tar -xjf ut2004-lnxpatch3369.tar.bz2
$ tar -xjf ut2004-lnxpatch3369-2.tar.bz2

Installation mutator UTComp

$ unzip utcompv17a_116.zip

Start des Servers

Der Rest bleibt default. Start des Servers:

$ ./ucc-bin server DM-DesertIle.ut2\
    ?Game=XGame.XTeamGame\
    ?MinPlayers=6\
    ?bAutoNumBots=True\
    ?bBalanceTeams=True\
    ?FriendlyFire=0.0 \
    ini=UT2004.ini -nohomedir -lanplay

Nach dem Beenden der Map wird auf die nächste Map geschaltet.

Um das Spiel über das Web administrieren zu können sind folgende Schritte zu unternehmen:

Anpassen von UT2004.ini:

    [UWeb.WebServer]
    ...
    bEnabled=True
    ListenPort=8080

    [Engine.GameInfo]
    ...
    AccessControlClas=XAdmin.AccessControlIni

Zusätzliche Parameter:

    ?AdminName=admin?AdminPassword=password

Falls der Server nur im LAN die Spiele hosten soll, können folgende Änderungen in UT2004.ini vorgenommen werden, damit der Server nicht ständig versucht mit dem Master-Server kontakt aufzunehmen:

    [IpDrv.MasterServerUplink]
    DoUplink=False
    UplinkToGamespy=False
    SendStatus=False

Nach dem Start des Servers kann wie folgt auf administriert werden:

    http://admin:password@server:8080

Kommandozeilenparameter Referenz

$ ucc-bin server map parameter -nohomedir

Für map sind alle möglichen Maps aus dem gleichnamigen Verzeichnis möglich.

Achtung: nicht alle Spieletypen sind mit jeder Map kompatibel.

Die möglichen parameter werden in den folgenden Tabellen erklärt.

Wenn als Wert eines Parameters boolean angegeben ist, sind folgende Werte möglich:

Soll als Wert ein float angegeben werden, so ist damit gemeint eine Fliesskommazahl in der Form x.y.

Wird eine nummer als Wert gefordert, ist immer eine ganze Zahl gemeint.

Engine Parameter

Parameter Bedeutung
-ini=inifile Verwendung des angegebenen Ini-Files. Beispiel: -ini=myserver.ini
-userini=inifile Verwendung des angebebenen Ini-Files (Benutzerspezifische Daten). Beispiel: -userini=myuser.ini
-log=logfile Logs werden in das angegebene File geschrieben.
-lanplay Startet den Server im “LAN” Modus, dabei werden verschiedene Konfigurationsdaten auf das LAN optimiert, wie z.B. Übertragungsgeschwindigkeit (netspeed) oder höhere Zeitrate (tickrate). Dieser Parameter ist immer empfohlen wenn sowieso nur im LAN gespielt wird (z.B. LAN-Party).
-makenames Transiente Objekte (zur Laufzeit erstellte Objekte, wie solche die in den Maps platziert werden) haben normalerweise keine eindeutigen Namen, was aber schwerer für die Fehlersuche ist. Dieser Parameter erzwingt den Server eindeutige Namen zu vergeben. Achtung: dies führt zu deutlich höherem Speicherbedarf.
-primarynet Standardmässig akzeptieren Server Verbindungen über alle angeschlossenen Netzwerkverbindungen. Wenn dieser Parameter angegeben wird, sind nur noch Verbindungen über den primären Netzwerkanschluss möglich.
-nocheat Schaltet den Schutz vor Cheat aus. Nur für Autoren von Mods nützlich.
-server Wird verwendet wenn ein dedicated Server mit UT2004 gestartet werden soll. Diese verwendung startet eine interaktive Server-Konsole (gleich wie die Konsole innerhalb des GUI). Beispiel: UT2004 -server parameter
-multihome=IP-Adresse Nützlich für Recher mit mehreren öffentlichen IP Adressen. Dieser Parameter teilt dem Server mit, welche Adreses verwendet werden soll. Beispiel: -multihome=123.456.789.123
-port=nummer Spezifiziert den Port (0-65535) auf dem der Server auf eingehende Verbindungen wartet. Achtung: Portnummern im Bereich 0-1023 können nur vom Superuser gewählt werden.
-nohomedir Dieser Parameter muss für dedizierte Server unter Linux immer angegeben werden.
-PktLoss=nummer Simuliert den Verlust von Packeten. Dies wird nur für die Fehlersuche verwendet.
-PktOrder=nummer Simuliert fehlerhafte Reihenfolge von Packeten. Dies wird nur für die Fehlersuche verwendet.
-PktDup=nummer Simuliert Duplikation von Packeten. Dies wird nur für die Fehlersuche verwendet.
-PktLag=nummer Simuliert Verzögerung von Packeten. Dies wird nur für die Fehlersuche verwendet.
-PktLagVariance=nummer Simuliert variable Verzögerung von Packeten. Dies wird nur für die Fehlersuche verwendet.

Game Parameter

Diese Parameter werden in der Form spezifiziert:

    map?parameter=wert?parameter=wert

Hier nun die Liste der möglichen Parameter:

Parameter Bedeutung
AccessControl=klasse Spezifiziert die Klasse der Zugriffskontrolle. Dieser Parameter entspricht dem Eintrag AccessControlClass der Sektion [Engine.GameInfo] des Ini-Files.Die möglichen Werte sind: Engine.AccessControl, XAdmin.AccessControlIni
AllowThrowing=boolean Steuert das Werfen von Waffen.
AllowBehindView=boolean Steuert die Möglichkeit der “Third-Person-View”, der Ansicht des Spielers hinter der Figur.
AdminName=name Der Name des Administrators. Wird nur verwendet wenn der Server administriert (Konsole oder übers Web) werden soll.
AdminPassword=passwort Passwort für den Administrator.
AutoAdjust=boolean Passt den Schwierigkeitsgrad (skill level) der Bots automatisch dem der Spieler an.
bAutoNumBots=boolean Die Anzahl der Bots wird automatisch dem Wert des für die entspreche Map vorgeschlagene Anzahl angepasst. Sollte nicht im Zusammenhang mit NumBots oder GameStats verwendet werden.
bPlayerMustBeReady=boolean Alle Spieler müssen sich “einlicken” bevor das Spiel beginnen kann.
bBalanceTeams=boolean Bots wechseln automatisch das Team um beim Teamplay die Teams ausgewogen zu halten.
BlueTeam=klasse Spezifiziert den Klassenname für die Liste des blauen Teams. Standardklasse ist XGame.TeamBlueConfigured.
BlueTeamAI=klasse Nicht verändern! Spezifiziert die Klasse der die künstliche Intelligenz für das blaue Team kontrolliert. Dies ist nur fü Autoren von Mods gedacht.
BlueTeamSymbol=texturname Name des Symbols für das blaue Team.
Demorec=name Startet das serverseitie Aufnehmen eines Demos. Beispiel: ?Demorec=mydemo
Difficulty=grad Schwierigkeitsgrad der Bots: 1=Anfänger, 2=Normal, 3=Erfahren, 4=Geschult, 5=Kenner, 6=Meister, 7=Unmenschlich, 8=Göttergleich
DMTeam=klasse Entspricht dem Parameter BlueTeam und sollte bei Team Deathmatch-Spielen verwendet werden. Standardwert: XGame.DMRosterConfigured.
FF=float Spezifiziert den Schaden von friendly fire. Wertebereich: 0.0 - 1.0. 0.75 entspricht 75% Schaden an Teamkollegen.
FriendlyFire=float Gleich wie der Parameter FF. Falls FF und dieser Parameter angegeben sind, so hat dieser Parameter priorität.
Game=klasse Spezifiziert den Typ des Spiels:
- Deathmatch: XGame.CDeathMatch
- Team Deathmatch: XGame.XTeamGame
- Onslaught: Onslaught.ONSOnslaughtGame
- Assault: UT2k4Assault.ASGameInfo
- Mutant: BonusPack.XMutantGame
- Invasion: SkaarjPack.Invasion
- Capture The Flag: XGame.XCTFGame
- Bombing Run: XGame.XBombingRun
- Double Domination: XGame.XDoubleDom
- Last Man Standing: BonusPack.XLastManStandingGame
GamePassword=passwort Passwort um ins Spiel einzuklinken. Wird dann verwendet, wenn der Zugriff nicht allen offenstehen soll.
GameRules=klasse Spezifiziert die Regeln für das Spiel.
GameSpeed=float Setzt die Geschwindigkeit des Spiels. Normalgeschwindigkeit: 1.0. Ein Wert von 1.25 entspricht einer Geschwindikeit von 125%, also ein wenig schneller. Dieser Parameter ist nur in Zusammenhang mit Mutator UnrealGame.MutGameSpeed gültig.
GameStats=boolean Steuert das Status logging. Achtung: nicht zu verwenden im Zusammenhang von MinPlayers und bAutoNumBots
GoalScore=nummer Legt die zu erreichende Punktzahl um das Match zu gewinnen fest.
Listen Startet einen “Listen-Server”. Wird nur dann verwendet wenn der Server über UT2004 gestartet wird.
MaxLives=nummer Spezifiziert die Anzahl Leben ein Spieler hat, bevor er aus dem Spiel ausscheidet (Last Man Standing).
MaxPlayers=nummer Spezifiziert die maximale Anzahl Spieler auf diesem Server.
MaxSpectators=nummer Spezifiziert die maximale Anzahl Zuschauer auf diesem Server. Dieser Wert ist unabhängig vom Parameter MaxPlayers.
MinPlayers=nummer Spezifiziert die minimale Anzahl Spieler. Wenn nicht genügend Spieler vorhanden sind werden Bots hinzugefügt bis diese Zahl erreicht ist. Achtung: sollte nicht im Zusammenhang mit bAutoNumBots verwendet werden.
Mutator=klasse[,klasse] Fügt Mutatoren zum Spiel hinzu. Mögliche Mutatoren:
- Arena: XWeapons.MutArena
- Beserk: UnrealGame.MutBerserk
- Big Head: UnrealGame.MutBigHead
- Delayed Spawn: UnrealGame.MutDelayedSpawn
- Float-Away Corpses: XGame.MutHeliumCorpses
- InstaGib: XGame.MutInstaGib
- Zoom InstaGib: XGame.MutZoomInstaGib
- LowGravity: UnrealGame.MutLowGrav
- No Adrenaline: XGame.MutNoAdrenaline
- No Super Weapons: XWeapons.MutNoSuperWeapon
- Quad Jump: XGame.MutQuadJump
- AutoHealing: XGame.MutRegen
- Slow Motion Deaths: XGame.MutSlomoDeath
- Species Specific Stats: XGame.MutSpeciesStats
- UDamage Reward: XGame.MutUDamageReward
- Vampire: XGame.MutVampire
- UTV2004S (UTV2004 in SeeAll mode): UTV2004s.utvMutator
- UT2k3 Style Weapon Throwing/Boosting: XGame.MutFastWeapSwitch
- UTClassic: UTClassic.MutUTClassic
- Lightning Gun 2 Sniper Rifle: UTClassic.MutUseSniper
- Sniper Rifle 2 Lightning Gun: UTClassic.MutUseLightning
- UT Sniper Rifle: UTClassic.ClassicSniperRifle
- Camouflage Combo (RRRR): Bonuspack.MutCrateCombo
- Pint-sized combo (LLLL): Bonuspack.MutPintSizeCombo
- BigWheels: Onslaught.MutBigWheels
- Light Weight Vehicles: Onslaught.MutLightweightVehicles
- Onslaught Weapons: Onslaught.MutOnslaughtWeapons
- Jumping Vehicles: Onslaught.MutWheeledVehicleStunts
- Vehicle Arena: OnslaughtFull.MutVehicleArena
NumBots=nummer Anzahl der Bots die ins Spiel eingefügt werden, bis MinPlayers erreicht wird. Achtung: kann nicht im Zusammenhang mit GameStats verwendet werden.
QuickStart=boolean Erlaubt es den Bots ein Spiel zu beginnen auch wenn keine Spieler im Spiel mitmachen.
RedTeam=klasse Analog zu BlueTeam. Standardwert: XGame.TeamRedConfigured.
RedTeamAI Analog zu BlueTeamAI.
RedTeamSymbol Analog zu BlueTeamSymbol.
Translocator Schaltet den Translocator ein. Hat keinen Effekt wenn der Spieletyp oder ein Mutator den Translocator nicht zulässt.
TimeLimit=nummer Zeitlimit in Minuten wann ein Match zu Ende geht. Wenn die Anzahl Punkte nicht erreicht wurden geht das Spiel in Überzeit (Regeln je nach Spieltyp unterschiedlich).
Tournament=boolean Schaltet den “Tournament” Modus ein.
VotingHandler=klasse Spezifiziert die Klasse des Abstimmungshandlers für Maps, Kicks und Matches.
VsBots=boolean Alle Spieler werden zu einem Team zusammengefasst, so dass Spieler im Teamplay gegen Bots spielen.
WeaponStay=boolean Spezifiziert ob das Aufheben der Waffen die Waffen stehen lässt oder ob sie für eine bestimmte Zeit verschwinden.

Spieltyp: Last Man Standing

Parameter Bedeutung
AllowAdrenaline=boolean Steuert Adrenalin.
AllowPickups=boolean Steuert Objekte (Munition).
CamperAlarm=boolean Steuert den Alarm für Camper.
HealthForKill=boolean Spieler erhalten zusätzliche Gesundheit für jeden Frag.
SuperWeaps=boolean Steuert Superwaffen (Ion und Redeemer).

Spieltyp: Mutant

Parameter Bedeutung
BottomFeeder=boolean Steuert den Schlusslicht-Modus. Der Mutant bekommt zusäthliche Punkte beim Abschuss des Schlusslichts.

Spieltyp: Onslaught

Parameter Bedeutung
bRandSetupAfterReset=boolean Steuert zufälliger Link setup nach einem Rundenstart. Überschreibt den Eintrag ONSOnslaughtGame.bRandSetupAfterReset des Ini-Files. Dieser Parameter ist nur möglich wenn GoalScore grösser als 1 gewählt wurde.
LinkSetup=typ Spezifiziert die Art des Setups für die Links. Angabe von Random wählt eine zufälliges Setup.

Spieltyp: Assault

Parameter Bedeutung
RoundTimeLimit=nummer Legt die Rundenzeit in Minuten fest.
PracticeTimeLimit=nummer Legt die Zeit der Übungsrunde fest, bevor das Spiel beginnt. Besonders interessant wenn Spieler mit schwächeren Maschinen mitspielen, da bei diesen das Laden der Map länger dauert. Auf diese Weise können diese vom Anfang des Spiels mitspielen.
RoundLimit=nummer Anzahl Runden in einem Assault-Match.
FirstAttackingTeam=nummer Legt das Team fest, das als erster Angreift. 0=Rot, 1=Blau.
ResetTimeDelay=nummer Anzahl Sekunden zwischen zwei Runden.
ReinforcementsFreq=nummer Minimum Anzahl Sekunden vor der Wiederbelebung Gefallener (respawn).

Konsolenreferenz

Spieler / Bots

Cheat Beschreibung
ADDBOTS nummer Fügt die spezifizierte Anzahl Bots hinzu
BEHINDVIEW 0/1 Perpektive hinter der Figur aus/ein
DISCONNECT Unterbricht die Verbindung zum Server
RECONNECT Verbindet neu zum aktuellen Server
EXIT Beendet das Spiel
QUIT Beendet das Spiel
KILLBOTS Tötet alle Bots
KILLBOTS nummer Tötet spezifizierte Anzahl Bots
SUICIDE Selbstmord
PLAYERSONLY Bots werden eingefriert
OPEN map Öffnet die angegebene Map
OPEN ip-addresse Verbindet zum Server mit der angegebenen IP-Addresse
SWITCHLEVEL level Schaltet um in den angebenen Level
SWITCHTEAM Wechseln des Teams
TEAMSAY text Zeigt den Text den Mitgliedern des eigenen Teams
SAY text Zeigt den Text allen Spielern
SETNAME name Ändert den Namen des Spielers

Statistik

Cheat Beschreibung
MEMSTAT Zeigt die Speicherstatistik
STAT ALL Zeigt alle Stati
STAT AUDIO Zeigt Audiostatus
STAT FPS Zeigt die Bildwiederholfrequenz (Bilder pro Sekunde)
STAT GAME Zeigt den Gamestatus
STAT HARDWARE Zeigt den Hardwarestaus
STAT NET Zeigt den Netzwerkstatus
STAT NONE Versteckt alle Statusanzeigen
STAT RENDER Zeigt Darstellungsstatistik

Demos

Cheat Beschreibung
DEMOPLAY demo Spielt das angegebene Demo
DEMOREC demo Nimmt das Spiel als Demo auf
STOPDEMO Stoppt die Aufnahme des Demos

Administration

Cheat Beschreibung
KICK spieler Wirft den angegebenen Spieler aus dem laufenden Spiel
KICKBAN spieler Wirft den angegebenen Spiele aud dem laufenden Spiel und bannt ihn, d.h. er kann nicht wieder ins Spiel eintreten
ADMIN kommando Führt das angegebne Kommando aus
ADMINLOGIN passwort Anmelden als Administrator unter dem festgelegten Passowrt für den Server
ADMINLOGOUT Abmelden als Administrator
ADMIN SWITCHLEVEL map?parameters Startet ein Spiel mit der angegebenen Map, Spieltyp und Mutatoren (gleiche Parameter wie die Kommandozeilenparameter für die Spiel-Einstellungen)
ADMIN SET UWeb.Webserver bEnabled True Einschalten des Webadmin
ADMIN SET UWeb.Webserver bEnabled False Ausschalten des Webadmin

Verschiedenes

Cheat Beschreibung
BRIGHTNESS nummer Setzt die Helligkeit
CDTRACK nummer Spielt den angegebnen Titel von der CD
CONFIGHASH Zeigt die Konfigurationsinformationen
CONTRAST nummer Setzt den Kontrast
DEBUG CRASH Testet einen Absturtz des Spiels mit einem Fehler
DEBUG EATMEM Testet den Speicher
DEBUG GPF Erzeugt einen GPF (General Protection Fault)
DEBUG RECURSE Erzeugt eine unendliche Rekursion bis das Spiel abstürtzt
DUMPCACHE Zeigt den Inhalt des gcache
EXEC filename Führt das angegebne File aus, welches sich im System Verzeichnis des Spiels befinden muss
FLUSH Spült alle Caches
FOV nummer Verändert die Sicht (Field Of View) auf den angegebnen Winkel
FIXEDVISIBILITY Nützlich um die eigene Map zu testen.
GAMMA nummer Verändert die Gamma-Korrektur
GETCOLORDEPTHS Zeigt die maximale Farbtiefe die von der Hardware unterstützt wird
GETCURRENTCOLORDEPTHS Zeigt die aktuell verwendete Farbtiefe
GETCURRENTRES Zeigt die aktuell verwendete Auflösung
GETCURRENTTICKRATE Zeigt die aktuelle Geschwindigkeit des Spiels (tick rate)
GETMAXTICKRATE Zeigt die maximal mögliche Geschwindigkeit (tick rate)
MUSICORDER nummer Wechselt die Art der Musik im aktuellen Song (0:Ambient, 1:Action, 2:Spannung)
NETSPEED nummer Legt die Netzgeschwindigkeit fest (default: 10000)
OBJ CLASSES Zeigt eine Liste von Objektklassen
OBJ GARBAGE Löscht nicht verwendete Objekt (garbage collection)
OBJ HASH Zeigt Objekt-Hashing Statistik
OBJ LINKERS Zeigt eine Liste der aktiven Verbundenen
PAUSESOUNDS Pausiert alle Audioausgaben
PREFERENCES Öffnet erweiterte Einstellungen
RELAUNCH Startet die Engine neu
RENDEREMULATE gf1/gf2 Zeigt die Grafik wie sie auf verschiedenen Grafikkarten aussehen würde
REPORT Kopiert einen Report über das aktuelle Spiel in die Zwischenablage (clipboard)
SET klasse variable wert Setzt für die entsprechende Klasse die Variable auf den angegebnen Wert
SETSENSITIVITY nummer Legt die Mausempfindlichkeit auf den angegebnen Wert
SETRES WxHxD Setzt die Aufösung und Farbtiefe
SLOMO nummer Setzt die Spielgeschwindigkeit auf den angegebenen Wert, 1.0:Normalgeschwindigkeit, 0.75:75% der Geschwindigkeit
SOCKETS Zeigt die Liste der momentan benutzten Sockets
TOGGLEFULLSCREEN Wechselt zwischen Vollbild- und Fenstermodus
TYPE text Zeigt den entsprechenden Text auf der Konsole
UNPAUSESOUNDS Spielt die Musik weiter, beenden der Pause

Cheats

Cheat Beschreibung
ALLAMMO Gibt volle Munition für alle Waffen
ALLWEAPONS Gibt alle Waffen
FLY Fliegen
WALK Nicht mehr fliegen
GHOST Durch Wände gehen
GOD Unverwundbarkeit
LOADED Gibt alle Waffen, volle Munition und 100 Adrenalin
TELEPORT Teleportiert Spieler an zufällige Position in der Map