mirror of
https://github.com/BeamMP/Docs.git
synced 2025-07-03 08:25:43 +00:00
241 lines
16 KiB
Markdown
241 lines
16 KiB
Markdown
# Server Installation
|
||
|
||
## **Einen Server erstellen**
|
||
|
||
Die Basics um den Server zum laufen zu kriegen
|
||
|
||
---
|
||
|
||
## **Übersicht**
|
||
|
||
**Einen Home-Server zu hosten ist Kostenlos. Einen Partner-VPS zu verwenden ist leichter und wesentlich sicherer!**
|
||
|
||
Servers sind ein integraler Teil von BeammP. Spieler verbinden sich über den Server. Diese laufen nativ auf Windows und Linux.
|
||
|
||
Du kannst private Server erstellen, welcher nur zugänglich für vertrauen Personen ist, oder einen öffentlichen Server, der in der Serverliste aufscheint.
|
||
|
||
Einen Server einzurichten ist ein Prozess von ein paar Schritten! Wenn du Probleme hast, Frage im [Forum](https://forum.beammp.com) oder auf unserem [Discord server](https://discord.gg/beammp) im `#support` Kanal. Siehe auch [Server Wartung](server-maintenance.md) für mehr Informationen.
|
||
|
||
Lies dir die [LICENSE](https://raw.githubusercontent.com/BeamMP/BeamMP-Server/master/LICENSE) des Servers vorher durch!
|
||
|
||
Achtung: Der Server unterstützt nur IPv4 . Wenn du dir nicht sicher bist, welche du hast, schau auf [*whatsmyip.org*](https://www.whatsmyip.org/) *- wenn die Adresse * `_:_` * Doppelpunkte enthält, ist dies eine **IPv6**. In diesem Fall solltest du überprüfen, ob du auch eien IPv4 Adresse hast. Du kannst deinen Anbieter anrufen oder jemanden im Haushalt fragen (Wenn sie sich auskennen, wissen sie es bestimmt). IPv6 support ist geplant.*
|
||
|
||
## Den Server aufsetzen
|
||
|
||
Das Aufsetzten besteht aus ein paar Schritten. Du solltest unbedingt alle befolgen.
|
||
|
||
## 1. Port forwarding
|
||
|
||
*Wenn du auf einem VPS (Virtual Private Server) oder Rootserver bist, kannst du den folgenden Schritt überspringen. Wenn du nicht weißt was ein VPS oder Rootserver ist, bist du warscheinlich auch auf keinem.*
|
||
|
||
Dieser Schritt ist wichtig, wenn jemand außerhalb des Heim-Netzwerks deinem Server beitreten möchte.
|
||
|
||
### ACHTUNG:
|
||
|
||
Durch die Portweiterleitung bist du dir der Risiken bewusst, die mit der Öffnung von Ports in deinem Heimnetzwerk verbunden sind. Du kannst BeamMP daher nicht für (schwerwiegende) Schäden haftbar machen, die dir oder deinem dadurch Haushalt entstehen können. Daher wird empfohlen, einen Server bei einem unserer Partnerdienste zu hosten!
|
||
|
||
Bezahlte Services
|
||
|
||
- [Horizon Hosting](https://hrzn.link/beammp)
|
||
- [Racing Game Servers](https://racinggameservers.com/games/beamng-drive/)
|
||
- [Snakecraft Hosting](https://schost.us/beammp-plans)
|
||
- [Connect Hosting](https://connecthosting.net/beammp)
|
||
- [Assetto Hosting](https://assettohosting.com/en/games/beamng)
|
||
- [WinHeberg](https://winheberg.fr/offres/gaming/beammp?lang=en)
|
||
- [Street Inc](https://billing.streetinc.org/)
|
||
- [Zap Hosting](https://zap-hosting.com/en/beammp-server-hosting/)
|
||
|
||
Kostenfreie Services
|
||
|
||
- [Connect Hosting](https://connecthosting.net/beammp)
|
||
|
||
**Andere Anbieter, welche BeamMP Server zu kaufen bieten und hier nicht gelistet sind, sind nicht Offiziell Berechtigt BeamMP Server zu verkaufen. Diese Anbieter verlangen oft höhere Kosten als unsere Partner.**
|
||
|
||
Nun zurück zu Port Forwarding. Dieser Schritt ist derselbe wie für fast alle anderen Spielserve wie Minecraft Server. Du kannst gute Tutorials online finden, sogar Anleitungen für dein spezifisches Routermodell. Eine gute Anleitung wäre [dieses tutorial](https://www.noip.com/support/knowledgebase/general-port-forwarding-guide/). Stelle sicher, dass du den Port **30814** für **TCP** and **UDP** weiterleitest.
|
||
|
||
Während der Standard-**Port** 30814 weitergeleitet werden muss, kann man auch andere Ports statt **30814** auswählen. Der Port sollte größer als 1024. Notiere dir den Port. Du musst den Port mit **TCP** und **UDP** weiterleiten. Es ist zu empfehlen den Port bei 30814 zu belassen, da es hier am unwarscheinlichsten ist, dass ein anderes Service diesen Port verwendet. ACHTUNG: Wenn du mehrere Server auf einem Computer hostest, benötigt jeder Server einen eigenen Port. Beispiel: Server 1: 30814, Server 2: 30815.
|
||
|
||
## 1.1 Firewall
|
||
|
||
Abhängig von deinem Setup, musst du BeamMP-Server durch die Firewall lassen. Das ist der Fall bei Windows (ausschalten der Firewall funktioniert meistens **nicht**) und auf vielen vorinstallierten Linux Servern.
|
||
|
||
Dort musst du, genau wie bei der Portweiterleitung, den BeamMP-Server durch die Firewall lassen, **sowohl eingehende als auch ausgehende Verbindungen** und **sowohl TCP als auch UDP** . Wenn deine Firewall stattdessen nach einem Port fragt, muss das derselbe Port sein, den du in Schritt „1. Portweiterleitung“ verwendet hast (normalerweise 30814).
|
||
|
||
Wenn du Probleme hast, kannst du diese auch gerne in unserem [Forum](https://forum.beammp.com) oder auf unserem [Discord-Server](https://discord.gg/beammp) im `#support` Kanal fragen.
|
||
|
||
## 2. Einen Authentifizierungsschlüssel erwerben
|
||
|
||
Der “Authentication Key”, auch “AuthKey” genannt, ist wichtig, um einen **public** Server zu erstellen, **sollte** für private Server ebenfalls eingefügt werden.
|
||
|
||
Um einen Key zu bekommen ist ein [Discord](https://discord.com) Konto erforderlich. Das ist wichtig um gegen Spam zu schützen.
|
||
|
||
### 2.1. Die Schlüssel Seite öffnen
|
||
|
||
Melde dich mit Discord beim [Keymaster](https://beammp.com/keymaster) an. Klicke auf der Keymaster-Homepage links auf dem Bildschirm auf „Keys“:
|
||
|
||
<figure markdown="">  </figure>
|
||
|
||
### 2.2. Einen Schlüssel erstellen
|
||
|
||
Um einen Schlüssel zu erstellen, klicke oben rechts auf die grüne Schaltfläche „+“.
|
||
|
||
<figure markdown="">  </figure>
|
||
|
||
### 2.3. Schlüssel-Informationen eingeben
|
||
|
||
Füllen Sie als Nächstes das Feld „Servername“ aus (dies ist nur der Schlüsselname, nicht der tatsächliche Name des Servers auf der Liste) und klicken Sie dann auf „Erstellen“. Beispiel:
|
||
|
||
<figure class="image image_resized" style="width:44.84%;" markdown="">  </figure>
|
||
|
||
es sollte am Ende wie folgt aussehen:
|
||
|
||
<figure markdown="">  </figure>
|
||
|
||
**GEBE DIESEN SCHLÜSSEL NIEMALS AN ANDERE WEITER UND ZEIGEN IHN AUCH NIEMANDEM. BEHANDLE IHN WIE EIN PASSWORT.**
|
||
|
||
Du hast eine begrenzte Anzahl an Schlüsseln. Ein Schlüssel kann jeweils nur auf einem Server verwendet werden. Du kannst also nicht zwei Server gleichzeitig mit demselben Schlüssel betreiben.
|
||
|
||
### 2.4. Den Schlüssel kopieren
|
||
|
||
Kopiere den Text im “Key” Feld. In diesem Beispiel wäre das `3173a2e-6az0-4542-a3p0-ddqq5ff95558`. Klicke das ,,Klemmbrett Symbol" neben dem Schlüssel um diesen zu kopieren.
|
||
|
||
<figure markdown="">  </figure>
|
||
|
||
## 3. Installation
|
||
|
||
Es gibt Server builds für Windows und Linux.<br>Die folgenden 2 Punkte widmen sich Windows und Linux separat.
|
||
|
||
### 3.a. Installation auf Windows
|
||
|
||
Für die Linux Installation, springe zum nächsten Punkt.
|
||
|
||
Sei sicher, dass du die nötigen Ports weitergeleitet hast. Ansonsten kann niemand außerhalb des Netzwerks dem Server beitreten!
|
||
|
||
1. Stelle sicher dass du das [Visual C++ Redistributables](https://aka.ms/vs/17/release/vc_redist.x64.exe) Paket installiert hast um den Server zu starten.
|
||
2. Downloade die EXE von [beammp.com](https://www.beammp.com/).<br>Diese sollte dann so aussehen:<br>`BeamMP-Server.exe`.
|
||
3. Nach dem runterladen, erstelle einen Ordner indem du die `BeamMP-Server.exe` ablegst. Dort wird der Server betrieben.
|
||
4. Mittels Doppelklick startet man den Server. Der Server erstellt automatisch die benötigten Dateien.<br>Wenn Text im Server Feld erscheint, kannst du diesen wieder schließen. Du solltest eine `ServerConfig.toml` neben dem `BeamMP-Server.exe` sehen.
|
||
5. (optional) Für schnellen Zugriff kannst du eine Desktop Verknüpfung zu `BeamMP-Server.exe` erstellen mittels **[Rechtsklick]** > **Senden zu** > **Desktop (erstelle Verknüpfung).**
|
||
|
||
Nun springe zu Schritt "4. Konfiguration".
|
||
|
||
### 3.b. Installation auf Linux
|
||
|
||
##### Es wird empfohlen unsere builds zu verwenden
|
||
|
||
Dieser Schritt funktioniert auf allen Distributionen für die wir Binaries anbieten. Binaries findest du [hier](https://github.com/BeamMP/BeamMP-Server/releases/latest). Wenn du auf einer anderen Distribution bist, schau dir "Building from source” im Schritt darunter an.
|
||
|
||
1. Stelle sicher, dass du die nötigen Abhängigkeiten installiert hast. Eine Liste findest du [hier](https://github.com/BeamMP/BeamMP-Server#runtime-dependencies).
|
||
2. Gehe zu [beammp.com](https://beammp.com/) und klcike “Download Server” Du wirst auf die GitHub Seite weitergeleitet.
|
||
3. Downloade die richtige Version für deine Distro. Zur Erleichterung nennen wir diese `BeamMP-Server-xxx`. Ansonsten denotiert `xxx` die Version deiner Distro.
|
||
4. Nach dem Download solltest du neben anderen Dateien eine Datei namens `BeamMP-Server-xxx` sehen, die du vorerst ignorieren kannst. Erstelle irgendwo einen Ordner und lege die `BeamMP-Server-xxx` dort ab. Dort wird der Server betrieben.
|
||
5. Öffne ein Terminal, navigiere zu dem Ordner in dem der `BeamMP-Server-xxx` liegt und führe `chmod +x BeamMP-Server-xxx` aus. Das stellt sicher, dass du die korrekte Berechtigungen hast.
|
||
6. Start den Server mittels `./BeamMP-Server-xxx`. Der Server erstellt automatisch die benötigten Dateien.<br>Wenn Text im Server Feld erscheint, kannst du diesen wieder schließen. Du solltest eine `ServerConfig.toml` neben dem `BeamMP-Server.exe` sehen.
|
||
7. (optional) Es wird empfohlen einen User namens `beammpserver` (oder ähnlich) zu erstellen, da wir empfehlen, NICHT den Server als root, sudo oder mit dem persönlichen Useraccount auszuführen. Du solltest dann die nötigen Schritte tätigen um den Server als den Server-user zu starten.
|
||
|
||
Nun springe zu Schritt "4. Konfiguration".
|
||
|
||
##### Building from source
|
||
|
||
Andere Distributionen zusätzlich zu denen, die [hier](https://github.com/BeamMP/BeamMP-Server/releases/latest) bereits eine Binärdatei haben, funktionieren wahrscheinlich auch, werden aber nicht offiziell unterstützt. Wenn du diese selbst erstellen möchten, kannst du das tun, indem du die Quelle auf unserem [GitHub](https://github.com/BeamMP/BeamMP-Server) herunterlädst. Ein Tutorial findest du [hier](https://github.com/BeamMP/BeamMP-Server#build-instructions) .
|
||
|
||
Führe zum Abschluss den Server unbedingt einmal mit `./BeamMP-Server` aus und fahre dann mit dem nächsten Schritt fort.
|
||
|
||
## 4. Konfiguration
|
||
|
||
Nachdem der Server einmal gestartet wurde, sollte er die nötigen Dateien erstellt haben und einen oder zwei Fehler in die Konsole schreiben. Das ist normal, da wir noch nicht fertig sind.
|
||
|
||
<figure markdown="">  </figure>
|
||
|
||
Diese werden oft “ServerConfig”, “Server” und “BeamMP-Server” (keine Erweiterungen wie “.exe”) genannt. Diese sind aber auch korrekt!
|
||
|
||
Öffne die `ServerConfig.toml` mit einem Texteditor wie zum Beispiel `Notepad` . Dies kannst du mit <strong>[Rechtsklick] → „Öffnen mit…“</strong> und anschließender Auswahl eines Texteditors tun.
|
||
|
||
Die Datei sollte ungefähr so aussehen
|
||
|
||
```TOML
|
||
[General]
|
||
AuthKey = ''
|
||
Debug = false
|
||
Description = 'BeamMP Default Description'
|
||
Map = '/levels/gridmap_v2/info.json'
|
||
MaxCars = 1
|
||
MaxPlayers = 10
|
||
Name = 'BeamMP Server'
|
||
Port = 30814
|
||
Private = false
|
||
ResourceFolder = 'Resources'
|
||
```
|
||
|
||
Das ist die Konfigurationsdatei des Servers. Sie verwendet das TOML Format. Siehe [Server Maintenance](server-maintenance.md) Sektion für mehr Informationen.
|
||
|
||
For now, we only care about the <code>AuthKey</code> field. Between the quotes `''`, you want to paste in your AuthKey you copied in the first step.
|
||
|
||
Für unser Beispiel sollte der Eintrag so aussehen:
|
||
|
||
```TOML
|
||
AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558'
|
||
```
|
||
|
||
Vergib deinem Server einen Namen im `Name` Feld. Du kannst diesen mit Farbe und mehr formatieren. Siehe [diese Sektion zu Namensformatierung](server-maintenance.md#customize-the-look-of-your-server-name) auf der Serverwartungssteite.
|
||
|
||
Wenn du einen anderen **Port** als **30814** ausgewählt hast, achte darauf, ihn hier unter `Port` zu ersetzen.
|
||
|
||
**WICHTIG:** Der Server wird **NICHT** in der Serverliste angezeigt, solange `Private = True` ist. *Wenn* du möchtest, dass er in der Liste angezeigt wird, setze dies auf `**Private = False**` .
|
||
|
||
## 5. Validierung
|
||
|
||
Nun führe den Server nochmal aus und prüfe, ob er weitere `[ERROR]` Zeilen ausspuckt. Das Konsolenfenster sollte offen bleiben. Ab diesem Punkt kannst du BeamMP mit dem BeamMP-Launcher starten und solltest den Server inder Liste mit dem vergebenen Namen inder `ServerConfig.toml` sehen.
|
||
|
||
---
|
||
|
||
### 5.1 Wie man dem Server Mods hinzufügt
|
||
|
||
Fahrzeug und Map Mods werden unterschiedlich im Server installiert, müssen aber beide im Ordner (`Resources/Client`) abelegt werden. Alle Mods die hinzugefügt werden sollen kommen in diesen Ordner.
|
||
|
||
### 5.2 Allgemeine Mods
|
||
|
||
Wenn du nur modifizierte Fahrzeuge hinzufügen möchtest, lege die Zip-Datei der Mods einfach in den Ordner `Resources/Client`. Diese werden automatisch von jedem heruntergeladen, der dem Server beitritt.
|
||
|
||
### 5.3 Karten
|
||
|
||
Alle Standardkarten (Karten, die keine Mods sind) funktionieren sofort und müssen nicht installiert werden. Man ändert einfach die `Map` in der Datei `ServerConfig.toml` auf eine der [folgenden](server-maintenance.md#all-vanilla-maps-names) . Für alle anderen mod Karten befolge folgende Schritte:
|
||
|
||
1. Legen die `.zip` Datei der Karte in den Ordner <br> `Resources/Client` des Servers.
|
||
2. Sieh dir als Nächstes in die Zip-Datei der Karte (entpacke sie nicht) und öffne den Ordner „ `levels` “. In diesem Ordner sollte sich lediglich ein weiterer Ordner mit dem Namen der Karte befinden, zum Beispiel „myawesomedriftmap2021“. Achte darauf, diesen Namen *genau so zu kopieren oder zu merken, wie er im Namen dieses Ordners geschrieben ist.*
|
||
3. Öffne die `ServerConfig.toml`. In der `Map` Einstellung solltest du `/levels/MAPNAME/info.json` sehen, wobei `MAPNAME` wahrscheinlich so etwas wie `gridmap_v2` ist. Ersetze diesen `MAPNAME` nun durch den Namen des Ordners aus dem letzten Schritt. In diesem Beispiel war es `myawesomedriftmap2021` . Am Ende sollte es so aussehen (für dieses Beispiel) und am Ende <code>/info.json</code> <em><strong>haben</strong></em> .
|
||
|
||
```TOML
|
||
Map = '/levels/myawesomedriftmap2021/info.json'
|
||
```
|
||
|
||
Wenn jemand deinem Server beitritt, sollte die Karte automatisch heruntergeladen werden und wie erwartet funktionieren.
|
||
|
||
**Wenn dies NICHT funktioniert** , installiere die Karte in Ihrem Einzelspieler-BeamNG.drive, starte es und rufe die Karte auf. Öffne dann die Konsole, indem du die Taste `~` ( *Tilde* ) drückst (wenn du eine nicht-US-Tastatur verwendest, sieh dir die Aktion **Systemkonsole umschalten** im Menü **Optionen > Steuerung > Bindungen** im Abschnitt **Allgemeines Debuggen an** ) und führe `print(getMissionFilename())` aus. Dies sollte dir dann den zu verwendenden Namen anzeigen.
|
||
|
||
Das wärs! Die modifizierte Karte sollte jetzt laden sein!
|
||
|
||
## 6 Dem eigenen Server beitreten.
|
||
|
||
Wie du und andere Personen deinem Server beitreten können.
|
||
|
||
### 6.1a Einem selbst gehosteten Server beitreten
|
||
|
||
Du solltest dich per Direktverbindung mit dem Server verbinden. Klicke dazu links neben der Serverliste auf die **Registerkarte „Direktverbindung“** . Lasse die Standardinformationen dort (sollte 127.0.0.1 und Port 30814 sein) und klicke dann auf „Verbinden“. Wenn der Server außerhalb des Hauses gehostet wird, musst du [die IP auf diesem Computer finden](https://whatismyipaddress.com/) und auf diese Weise eine Direktverbindung herstellen.
|
||
|
||
### 6.1b Andere Spieler möchten dir beitreten
|
||
|
||
### Für private Server:
|
||
|
||
Starte den Server. Du musst deine IP Addresse vom Server anderen Spielern geben. Sei vorsichtig mit wem du deine Public IP Addrese teilst!
|
||
|
||
### Für öffentliche Server:
|
||
|
||
Starte den Server und warte ein paar Minuten. Der Server sollte dann in der **Public Servers** Liste beim Suchen des Namens, welcher in der `ServerConfig.toml` hinterlegt wurde, erscheinen. Stelle sicher, dass Suchfilter deaktiviert und die Maps auf "Any" gesetzt ist, solltest du den Server nicht finden. Du kannst auch die [Keymaster](https://beammp.com/keymaster) Website für die IP Adresse des Servers aufrufen.
|
||
|
||
Solltest du einen "Connection Failed!" Fehler bekommst, such im Launcher Fenster nach Codes. Z.b. 10060, 10061, 10030. Das bedeutet, dass du hinter einer CGNAT IPv4 bist, oder du hast etwas während Schritt 1 falsch gemacht. **1 Port Forwarding** oder **1.1. Firewall**. Um zu prüfen, ob du eine CGNAT IPv4 hast, finde die WAN IP Adresse in deinem Router Interface. Vergleiche die IP von [*whatsmyip.org*](https://www.whatsmyip.org/). IPv6 Support ist noch **NICHT** implementiert.
|
||
|
||
## Immer noch Probleme?
|
||
|
||
Öffne ein Post auf dem [Forum](https://forum.beammp.com) oder auf dem [Discord server](https://discord.gg/beammp) im `#support` Kanal.
|