Venice Unleashed – Battlefield 3 Dedicated Server

Das Team von Venice Unleashed hat sich die Mühe gemacht und einen dedicated Server für Battlefield 3 entwickelt, welcher auch mit Mods ausgestattet werden kann.
Wir brauchen also keine teuren Battlefield 3 Server mehr mieten, sondern können unsere eigenen hosten!

Was brauchen wir dafür?
– Einen Origin-Account, welcher Battlefield 3 besitzt (egal welche Version)
– Einen Venice Unleashed Account
– Einen Windows- oder Linux-Server mit vollen Admin-Rechten / Root-Zugang

Der Server sollte folgende Mindestanforderungen haben:
– System: Windows 7 oder neuer | Windows Server 2008 oder neuer – Linux-System mit Wine 5.0 oder neuer
– CPU: x86 oder x64 mit 2×3,0GHz oder besser (abhängig von den laufenden Servern und Slotbelegung. Kein ARM-Support!)
– RAM: 2GB oder mehr
– HDD: 40GB Spieldaten + min. 2GB an Serverdaten (wer Mods nutzen will, braucht mehr Speicher)
– Netzwerk: 5Mbit/s Upload + Download (1Gbit/s Server-Anbindung empfohlen!)

Legel wir los!

VORBEREITUNG:

Das einfachste ist, wenn du auf deinem „Gaming-PC“ nun das Spiel und den Client installierst.
Dann kannst du deinen VU-Account im Spiel anlegen und gleich verknüpfen.

1. Lade dir Battlefield 3 auf deinem PC herunter
2. Lade dir den VU-Client herunter (HIER)
3. Installiere den VU-Client
4. Starte Battlefield 3 über den VU-Client
5. Erstelle einen neuen Account und lass das Spiel über Origin verifizieren
(VU will nur sicherstellen, dass du das Spiel auch wirklich besitzt.)

6. Logge dich nun mit deinem VU-Account auf der Webseite ein (HIER)
7. Lass einen neuen Server-Key erstellen (Aktuell können nur 2 Keys erstellt werden)
Tipp: Geb im optionalen Feld eine Info an, wo du z.B. den Key nutzt. So hast du eine bessere Übersicht.
WICHTIG: Pro Key kann EIN Server gestartet werden! Willst du also mehrere Server betreiben, brauchst du für jeden Server neuen ein Key!
8. Lade dir den Key herunter und speichere ihn irgendwo ab

Super, jetzt haben wir alles was wir brauchen!

SETUP FÜR WINDOWS:



1. Installiere Origin auf deinem Server und lade darüber Battlefield 3 herunter
Wir brauchen die Spieldaten, damit wir den Server starten können. Die Daten brauchen wir aber nur 1x! Wir können damit auch mehrere Gameserver starten.
2. Installiere den VU-Client auf dem Server (download)
3. Lege deine .Key-Datei aus Schritt 8 der Vorbereitung nun unter folgendem Pfad ab:

C:\Users\DEIN-NUTZERNAME\Documents\Battlefield 3\Server

4. Wechsel nun in den Admin-Ordner

C:\Users\DEIN-NUTZERNAME\Documents\Battlefield 3\Server\Admin

5. Lege dort folgende zwei Textdateien an:
Maplist.txt + Startup.txt
Maplist → Beinhaltet nacher die Liste der Maps, die gespielt werden inkl. Spielmodus und Rundenanzahl
Startup → Enthält nowendige Serverkonfigurationen wie Name, Slots, Tickets, …


6. Öffne Startup.txt mit einem Editor (Notepad++ empfohlen)
7. Füge Grundlegende Konfigurationsparameter ein
Ich habe hier ein Beispiel vorbereitet:

vars.serverName "GameMania BF3 Server 120Hz"
vars.friendlyFire true
vu.FrequencyMode high120
vu.ServerBanner https://fastdl.gamemania.org/Battlefield3/Serverbanner/2020-01.jpg
admin.password "SuperSicherUndSo!"

Alle verfügbaren Befehle findest du HIER.
Super Tipp: Lade dir ProCon herunter und klick dir dort deine Wunschkonfiguration zusammen. In ProCon kann man diese dann ausgeben lassen. Die kannst du dann ganz einfach in die Startup.txt einfügen. So ersparst du dir lästiges Suchen! Nutze daher zuerst meine Vorlage, um den Server einmal starten zu können und im Nachgang fügst du deine Wunschkonfiguration mit Hilfe von ProCon ein.

8. Speichere die Datei ab
9. Öffne Maplist.txt
10. Füge nun deine Wunschmaps mit Modi und Rundenanzahl ein.
Ein Beispiel:

XP2_Factory TeamDeathMatchC0 2
XP2_Palace TeamDeathMatchC0 2
XP2_Skybar TeamDeathMatchC0 2
MP_017 TeamDeathMatch0 2
XP2_Factory Domination0 2
XP2_Palace Domination0 2
XP2_Skybar Domination0 2
MP_017 TeamDeathMatch0 2

Alle Map-Namen findest du HIER.

Super Tipp: Füge einfach eine Map mal hinzu und lade dir im Anschluss ProCon herunter. Damit kann man einfach und bequem die Liste editieren. So musst du nicht die doofen Map-Namen im Netz suchen.

11. Lege eine Bat-Datei an
→ Rechtsklick irgendwo hin → neu → Textdokument → Nenne sie z.B. “Starten.bat”
12. Öffne diese Datei mit einem Editor
13. Füge hier nun folgenden Startbefehl ein:

C:\Users\DEIN-NUTZERNAME\AppData\Local\VeniceUnleashed\client\vu.exe -server -dedicated -listen 0.0.0.0:25200 -mHarmonyPort 7948 -RemoteAdminPort 0.0.0.0:47200

14. Editiere folgendes:
DEIN-NUTZERNAME: Füge hier dein Benutzername des Systems ein
listen 0.0.0.0:25200: Ändere ggf. Den Port ab
mHarmonyPort 7948: Ändere ggf. Den Port ab
RemoteAdminPort 0.0.0.0:47202: Ändere ggf. Den Port ab
15. Speichere die Datei ab
16. Mach nun einen Doppelklick auf die Batch-Datei, um den Server zu starten!
17. Der Server sollte nun starten und du solltest im Log sehen, das er die Konfiguration einliest und die gewünschte Map startet

Tipp: Das CMD-Fenster kann nach dem Start wieder geschlossen werden. Es ist nur eine Starthilfe für uns 🙂

Möchtest du nun einen zweiten Server starten, kopiere den Battlefield-Ordner aus dem Dokumenteverzeichnis irgendwo hin und nutze folgenden Startbefehl:

C:\Users\DEIN-NUTZERNAME\AppData\Local\VeniceUnleashed\client\vu.exe -server -serverstancePath C:\Pfad\zum\neuen\Battlefield 3\Ordner\ -dedicated -listen 0.0.0.0:25202 -mHarmonyPort 7950 -RemoteAdminPort 0.0.0.0:47202

Ändere noch die Ports auf ein paar freie ab und schon kannst du einen zweiten Server starten!
Beachte dabei, dass du einen neuen Key benötigst!

SETUP FÜR LINUX:



Das Setup für Linux ist etwas “aufwendiger”, da wir hier Windows-Daten zum laufen bekommen müssen.
Lese daher meine Infos genau durch, damit dein Setup gelingt!
Diese Anleitung wurde mit Debian 10 (64bit) erstellt.

1. Installiere ein paar Notwendigkeiten als Root

# apt-get install nano iftop htop sudo software-properties-common xvfb unzip gnupg gnupg2 gnupg1 -y

2. Füge einen normalen User zu der Sudoers-Gruppe hinzu, der später den Gameserver starten soll -> Starte den Server NICHT mit Root-Rechten! Der Reboot ist notwendig, damit die Gruppenrechte korrekt funktionieren. (Kenne keinen besseren Weg, außer einen Neustart)

# sudo usermod -a -G sudo user
# reboot

3. Logge dich mit deinem normalen Nutzer ein
4. Installiere Wine. Du kannst die Befehle hier einfach abkopieren und abschicken.

# sudo dpkg --add-architecture i386
# sudo apt-add-repository contrib
# sudo apt-add-repository non-free

# wget -nc https://dl.winehq.org/wine-builds/winehq.key
# sudo apt-key add winehq.key
# echo 'deb https://dl.winehq.org/wine-builds/debian/ buster main' > /tmp/winehq.list
# sudo cp /tmp/winehq.list /etc/apt/sources.list.d/
# rm /tmp/winehq.list
# wget -O- -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/Release.key | sudo apt-key add -
# echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10 ./" | sudo tee /etc/apt/sources.list.d/wine-obs.list
# sudo apt update
# sudo apt install --install-recommends winehq-stable -y
# sudo apt install wine wine64 wine32 winbind winetricks -y
>> JA
# sudo apt install libncurses5:i386 libncurses6:i386 -y
# WINEARCH=win32 wine wineboot

Okay nun wirds etwas doof.
Wir brauchen eine grafische Oberfläche, damit wir VCredist installieren können. Diese wollen wir ja nicht auf dem Server installieren, da es unnötig Ressourcen frisst.
Meine Empfehlung daher: Installiere dir kurz in eine virtuelle Maschine ein Linux-System (z.B. Linux Mint 20), sofern du kein Linux-System gerade als Desktop-System nutzt. Wir brauchen es nur kurz für eine Installation, dann kann es wieder weg!
Du kannst es zwar via Terminal versuchen, es kann aber schief gehen! (Bei mir ging es z.B. nie ohne GUI)

7. Erlaube X-Forwarding auf deinem Server

# sudo nano /etc/ssh/sshd_config

Ändere die Werte wie folgt ab:

X11Forwarding: yes
X11DisplayOffset: 10
X11UseLocalhost: no

WICHTIG: Merke dir die Ursprungskonfiguration, damit wir es nacher wieder deaktivieren können!
(Entferne die # vor den beiden Einträgen, damit die Zeile aktiv wird.)
8. Starte SSH neu

# sudo systemctl restart sshd

9. Verbinde dich nun mit deinem Linux-System (welches eine grafische Oberfläche hat) mit deinem Server

# ssh -X [email protected]

-> Ersetze user durch deinen Benutzernamen, der den Gameserver nacher starten soll und ersetze die IP durch die IP des Servers.
10. Installiere VCredist per grafischen Oberfläche

# cd /tmp
# wget -nc https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe
# wine /tmp/vcredist_x86.exe
# rm /tmp/vcredist_x86.exe

-> Beim Ausführen des 3. Befehls, wirst du nun die graifsche Oberfläche des Installationsassistenten sehen. Klick dich kurz durch.

11. Lege zwei neue Ordner an

# mkdir -p ~/vu/client
# mkdir -p ~/vu/instance

client = Hier landet gleich der VU Client
instance = Hier erstellen wir gleich die Serverkonfiguration. Diesen Ordner können wir später auch mehrfach duplizieren, um mehr Server zu starten.
12. Lade den VU-Client herunter

# cd ~/vu/client
# wget https://veniceunleashed.net/files/vu.zip
# unzip vu.zip
# rm vu.zip

13. Erstelle nun ein Verzeichnis mit dem Namen “bf3” im Home-Ordner deines Nutzers

# mkdir ~/bf3

14. Kopiere nun (z.B. via FileZilla) alle Spieldaten von Battlefield 3 in den Ordner bf3. Wir brauchen wirklich ALLE Daten, aber zum Glück nur 1x für den gesamten Server. (Wir können später mehrere Gameserver damit starten)
Es sollte nacher so aussehen:

/home/NUTZERNAME/bf3
>> _staller
>> Core
>> Data
>> GPUCache
>> pb
>> Support
>> Updater
- bf3.exe
- bf3.par
- BF3WebHelper.exe
- Engine.Buildfo_Win32_Retail_dll.dll
- GDFBinary_de_DE.dll
- pbsvc.exe
- version.json

15. Aktiviere nun dein Spiel
WICHTIG: Deaktiviere kurzfristig deine Zwei-Faktor-Authentifizierung für deinen Account! Die 6-Stellige Nummer können wir hier NICHT eingeben! Du kannst die 2FA später wieder aktivieren.

# wine ~/vu/client/vu.com -gamepath ~/bf3 -activate -o_mail <email> -o_pass <password>

Hinweis: Es kann vorkommen, das diverse Errors nun angezeigt werden. Wichtig ist, das wir die Ausgabe “Your game has been successfully activated!” erhalten.
16. Erstelle nun im “instance”-Ordner weitere Unterordner für die Konfiguration

# mkdir -p ~/vu/instance/Admin
# mkdir -p ~/vu/instance/Admin/Mods
# mkdir -p ~/vu/instance/Logs

17. Lege im Ordner “Admin” nun die notwendigen Config-Daten an

# touch ~/vu/instance/Admin/BanList.txt
# touch ~/vu/instance/Admin/Maplist.txt
# touch ~/vu/instance/Admin/Startup.txt

18. Öffne Startup.txt mit einem Editor

nano ~/vu/instance/Admin/Startup.txt

19. Füge Grundlegende Konfigurationsparameter ein
Ich habe hier ein Beispiel vorbereitet:

vars.serverName "GameMania BF3 Server 120Hz"
vars.friendlyFire true
vu.FrequencyMode high120
vu.ServerBanner https://fastdl.gamemania.org/Battlefield3/Serverbanner/2020-01.jpg
admin.password "SuperSicherUndSo!"

Alle verfügbaren Befehle findest du HIER.
Super Tipp: Lade dir ProCon herunter und klick dir dort deine Wunschkonfiguration zusammen. In ProCon kann man diese dann ausgeben lassen. Die kannst du dann ganz einfach in die Startup.txt einfügen. So ersparst du dir lästiges Suchen! Nutze daher zuerst meine Vorlage, um den Server einmal starten zu können und im Nachgang fügst du deine Wunschkonfiguration mit Hilfe von ProCon ein.

20. Speichere die Datei ab
21. Öffne Maplist.txt

nano ~/vu/instance/Admin/Maplist.txt

22. Füge nun deine Wunschmaps mit Modi und Rundenanzahl ein.
Ein Beispiel:

XP2_Factory TeamDeathMatchC0 2
XP2_Palace TeamDeathMatchC0 2
XP2_Skybar TeamDeathMatchC0 2
MP_017 TeamDeathMatch0 2
XP2_Factory Domination0 2
XP2_Palace Domination0 2
XP2_Skybar Domination0 2
MP_017 TeamDeathMatch0 2

Alle Map-Namen findest du HIER.

Super Tipp: Füge einfach eine Map mal hinzu und lade dir im Anschluss ProCon herunter. Damit kann man einfach und bequem die Liste editieren. So musst du nicht die doofen Map-Namen im Netz suchen.
23. Lege eine Startdatei an und befülle diese mit den notwendigen Paramtern

# nano ~/vu/start-server1.sh

Beispielinhalt:

wine ~/vu/client/vu.com -gamepath ~/bf3 -serverstancePath "$(winepath -w ~/vu/instance)" -server -dedicated -listen 0.0.0.0:25200 -mHarmonyPort 7948 -RemoteAdminPort 0.0.0.0:47200

-> “-gamepath ~/bf3” verweist auf das Verzeichnis, indem Battlefield 3 liegt. Du kannst es ggf. anpassen
-> “winepath -w ~/vu/instance” verweist auf das Verzeichnis, indem die Spiel-Config zu finden ist. Wenn du mehrere Server starten möchtest, editiere den Pfad für weitere Server
-> “-server -dedicated” wir starten VU als Server
-> “-listen 0.0.0.0:25200 -mHarmonyPort 7948 -RemoteAdminPort 0.0.0.0:47200” Wir definieren die Standardports für den Server. Hast du mehrere IP-Adressen und möchtest den Server auf eine spezielle binden, ersetze 0.0.0.0 durch deine IP.

24. Mach die Datei ausführbar

# chmod +x ~/vu/start-server1.sh

25. Platziere deine server.key-Datei aus Schritt 8 der Vorbereitung für den jeweiligen server nun im “instance”-Ordner

/home/NUTZERNAME/vu/instance/server.key

26. Starte den Server

# ~/vu/start-server1.sh

27. Alles geklappt? Dann deaktiviere jetzt wieder X-Forward

# sudo nano /etc/ssh/sshd_config

Ändere die Werte wie folgt ab:

X11Forwarding: no
# X11DisplayOffset: 10
# X11UseLocalhost: no
# sudo systemctl restart sshd

Um den Server im Hintergrund weiter laufen lassen zu können, kannst du ihn z.B. per Screen starten.

screen -S Battlefield3 /home/NUTZERNAME/vu/start-server1.sh

Wir sind durch!
Der Server läuft auf Linux!
Gebe nun noch in der Firewall die notwendigen Ports frei.

PORTS FÜR DIE FIREWALL

Gebe noch die notwendigen Ports in deiner Firewall oder Router frei, damit dein Server über das Internet erreichbar ist.

7948 – UDP – Wird für die Verbindung zum VU-Netzwerk verwendet. (Serverbrowser und so)
25200 – UDP – Frostbit Netzwerk-Layer (Wird zum spielen benötigt)
47200 – TCP – RCON-Port (Für z.B. ProCon)
Solltest du andere Ports in deiner Konfiguration vergeben haben, müssen diese freigegeben werden!

Tipp: Läuft der Server bei dir im Heimnetzwerk und nur du greifst per RCON zu, brauchst du den Port z.B. nicht in deinem Router freigeben. Dann ist RCON etwas sicherer 🙂


Weitere Infos zum Server und eine ausführliche Dokumentation in englisch, gibt es HIER.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.