[Tutorial] ArmA 3 Dedicated Server einrichten unter Windows (mit extDB3 & 64bit) (Altis Life & Tanoa Life)

Ab sofort füllen wir den Artikel-Bereich von Native-Network.net regelmäßig mit neuen Inhalten zu verschiedenen Themen! Direkt zu den Artikeln gelangst du

HIER

  • Hallo zusammen!


    Hier findet ihr nun endlich das für extDB3 und die neue 64bit Architektur von ArmA 3 überarbeitete Tutorial, oder anders gesagt: Wie erstelle Ich einen eigenen ArmA 3 Server?
    Sollte ich etwas vergessen haben informiert mich bitte darüber, ich ergänze es dann.



    Vorwort:


    In diesem Tutorial werde Ich nicht auf die Einrichtung von Tools via BEC eingehen! (Nein BEC ist noch immer nicht BattlEye sondern lediglich ein Tool für dessen Verwaltung.)



    Folgendes werdet ihr im laufe des Tutorials einrichten:



    - ArmA 3 Gameserver (64bit)
    - Datenbankserver & passende Datenbank für die aktuellste Altis- oder Tanoa Life Version
    - Datenbankbenutzer
    - extDB3 (64bit)
    - BattlEye Konfiguration für die Verbindung via RCon

    - Altis Life oder Tanoa Life (Download der aktuellsten Version immer im GitHub Repository möglich: https://github.com/AsYetUntitled/Framework )


    Ihr benötigt zudem folgende Programme:


    - Notepad++
    - PBO Manager
    - Navicat Lite
    - MySQL Server

    - Visual Studio C++ Redistributable 2015 32bit + 64bit



    Alle benötigten Dateien sind entsprechend verlinkt und können direkt heruntergeladen werden.




    Schritt 1:


    Nach der Installation von Windows auf eurem Rootserver findet ihr nun eine leere Desktopoberfläche vor.
    Zu Beginn installieren wir benötigte Komponenten damit extDB3 im späteren Verlauf korrekt funktionieren kann. Ladet dazu einfach "Visual Studio C++ Redistributable 2015 32bit + 64bit" aus der Liste oben herunter und installiert sowohl die 32bit als auch die 64bit Variante.




    Erstellt nun im Anschluss folgende Verzeichnisse:


    C:\server\steam
    C:\server\A3Master
    C:\server\A3Files


    Schritt 2:


    Ladet euch hier die SteamCMD.exe herunter: KLICK MICH
    Und packt diese in dieses Verzeichnis: C:\server\steam
    Anschließend startet ihr diese durch einen Doppelklick und wartet bis Steam die notwendigen Dateien heruntergeladen hat welche sich nun im selben Verzeichnis befinden sollten.



    HINWEIS: Eine Installation des Steam-Clients wie ihr es sicher von eurem Computer Zuhause kennt ist NICHT nötig!

    Schritt 3:


    Wechselt nun in folgendes Verzeichnis: C:\server\A3Files
    Verschiebt nun die .bat Datei mit dem Namen "serverupdate.bat" welche ihr im Anhang dieses Beitrages finden könnt in dieses Verzeichnis. Wenn ihr selbst in der Lage seid eine .bat Datei zu erstellen könnt ihr dazu diesen Inhalt nutzen:





    Bei "SET STEAMLOGIN=STEAMNAME STEAMPASSWORT" ersetzt ihr "STEAMNAME" durch euren Steamloginnamen und "STEAMPASSWORT" durch dass dazugehörige Passwort damit die nötigen Daten für den Arma 3 Server heruntergeladen werden können. Solltet ihr die .bat Datei auf dem Anhang verwendet führt auf diese einen Rechtsklick auf und öffnet sie im Anschluss am besten mit Notepad++ (Kostenloser Download)



    Startet nun die serverupdate.bat und wartet ab bis alle Daten heruntergeladen wurden. Immer wenn ein Arma3 Update erscheint startet ihr diese .bat Datei um auch euren Server zu updaten.


    ACHTUNG: Falls ihr Steamguard aktiviert habt kann es sein dass ihr nach einem Code gefragt werdet. Diesen erhaltet ihr per EMail und müsst ihn einfach dort eingeben um den Download zu starten.


    HINWEIS: Solltet ihr euren Server updaten wollen, müsst ihr diesen natürlich zuerst stoppen!



    Schritt 4:


    Öffnet nun folgendes Verzeichnis: C:\server\A3Master


    Erstellt dort die Datei "server.cfg" mit folgendem Inhalt:
    (Einige Inhalte habe ich übersetzt da ich schon zu oft danach gefragt wurde.. Votefunktionen sind bereits deaktiviert.)
    Falls ihr nicht wisst wie ihr eine .cfg Datei erstellt könnt ihr euch diese einfach auf dem Anhang in diesem Beitrag herunterladen.



    Anschließend erstellt ihr eine Verknüpfung der arma3server_x64.exe auf eurem Desktop.
    Macht einen Rechtsklick auf dieser Verknüpfung, klickt auf Eigenschaften und gebt nun bei "Ziel:" folgendes ein:

    Code
    1. C:\server\A3Master\arma3server_x64.exe -autoinit [email protected];@life_server -config=server.cfg -bepath=C:\server\A3Master\battleye -profiles=C:\server\A3Master


    Danach klickt ihr auf OK.


    Schritt 5:


    Kommen wir nun zum lustigen Teil, dem Port Forwarding (Portfreigaben).
    Diese werden benötigt damit der Server ohne Probleme nach außen kommunizieren kann und damit euren Spielern Verbindungsprobleme aufgrund verschlossener Ports erspart bleiben.


    Öffnet folgendes: Systemsteuerung>System und Sicherheit>Windows-Firewall.


    Wählt dort den Punkt "Eine App oder ein Feature durch die Windows-Firewall zulassen".



    Dort klickt ihr nun auf "Einstellungen ändern" und im Anschluss auf "Andere App zulassen..."



    Dort wählt ihr nun einfach eure arma3server_x64.exe aus, danach sind alle benötigten Ports für ArmA 3 freigegeben und ihr brauch euch darum keine Sorgen mehr zu machen.


    ACHTUNG: Egal was euch jemand erzählt, schaltet NIEMALS eure Windows-Firewall komplett aus! Sollte euch jemand raten diese abzuschalten, hat dieser jemand keine Ahnung und stellt eine Gefahr für euren Server dar. Klingt hart, ist aber so.



    Schritt 6:


    Nun konfigurieren wir BattlEye um eine Verbindung via RCon zu ermöglichen, so könnt Ihr dann unter anderem Spieler bannen und Nachrichten an den Server und einzelne Spieler senden.

    Öffnet folgende Datei mit Notepad++: C:\server\A3Master\battleye\beserver.cfg


    Der Inhalt dieser Datei sollte wie folgt aussehen:


    Code
    1. RConPassword DEINRCONPASSWORT
    2. RConPort 2903
    3. RConIP 0.0.0.0
    4. MaxPing 350


    Der Parameter "RConPassword" gibt das Passwort an mit welchem man via RCon auf den Server verbinden kann, der "RConPort" kann an sich beliebig geändert werden, jedoch darf der Port nicht bereits von ArmA 3 belegt sein (zb kein 2302-2305). Der Parameter "RConIP" gibt an von welcher IP Adresse aus eine Verbindung via RCon zu eurem Server hergestellt werden kann, der Wert "0.0.0.0" erlaubt jedem Besitzer des RCon-Passwortes sich von einer beliebigen IP auf den Server zu verbinden.



    Schritt 7:


    Nun installieren wir einen MySQL Server und ein entsprechendes Verwaltungsprogramm auf dem Server.
    Wir werden uns während der Installation auch um eine grundlegende Konfiguration kümmern welche die Leistung des MySQL Servers im Vergleich zu einer normalen Installation etwas anheben wird.


    Ladet euch hier die MySQL Version 5.7 herunter: KLICK MICH


    Startet nun den Installationsvorgang durch einen Doppelklick auf die heruntergeladene Datei. Los gehts:





    Akzeptiert dort die Lizenzvereinbarung klickt auf Weiter.



    Wählt nun den Punkt "Server only", wir wollen schließlich nur den MySQL Server installieren und keinen anderen Quatsch.





    Nun wählt ihr "Execute" wodurch ihr den Installationsvorgang startet. Danach klickt ihr zweimal auf "Next" und gelangt so zur Konfiguration.




    Als Config Type wählen wir "Dedicated Machine", dadurch weisen wir dem MySQL Server die maximalen Ressourcen zu.
    Zudem entfernen wir aus Sicherheitsgründen den Haken bei "Open Firewall port for network access". Aktiviert diese Option wirklich nur wenn ihr genau wisst was ihr tut.
    Nun klickt ihr wieder einmal auf "Next" und müsst nun das Passwort für den "root"-Benutzer festlegen.


    ACHTUNG: Das Passwort des "root"-Benutzers ist ein sehr wichtiger Punkt wenn es um die Sicherheit eures Servers geht. Wir werden für den Altis Life Server zwar einen anderen Benutzer verwenden, ebenfalls aus Sicherheitsgründen, trotzdem sollte das Passwort des "root"-Benutzers besonders Sicher sein. Ich empfehle euch ein generiertes Passwort aus 25 Stellen mit Groß- und Kleinbuchstaben als auch Zahlen.
    Hier könnt ihr einfach ein Passwort generieren: Passwort Generator ツ - Kostenlos sicheres Passwort erstellen


    WICHTIG: Speichert dieses Passwort UNBEDINGT und bewahrt es sicher auf! Jeder der dieses Passwort kennt hat volle Kontrolle über euren MySQL Server!



    Nun klickt ihr wieder auf "Next" und lasst dort alle Optionen unverändert, weiter geht es indem ihr wieder einmal auf "Next" klickt...
    Auf der nächsten Seite klickt ihr ebenfalls auf "Next" und danach auf "Execute".


    Nach Abschluss der Konfiguration dürft ihr mal wieder Buttons durchklicken.



    Zuerst "Finish", dann "Next" und zum Schluss erneut auf "Finish".



    Geschafft! Euer MySQL Server ist nun Installiert, konfiguriert und Einsatzbereit! :)




    Schritt 8:

    Für Die Verwaltung der Datenbanken innerhalb des MySQL Datenbankservers verwendet ihr "Navicat Lite".
    Das ganze gibt es hier kostenlos: KLICK


    Via Navicat habt ihr die Möglichkeit eure Datenbanken zu verwalten um zum Beispiel etwas zu editieren oder die Datenbank neu zu installieren.
    Ich bevorzuge Aufgrund des Funktionsumfangs die kostenpflichtige Vollversion von Navicat (auf navicat.com für ca 120€), woher ihr diese allerdings bekommt bleibt euch überlassen... *hust*
    Die kostenlose Version reicht jedoch auch voll und ganz aus(!).


    Die Installation von Navicat könnt ihr ganz einfach durchklicken, dort gibt es nichts zu beachten.
    Nach der Installation von Navicat stellen wir nun die Verbindung zur Datenbank her.


    Öffnet Navicat, klickt Links auf "Connection" und wählt "MySQL".
    Als Connection Name wählen wir "localhost". Die Einstellung "localhost" und den Port 3306 lasst ihr unverändert. Als Benutzernamen und Passwort tragt ihr die Daten ein welche ihr während der MySQl Installation festgelegt habt. Also als benutzername "root" (ohne "") und euer festgelegtes Passwort.


    Klickt im Anschluss auf "Test Connection" und die Verbindung sollte erfolgreich sein wenn ihr alles richtig gemacht habt.


    ACHTUNG: Die Screenshots können von eurer Version von Navicat abweichen. Ich nutze die kostenpflichtige...




    Klickt nun auf "OK" und wir können mit dem Import eurer Datenbank beginnen.


    Doppelklickt nun "localhost" links in der Liste, woraufhin sich eine Liste mit Datenbanken öffnet. Dabei handelt es sich um Datenbanken welche Standartmäßig in MySQL enthalten sind, lasst einfach die Finger von diesen. :P


    Recktsklickt nun "localhost" und wählt "Execute SQL File..."
    Bei "File" wählt ihr nun die .sql Datei eurer Datenbank aus und klickt anschließend auf "Start". Nun wird die Datenbank importiert, danach könnt ihr das Fenster schließen.





    Nun sollte sich Links in der Liste der Datenbanken eine neue Datenbank mit Namen "altislife" befinden. Eventuell müsst Ihr die Liste dazu neu laden (F5).


    Doppelklickt ihr diese erscheinen Tabellen, darin befinden sich alle Daten eures Server wie Spielernamen, Fahrzeuge, Gangs etc.



    Wir erstellen nun kurz einen neuen Benutzer da wir aus Sicherheitsgründen nicht mit dem "root"-Benutzer arbeiten werden.


    Klickt also oben in Navicat auf "User" und anschließend auf "New User".





    Tragt dort nun einen Benutzernamen und ein Passwort eurer Wahl ein. Auch hier empfehle ich euch ein sicheres Passwort zu verwenden, dieses könnt ihr ebenfalls generieren.





    Wählt nun im oberen Reiter den Punkt "Privileges" und klickt dann auf "Add Privilege".




    Dort setzt ihr Links einen Haken bei eurem Datenbanknamen und vergebt mithilfe der Hakenfelder Rechts die folgenden Rechte:


    Select, Insert, Update, Trigger, Execute, Event, Delete



    Mehr Rechte als diese benötigt der Benutzer für den Betrieb eines ArmA 3 Altis Life Servers nicht.
    Klickt nun auf "OK".


    Im darauf folgenden Fenster müsst ihr nun lediglich auf "Save" klicken, dann habt ihr die Erstellung eines neuen Benutzers abgeschlossen.





    Schritt 9:


    Kommen wir nun zur Konfiguration von extDB3.
    Wenn ihr Altis Life 3.1.4.8 verwendet nutzt bitte "extDB", bei Versionen ab Altis Life 4.0 bitte "extDB2".
    Hier findet ihr entsprechende Download:


    Verschiebt die Inhalte aus dem Verzeichnis extDB3 (Download oben in der Liste) in folgendes Verzeichnis: C:\server\A3Master Verzeichnis. Öffnet nun in eurem A3Master Verzeichnis den "@extDB3" Ordner und im Anschluss die "extdb-conf.ini".


    Das ganze sollte in etwa so aussehen:



    Ändert dort den unteren Abschnitt wie folgt:


    Code
    1. [altislife]
    2. IP = 127.0.0.1
    3. Port = 3306
    4. Username = DEIN BENUTZERNAME
    5. Password = DEIN PASSWORT
    6. Database = altislife



    ACHTUNG: Bitte nicht vergessen den neu erstellen Benutzer und nicht den root Benutzer zu verwenden!




    Zum Schluss kopiert Ihr die heruntergeladene Missionsdatei (zb Altis_Life.Altis) als auch das beiliegende in den Ordner "mpmissions" unter C:\server\A3Master

    Folgendes Verzeichnis müsst Ihr noch erstellen: C:\server\A3Master\@life_server\addons

    In dieses kopiert Ihr den Ordner "life_server" und verpackt diesen zu einer ".pbo" indem Ihr den Ordner Rechtsklickt und anschließend mithilfe des PBO Managers als PBO packt.


    Nun könnt Ihr euren Server über die zu Beginn des Tutorials erstellte Verknüpfung starten.





    FERTIG.


    Ich hoffe ich konnte einigen von euch helfen und die Installation ihres Servers etwas erleichtern. Bei Fragen erstellt bitte hier einen neuen Beitrag: Spieler helfen Spielern



    Bis dahin und Viel Erfolg! :thumbsup:



    Falls ich etwas vergessen habe, shame on me.. Aber es war echt viel zu schreiben. :whistling:

  • Guten Tag,


    wie lautet der Parameter mit den ich es einstelle, dass Battleye keine Updates sucht?


    Gruß Mirko

    Steht doch da oder?

    ACHTUNG: Da BEC eingestellt wurde musst du nun zusätzlich noch folgende Schritte befolgen um das ganze zum laufen zu bringen: [Tutorial] BEC wieder zum laufen bringen

  • Richtig. So habe ich es auch gemacht. Trotzdem schließt sich die BEC Konsole nach wenigen Sekunden, da der keine Verbindung zum Update Server aufbauen kann. Es gibt einen Startparameter, womit man den Updateserver ausschalten kann. Diesen Parameter suche ich!


    BEC hat NICHTS mit BattlEye zutun! Nicht BattlEye will eine Verbindung zu einem Updateserver aufbauen sondern BEC, wenn du die hosts Datei korrekt bearbeitet hast sollte es keine Probleme geben.

  • Mit den Tutorial funktioniert das aber nicht. BEC schließt sich nach ein paar Sekunden wieder.


    Starte BEC mal bitte mit dem Parameter "--dsc". Dann solltest du die fehlermeldung identifizieren können.

  • weil auf nem root haste doch keine systeme und systemsteuerung!

    Na klar hast du aufm Root Systeme und Systemsteuerung.


    2008, 2012 sowie auf 2016 Servern.


    Sind auch gleich aufrufbar wie bei Homerechnern.



    Pac schrieb:

    Ich bring mich um....

    Unterlasse bitte in Zukunft solche Kommentare.
    Ein einfaches "Doch. Rootserver haben das" reicht aus.

  • Starte BEC mal bitte mit dem Parameter "--dsc". Dann solltest du die fehlermeldung identifizieren können.

    Super! Hat geklappt. Das war übrigens auch der Parameter, den ich gesucht hatte. Ich danke dir und den anderen hier!


    Jetzt hab ich nur noch Infistar, welches nicht mehr funktioniert. Die Filter habe ich von meinen Gameserver 1zu1 übernommen und dennoch werde ich wegen MPEventhandler Discribtion #1 gekickt..