Setting up a Multiplayer Server/de: Difference between revisions

From Vintage Story Wiki
Updating to match new version of source page
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
Wenn du ein temporäres Multiplayer-Erlebnis haben möchtest, reicht es, eine Einzelspielerwelt zu öffnen und dann im Escape-Menü auf "Open to Lan" zu klicken. Dies ermöglicht es Spielern in Ihrem lokalen Netzwerk, dem Spiel beizutreten.
Wenn du ein temporäres Multiplayer-Erlebnis haben möchtest, reicht es, eine Einzelspielerwelt zu öffnen und dann im Escape-Menü auf "Open to Lan" zu klicken. Dies ermöglicht es Spielern in Ihrem lokalen Netzwerk, dem Spiel beizutreten.
Wenn du Spielern außerhalb deines lokalen Netzwerks den Beitritt ermöglichen willst, kannst du auch auf "Open to Internet" klicken, wodurch versucht wird, eine externe Verbindung zu deinem Server aus dem Internet herzustellen. Dies geschieht über eine Technik namens UPnP, die auf deinem Internet-Router aktiviert sein muss, was oft standardmäßig der Fall ist. Kurz gesagt, wir schätzen, dass die Wahrscheinlichkeit, dass "Open to Internet" sofort und ohne Probleme funktioniert, bei etwa 60 % liegt. Wenn dies nicht der Fall ist, musst du eine so genannte "Portweiterleitung" auf deinem Internet-Router einrichten, was leider manchmal sehr schwierig und frustrierend sein kann. In diesem Fall musst du den TCP-Port 42420 an deinen Computer weiterleiten. (Google 'Portweiterleitung' mit dem Namen oder Modell Ihres Internet-Routers, um Hilfe zu finden.)
Wenn du Spielern außerhalb deines lokalen Netzwerks den Beitritt ermöglichen willst, kannst du auch auf "Open to Internet" klicken, wodurch versucht wird, eine externe Verbindung zu deinem Server aus dem Internet herzustellen. Dies geschieht über eine Technik namens UPnP, die auf deinem Internet-Router aktiviert sein muss, was oft standardmäßig der Fall ist. Kurz gesagt, wir schätzen, dass die Wahrscheinlichkeit, dass "Open to Internet" sofort und ohne Probleme funktioniert, bei etwa 60 % liegt. Wenn dies nicht der Fall ist, musst du eine so genannte "Portweiterleitung" auf deinem Internet-Router einrichten, was leider manchmal sehr schwierig und frustrierend sein kann. In diesem Fall musst du den TCP-Port 42420 an deinen Computer weiterleiten. (Google 'Portweiterleitung' mit dem Namen oder Modell Ihres Internet-Routers, um Hilfe zu finden.)
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want a temporary multiplayer experience it is enough to open a single player world, then click on "Open to Lan" in the escape menu. This will allow players in your local network to join.
If you want to allow players outside of your local network to join, you can then also click "Open to Internet" which will attempt to set up an external connection to join your server from the internet. This is done by a technique called UPnP and has to be enabled on your internet router, which it often is by default. In short, we estimate there's about a 60% success chance that 'Open to Internet' works instantly without issues. If it doesn't you would need to set up a so called "port forwarding" on your internet router, which can be tricky and frustrating at times, unfortunately. You would need to forward TCP Port 42420 to your computer in that case. (Google 'Port forwarding' with the name or model of your internet router to find help.)
</div>
</div>


Line 16: Line 21:
Es gibt mehrere Möglichkeiten, einen dedizierten Server einzurichten und laufen zu lassen.
Es gibt mehrere Möglichkeiten, einen dedizierten Server einzurichten und laufen zu lassen.
----
----
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Alternatively the game ships with a dedicated server program that you can start and leave on permanently without needing to log in yourself.
There are several ways to get a dedicated server up and running.
</div>
</div>


Line 52: Line 62:
* Starte VintagestoryServer.exe
* Starte VintagestoryServer.exe
* Möglicherweise musst du eine Portweiterleitung auf deinem Internet-Router einrichten, wenn der Server von außerhalb deines lokalen Netzwerks (Internet) erreichbar sein soll.
* Möglicherweise musst du eine Portweiterleitung auf deinem Internet-Router einrichten, wenn der Server von außerhalb deines lokalen Netzwerks (Internet) erreichbar sein soll.
----
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* Open the game's application folder, it is <code>%appdata%/VintageStory</code> by default.
* Run <code>VintagestoryServer.exe</code>.
* You might need to setup port forwarding on your internet router if you want the server to be accessible from outside of your local network (for example, anyone who isn't on the same WiFi as you).
----
----
</div>
</div>
Line 58: Line 75:
==== Dedizierte Server auf Linux ====
==== Dedizierte Server auf Linux ====
Hier wird beschrieben, wie du den Server als Dienst auf Linux-Systemen einrichtest.
Hier wird beschrieben, wie du den Server als Dienst auf Linux-Systemen einrichtest.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This describes how to set up the server as a service on Linux systems.<br>
<span style="color:#E16100">Note: ''The following only works for x64 processors, if using ARM please refer to the following section.''</span><br>
</div>
</div>


Line 69: Line 91:
* install <code>pgrep</code>, <code>screen</code> and <code>wget</code> using your systems package manager.
* install <code>pgrep</code>, <code>screen</code> and <code>wget</code> using your systems package manager.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 211: Line 232:
<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
==== Simple Server start command ====
==== Simple Server start command ====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you want to use a custom script or just manually start your server you can run  
If you want to use a custom script or just manually start your server you can run  
  dotnet VintagestoryServer.dll --dataPath /path/to/data
  dotnet VintagestoryServer.dll --dataPath /path/to/data
Line 232: Line 256:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Once your server is up and running you might want to look over some of the following configuration options. You can configure the server while its running through commands or by editing the [[Server Config|serverconfig.json]], for which the server needs to be stopped first.
Once your server is up and running you might want to look over some of the following configuration options. You can configure the server while its running through commands or by editing the {{ll|Server Config|serverconfig.json}}, for which the server needs to be stopped first.
On windows, by default this file is located at '''%appdata%/VintageStoryData/serverconfig.json'''.
On windows, by default this file is located at '''%appdata%/VintageStoryData/serverconfig.json'''.
On Linux it's located at '''./data/serverconfig.json''' of your server directory (e.g. ''/home/vintagestory/server/data/serverconfig.json'' if setup like described here)
On Linux it's located at '''./data/serverconfig.json''' of your server directory (e.g. ''/home/vintagestory/server/data/serverconfig.json'' if setup like described here)
Line 283: Line 307:
<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
===Debian with systemd service and rsyslog===
===Debian with systemd service and rsyslog===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
If you prefer using systemd instead of screen to run your VS Server, you can follow these Instructions.<br>
If you prefer using systemd instead of screen to run your VS Server, you can follow these Instructions.<br>
We also will setup rsyslog to split all logs into separate files.<br>
We also will setup rsyslog to split all logs into separate files.<br>
Line 290: Line 317:
==== Installation ====
==== Installation ====
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 298: Line 324:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''3. create directories'''
'''2. create directories'''
   mkdir -p /srv/gameserver/vintagestory
   mkdir -p /srv/gameserver/vintagestory
   mkdir -p /srv/gameserver/data/vs
   mkdir -p /srv/gameserver/data/vs
Line 305: Line 331:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''2. Download the game'''
'''3. Download the game'''
   cd /srv/gameserver/vintagestory
   cd /srv/gameserver/vintagestory
</div>
</div>
Line 320: Line 346:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''3. Extract tar.gz package'''
'''4. Extract tar.gz package'''
</div>
</div>


Line 328: Line 354:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''4. Change owner'''
'''5. Change owner'''
</div>
</div>


Line 337: Line 363:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''5. Create systemd service unit file'''
'''6. Create systemd service unit file'''
</div>
</div>


Line 368: Line 394:


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
'''6. Create config file for rsyslog'''
'''7. Create config file for rsyslog'''
</div>
</div>


Line 396: Line 422:
   # Discard  
   # Discard  
   if $programname == 'VSSRV' then ~
   if $programname == 'VSSRV' then ~
'''7. restart rsyslog / enable service'''
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
'''8. restart rsyslog / enable service'''
To activate rsyslog and your vintagestory server type these commands
To activate rsyslog and your vintagestory server type these commands
   systemctl restart rsyslog.service;
   systemctl restart rsyslog.service;
Line 569: Line 598:
<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
====Hetzner====
====Hetzner====
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
You will need to create a record from their DNS Console :
You will need to create a record from their DNS Console :
* Type : <code>SRV</code>
* Type : <code>SRV</code>
43,360

edits