Battlefield 2142 Linux-Server Installation (HOWTO)

TOP 

Dieses Howto ist im Wesentlichen das gleiche wie für BF2 (unter dieser URL zu finden). Einige kleine Änderungen gibt es aber.
Hauptsächlich richtet sich das How-To an Anfänger.

Aufgrund meiner eigenen Erfahrungen in den letzten Tagen mit dem installieren eines dedizierten Battlefield 2142 Servers unter Linux, dem hinzufügen von Custom-Maps und dem adden von Mods und das Starten selbiger möchte ich an dieser Stelle in kompakter Form alle Hinweise die mich ans Ziel gebracht haben zusammen tragen.
Ich habe mich durch einige Foren, Readmes und Seiten gewühlt, bis ich tatsächlich alle Infos zusammen hatte – nicht besonders schwer, aber auch nicht besonders schön 😉
Sicherlich ist dieses Howto für Wissende nichts neues, aber kann sicherlich dem ein oder anderen „unerfahrenen“ Server-Admin sehr nützlich sein.

Dieses Howto beschreibt:

  • Installation eines dedizierten Battlefield 2142 Servers unter Linux
  • Einrichtung des Servers
  • Starten des Servers
  • Custom Maps hinzufügen
  • Mods auf dem Server installieren
  • zusätzliche Hinweise
  • Hinweis: Dieses Howto ist für debian-basierte Systeme geschrieben (apt-get) der großteil der Befehle funktioniert aber auch auf anderen Systemen.


    Installation eines dedizierten Battlefield 2142 Servers unter Linux

    – Als erstes loggt ihr euch in die Shell ein
    – Linux dedicated server ziehen:

    wget LINKADRESSE

    Eine gute Anlaufstelle für die Serverfiles ist immer der offizielle EA FTP:
    ftp://largedownloads.ea.com/pub/patches/BF2142/

    Zu Spitzenzeiten ist es sicher schwieriger hier einen Slot zu bekommen, dann lieber Alternativen wählen.

    Version 1.01 Linux-Dedi (Build : 1.0.9.1)
    Linux Dedi Patch 1.01 (EA-FTP)

    – Packet entpacken:

    unzip BF2142 Unranked Servers v1.zip

    – Installationspaket mit passenden Rechten ausstatten:

    chmod 755 bf2142-linuxded-1.0.9.1-installer

    – Server installieren:

    ./bf2142-linuxded-1.0.9.1-installer

    – Alternativ könnt ihr die Installation auch, ohne das Paket mit den Rechten auszustatten, mit sh bf2142-linuxded-1.0.9.1-installer starten

    – EULA für Gameserver und Punkbuster abnicken, Zielverzeichnis wählen (z.b. /bf2142)
    ACHTUNG: Verzeichnis muss vorher schon existieren!

    – Installation fertig!

    Einrichtung des Servers

    – Für die Konfiguration des Servers sind 2 Dateien wichtig:
    /bf2142/mods/bf2142/settings/serversettings.con
    /bf2142/mods/bf2142/settings/maplist.con
    Der Name der Dateien verrät schon ihre Funktion 😉

    – Als erstes bearbeiten wir die serversettings.con:

    sv.serverName „Testserver“ // Name des BF2142-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

    – Achtung: die Kommentare in den settings ( „// blafasl“ ) unbedingt weglassen! Dadurch wird die serversettings.con unbrauchbar!

    – Nun den Mapcycle anpassen: /bf2142/mods/bf2142/settings/maplist.con

    – Syntax: mapList.append minsk gpm_cq 16
    – die Namen der Maps findet ihr unter „…mods/bf2142/levels“
    – als Mapmodus gibts derzeit nur den Conquest Modus (gpm_cq)
    – als Mapgroesse nimmt man 16, 32 oder 64
    – alle Maps kommen so wie oben gezeigt untereinander, jede auf eine Zeile

    – Grundkonfiguration abgeschlossen

    Starten des Servers

    – Im bf2142-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 BF2142Server ./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 /bf2142/mods/bf2142/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 bf2142-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 bf2142/mods/bf2142/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 BF2142Server ./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 „bf2142/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|kumbula.net“ wird
      Willkommen
      auf
      kumbula.net

    weiterführende Links:

      – bisher noch keine, wenn du einen hast, schreib ein Kommentar

    Ergänzungen, Anregungen, etc. sind willkommen!

    22 comments to “Battlefield 2142 Linux-Server Installation (HOWTO)”

    1. Comment by Laures:

      Was muss ich anstellen, damit mein BF server Ranked wird? also die ergebnisse an den ea masterserver gesendet werden?

    2. Comment by ossi:

      Einen Ranked-Server mieten. http://www.kplay.de

    3. Comment by Laures:

      ein hetzner.de root-server mit hardware für 32 slot titan matches kostet 39€. ein 32 slot public mietserver über 200€. da setz ich ihn lieber selber auf.

      In BF2 konnte man durch portfreigaben einen server zum ranked machen (war auch gewollt) und in der config des derzeitigen dedicated gibt es auch die option „global ranked“. ich will nur wissen ob zusätzlich was gesetzt sein muss.

    4. Comment by ossi:

      Mir ist das neu, dass man eigene Ranked betreiben kann. M.E. geht das nicht. Also einfach mal mit „global ranked 1“ probieren.

    5. Comment by Paykoman:

      Hi, wäre ja nciht schlecht wenn noch stehen würde ob das Rcon dann automatisch angenommen wird oder ob man den Server noch sagen muss das er in der default.cfg dasRcon benutzen soll. Ich denke das muss man nämlich von alleine wird er das wol nciht machen und dazu ein Link wo man Rconbefehle findet wäre auch geil 😉

      MFG: Paykoman

    6. Comment by Spiekey:

      Hi Ossi,

      muss das nicht:

      unzip BF2142 Unranked Servers v1.zip
      chmod 755 bf2142-linuxded-1.0.9.1-installer
      ./bf2142-linuxded-1.0.9.1-installer

      heißen? 😉

      Gruß Spiekey

    7. Comment by ossi:

      hossa, du hast recht 🙂

    8. Comment by Paynis:

      Hallo

      funktioniert das nun den server als ranked zu betreiben, oder wird das von seitens EA unterbunden

      gruß

      Paynis

    9. Comment by ossi:

      Ich hab derzeit keinen Link zu BF2142 Rcon-Befehlen 🙂

      Was ranekd angeht: Ich kann die nur sagen, dass das nur bei einem der offiziellen Serverhoster geht. Was anderes ist mir nicht bekannt.

    10. Comment by freemind:

      wie mache ich das unter putty das der die datei speichert habe:
      edit serversettings.con gemacht alles um geschriebn und dann
      :q! aber immer noch das selbe drine der speichert das nicht ab!

    11. Comment by snow:

      Server läuft nach anleitung ^^ Danke …
      aber es wird gesagt auf den Server, dass PB zu alt sei … wie mach ich das Update auf den Server???

    12. Comment by ossi:

      Freut mich, positives Feedback zu hören.

      Auf http://www.evenbalance.com (Punkbuster-Seite) solltest du Hilfe bei zu alten Versionen finden. Bzw kannst du auch das „pb“ Verzeichnis checken. Bin mir gerade nciht sicher ob da nicht auch eine Update-File ist.

    13. Comment by ossi:

      freemind: deswegen nutze ich immer „Midnight Commander“, da ist der File-Editor gleich bei. Ich mag vi nicht. Außerdem kenn ich denn noch von ganz rüher, das ist viel praktischer. 😉

    14. Comment by Snow:

      gut hat auch geklappt ^^ danke und jetzt noch ne frage:
      es gibt doch mittlerweile nen titanmodus … wie shalte ich den ein also die karten im Conquest Modus schalte ich ja mit „gpm_cq“ ein und wie ist der befehl für Titanmodus?
      Gruss

    15. Comment by thor:

      @freemind:

      im vi bedeutet :q! beenden ohne speichern.
      am besten machst du stattdessen 😡 speichern und beenden oder einfach :w für’s speichern.

      HTH

    16. Comment by FlatMoon:

      jaja Putty und vi (edit) mit :q! beenden heist auch das man das OHNE abspeichern beendet.

      da hilft nur 😡 bzw :x! (doppelpunkt x ausrufezeichen) fals smily…

    17. Comment by fgru:

      hallo,

      habe v1.25 server unter Linux | Ubuntu – laeuft – aber ich sehe ihn net in der BF2142 Lobby 🙁 wer kann helfen – is alles local

    18. Comment by New_Fighter:

      Hi,

      weiß jemand wo ich ne komplette Doku finden kann über die con Dateien.
      Speziell Serversettings

      Danke

    19. Comment by ossi:

      Ähm, hast du das hier gelesen? serversettings.con vielleicht? Ist doch selbsterklärend. :S

    20. Comment by allo:

      also kostet das was die userver der hier steht zu machen?

    21. Comment by ossi:

      Ja, Arbeit – wenn du es selber machst.

    22. Comment by Dave:

      http://largedownloads.ea.com/p.....Server.txt

      Bei punkt V steht was zu ranked !

    Leave a Reply