BF 2 ist ein Multiplayerspiel und wird daher vorwiegend im Internet oder aber im Lan gespielt.
Es treten zwei Teams gegeneinander an und kämpfen im Standartgametype, dem Conquest Modus um Flaggenpunkte.
Die meisten Gameserver setzen zwingend das Anticheat Tool Punkbuster vorraus.
Gameserver Installation unter Linux.
Instzallationsdateien
Patch 1.4 Linux-Dedi:
Linux Dedi Patch 1.4 (EA-FTP)
Hinweis
Der Gameserver wird aus Sicherhetsgründen nicht als Root User installiert.
Legt für die Installation und den Betrieb einen eigenen User an.
Installations Packet entpacken:
-> unzip bf2-linuxded-1.1.2720-552-installer.zip
Installationspaket mit passenden Rechten ausstatten:
-> chmod 755 bf2-linuxded-1.1.2720-552-installer.sh
Gameserver installieren:
-> ./bf2-linuxded-1.1.2720-552-installer.sh
EULA für Gameserver und Punkbuster bestätigen, Zielverzeichnis für den gameserver wählen (z.b. gameserver/bf2)
Konfiguration des Gameservers
Um die Konfiguration des Gameservers dem eigenen Bedürnissen anzupassen sind Änderungen von 2 Dateien notwendig:
/bf2/mods/bf2/settings/serversettings.con
/bf2/mods/bf2/settings/maplist.con
Einstellungsmöglichkeiten der serversettings.con:
sv.serverName “Testserver” // Name des BF2-Servers
sv.password “” // Kennwort zum Joinen
sv.internet 1 // LAN=0, Internet=1
sv.bandwidthChoke 0 // Bandbreitenbegrenzung, in der Regel auf 0 lassen
sv.serverIP “123.123.123.123″ // IP des Gameservers
sv.serverPort 16567 // Standard-Gameport
sv.welcomeMessage “123 test eins zwo drei” // Willkommensnachricht
sv.punkBuster 1 // Punkbuster ein/ausschalten
sv.allowFreeCam 0 // Spieler kann nach dem Tod mit der Kamera um sich blicken
sv.allowExternalViews 1 // externe Kamera in Fahr/Flugzeugen erlauben
sv.allowNoseCam 1 // Cockpitansicht deaktivieren erlauben
sv.hitIndicator 1 // Zeigt einen Treffer im Fadenkreuz an
sv.maxPlayers 64 // maximale Spieleranzahl
sv.numPlayersNeededToStart 2 // Mindestspielerzahl fuer Spielbeginn
sv.notEnoughPlayersRestartDelay 15 // Restarttime bei zu wenig Spielern
sv.startDelay 15 // Wartezeit (in Sekunden) vor Spielstart
sv.endDelay 15 // Wartezeit (in Sekunden) vor Spielende
sv.spawnTime 15 // Zeit zum Wiedereintritt ins Spiel nach Tot
sv.manDownTime 15 // Zeit, in der man reanimiert werden kann
sv.endOfRoundDelay 15 // Wartezeit nach Rundenende
sv.ticketRatio 200 // Ticketratio in Prozent
sv.roundsPerMap 1 // Runden bis Mapwechsel
sv.timeLimit 1200 // Zeitlimit in Sekunden (1200 = 20 Minuten) bis Rundenende
sv.scoreLimit 0 // Scorelimit bis Rundenende
sv.soldierFriendlyFire 100 // Schaden (in Prozent) bei Beschuss durch eigenes Team
sv.vehicleFriendlyFire 100 // Schaden (in Prozent) bei Verletzung durch teameigene Fahrzeuge
sv.soldierSplashFriendlyFire 100 // Schaden (in Prozent) bei Teambeschuss durch Druckwelle
sv.vehicleSplashFriendlyFire 100 // Schaden (in Prozent) bei explodierenden, teameigenen Fahrzeugen
sv.tkPunishEnabled 0 // Bestrafung bei Teamkill ein/ausschalten
sv.tkNumPunishToKick 5 // Anzahl Teamkills bis zum automatischen Kick
sv.tkPunishByDefault 0 // Teamkills automatisch bestrafen? aus/an
sv.votingEnabled 0 // Votes erlauben
sv.voteTime 90 // Dauer eines Votes
sv.minPlayersForVoting 2 // minimale Anzahl der Spieler, die man fuer ein Voting braucht
sv.gameSpyPort 29900 // HLSW-Port (Standard = 29900)
sv.allowNATNegotiation 0 // aktivieren, wenn der Server hinter einer Firewall sitzt
sv.interfaceIP “123.123.123.123″ // muss nur angegeben werden, wenn der Server mehrere IPs hat. immer identisch mit der sv.serverIP
sv.autoRecord 0 // automatisch Aufnahme von Demos
sv.demoIndexURL http: //
sv.demoDownloadURL http: //
sv.autoDemoHook “adminutils/demo/rotate_demo.py”
sv.demoQuality 1 // Demoqualität
sv.adminScript “default” // wird spaeter mal benutzt, noch keine Funktion
sv.timeBeforeRestartMap 20 // Zeit zwischen 2 Runden
sv.autoBalanceTeam 1 // Autobalance
sv.teamRatioPercent 100 // Teams gleich verteilen?
sv.voipEnabled 1 // Voiceserver ein/ausschalten
sv.voipQuality 3 // Qualitaet der Sprachuebermittlung
sv.voipServerRemote 0 // Externen Voiceserver benutzen
sv.voipServerRemoteIP “” // IP des externen Voiceservers
sv.voipServerPort 55125
sv.voipBFClientPort 55123
sv.voipBFServerPort 55124
sv.voipSharedPassword “”
sv.useGlobalRank 1 // Globalranks von Gamespy beziehen
sv.useGlobalUnlocks 1 // Waffenunlocks erlauben
sv.sponsorText “” // keine Ahnung wo der Angezeigt werden soll
sv.sponsorLogoURL “http://www.mein…meinbild.jpg” (localhost funktioniert hier nicht!)
sv.communityLogoURL “http://www.mein…meinbild.jpg” (localhost funktioniert hier nicht!)
sv.radioSpamInterval 6 // Anzahl der Durchsagen eines Mitspielers, nach der er geblockt wird
sv.radioMaxSpamFlagCount 6 // keine Ahnung
sv.radioBlockedDurationTime 30 // Zeit der Spamblockade
Danach kann man die Mapcycle Konfigurationsdatei anpassen:
die Namen der Maps findet ihr unter “…mods/bf2/levels”
/bf2/mods/bf2/settings/maplist.con
mapList.append dalian_plant gpm_cq 16
Starten des Servers
- Im bf2-Verzeichnis: Start des servers mit screen ./start.sh – empfehle ich für den ersten Start, da man hier die Statusmeldungen, den Ladevorgang und eventuelle Fehler sieht
- Start und direkt in den Hintergrund schicken:
screen -dmS BF2Server ./start.sh
Custom Maps
- Custom-Maps haben oft den Nachteil, dass sie auf Windows-Systemen erstellt wurden und diese nicht wie Linux zwischen Groß- und Kleinschreibung unterscheiden
- Lade die Custom-Map auf deinen Server und schieb Sie in das Verzeichnis /bf2/mods/bf2/levels/
- Hier hat jede Map ein eigenes Verzeichnis welches i.d.R. 3 Sachen enthält:
-Info-Verzeichnis (mit Bildern und text für den Serverbrowser/ Ladescreen)
– server.zip
– client.zip
- Die client-zip benötigst du auf dem Server logischerweise nicht
- Nachdem du alle Custom-Maps auf dem Server hast, lass das Python-Script lowercasedir laufen:
– Um das auszuführen muss Python installiert sein (apt-get install python), danach kannst du im bf2-Verzeichnis mit python lowercaseDir.py /bf2 die Files umschreiben lassen
– Alle Dateinamen und Verzeichnisse werden nun in kleine Buchstaben verwandelt
- Nun musst du nur noch, wie oben beschrieben, die Maps dem Cycle adden
Mods auf dem Server
- Mods kommen in das Mods-Verzeichnis (Überraschung ;) )
- Wenn es noch nicht vorhanden ist, musst du ein neues Verzechnis “settings” in diesem Mod-Ordner erstellen, in welchen die beiden Dateien “serversettings.con” und “maplist.con” gehören (ich habe diese einfach aus dem Ordner bf2/mods/bf2/settings/ rüber kopiert)
- Sollten im neuen Mod-Ordner wieder großgeschriebene Verzeichnisse sein, musst du wieder das Python-Script (siehe oben) laufen lassen
- Die Maps für den Mod sind im Ordner “mods/deinmod/levels/”, solltest du also Custom-Maps mit dem Mod laufen lassen wollen, musst du die hier ebenfalls nochmal rein kopieren
- Start des Mod-Servers mit ./start.sh +modPath mods/DEINMOD
- Start und direkt in den Hintergrund schicken: screen -dmS BF2Server ./start.sh +modPath mods/DEINMOD
zusätzliche Hinweise
- Server-Grafik: hier muss eine korrekte URL-Angabe hin, “Localhost” und “127.0.0.1″ funktionieren nicht
- rcon-Bereich
– Im Verzeichnis “bf2/admin” die Datei “default.cfg” erstellen
– Darin muss stehen:
port=4711
password=sicherespasswort
– Der Rcon-Port kann natürlich auch anders gewählt werde, das ist der Standardport
- Zeilenumbruch bei der Servernaricht
– Einen Zeilenumbruch macht man mit dem | Zeichen
– Bsp.: aus “Willkommen|auf|videofront.net” wird
Willkommen
auf
videofront.net
- weiterführende Links:
– Installationsanleitung für BF2 Server incl. BF2CC, unter Linux
- Battlefield 2 Addon “Special Forces”
./start.sh +modPath mods/xpack
wenn mit screen, damit das gleich in den hintergrund gelegt werden kann mit strg a+d, nach dem hochfahren, dann so:
screen ./start.sh +modPath mods/xpack
vorher nicht vergessen die maps anzulegen, da nur 1 map drin ist.
hier eine liste der maplist.con für special forces:
mapList.append Devils_Perch gpm_cq 32
mapList.append Surge gpm_cq 32
mapList.append Mass_Destruction gpm_cq 32
mapList.append Iron_Gator gpm_cq 32
mapList.append Warlord gpm_cq 32
mapList.append Leviathan gpm_cq 32
mapList.append Night_Flight gpm_cq 32
mapList.append Ghost_Town gpm_cq 32