Setting up a Multiplayer Server: Difference between revisions

From Vintage Story Wiki
m
clarification
m (Added Host Havoc to list of providers)
m (clarification)
 
(45 intermediate revisions by 11 users not shown)
Line 1: Line 1:
<languages/><br>
<languages/><br>
<translate>
== Basic Setup == <!--T:1-->
== Basic Setup == <!--T:1-->


===Ad-hoc Server=== <!--T:2-->
=== Ad-hoc Server === <!--T:2-->
 
<!--T:129-->
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 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.)
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.)


<!--T:3-->
<!--T:3-->
Line 10: Line 13:
----
----


===Dedicated Server=== <!--T:4-->
=== Dedicated Server === <!--T:4-->
Alternatively the game ships with a dedicated server program that you can start and leave on permanently without needing to log in yourself.
 
<!--T:130-->
As an alternative, 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.
There are several ways to get a dedicated server up and running.


==== Paid hosts ==== <!--T:5-->
==== Paid hosts ==== <!--T:5-->
Some commercial hosting services offer paid server hosting. Currently Vintage Story hosting is offered by [https://www.vintagestory.at/store/product/7-30-days-simple-server-hosting/ the developers of the game], [https://pingperfect.com/ PingPerfect], [https://citadelservers.com/ Citadel Server], [https://www.creeperhost.net/ Creeperhost], [https://www.akliz.net/games/vintage-story Akliz] and [https://www.g-portal.com/en/gameserver/rent-a-vintage-story-server GPortal], [https://hosthavoc.com/game-servers/vintage-story Host Havoc]
 
See [[List of server hosting providers]]


==== Dedicated Servers on Windows ==== <!--T:6-->
==== Dedicated Servers on Windows ==== <!--T:6-->
* Enter the games application folder, by default that is %appdata%/VintageStory
* Start VintagestoryServer.exe
* You might need to set up port forwarding on your internet router if the server should be accessible from beyond your local network (internet).
----


==== Dedicated Servers on Linux ==== <!--T:7-->
To keep your multiplayer server's settings from interfering with your single-player settings, use a custom --dataPath argument. 
This describes how to set up the server as a service on Linux systems.
 
'''Shortcut method:'''
# Navigate to the location where you will store the server's data, such as a new VintagestoryServer folder created in <code>C:\Users\YourUsername\AppData\Roaming</code>
# Create a folder for the server's data and give it a clear name, such as VSserverData
# Open that folder and copy the entire path from the address bar of File Explorer.  (example: <code>C:\Users\YourUsername\AppData\Roaming\VintagestoryServer\VSserverData</code>)
# Open the game's application folder, it is <code>%appdata%/VintageStory</code> by default.
# Create a shortcut of <code>VintagestoryServer.exe</code>.  This can usually be accomplished through the right-click menu; google instructions specific to your operating system version if needed.
# Open the Properties of the new shortcut.  This can usually be accomplished through the right-click menu.
# Click in the Target field of the shortcut's Properties, then go to the very end of what's written there.  Add one space, then <code>--dataPath=</code>, then Paste the folder path you copied earlier, in quotes.  The entire contents of the Target field should now be something like this: <code>"C:\Users\YourUsername\AppData\Roaming\Vintagestory\VintagestoryServer.exe" --dataPath="C:\Users\YourUsername\AppData\Roaming\VintagestoryServer\VSserverData"</code>
* Optional: you can move/copy the shortcut, to your desktop and/or your new VintagestoryServer folder
 
'''Batch script method''' (functionally equivalent to the shortcut method above):
# To create a batch script, simply create a blank text document and rename it with the .bat file extension. 
# You can edit it by right clicking and selecting edit.  Then just type <code>%appdata%/Vintagestory/VintagestoryServer.exe --dataPath "[PATH]"</code> replacing [PATH] with the desired path for the server's data, then save and close. 
Running the script will run the server with the alternate datapath, and will generate its own collection of config files there.  This is functionally equivalent to the modified link.  


===== Requirements for CentOS 7 (RHEL, Fedora, ...) ===== <!--T:8-->
<!--T:131-->
'''1. EPEL/screen/wget/curl Install'''
Next:
* Run the ''shortcut you made'' of <code>VintagestoryServer.exe</code> or the batch script.
* If Windows Firewall asks for permission, grant any necessary access.
* You might need to forward port 42420 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).  The process for this varies significantly; google instructions for your specific router model.


  <!--T:9-->
===== Using Windows on a virtual machine =====
yum -y install epel-release screen wget curl


<!--T:10-->
There are some reports that LAN connection to a Vintage Story server running inside a Windows virtual machine (VM) can be slow, even when internet (WAN) connections have normal performance. This may depend on VM solution and network drivers.  If this affects you, a suggested workaround is to use the Paravirtualized network adapter (virtio-net) for network adapters. The drivers are located [https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/nichardware.html here].
'''2. Mono Install'''


  <!--T:11-->
yum -y install yum-utils
  rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
  yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
  yum -y install mono mono-devel
----
----


===== Requirements for Ubuntu (Debian, Mint, ...) ===== <!--T:12-->
==== Dedicated Servers on Linux ==== <!--T:7-->
'''1. screen/wget/curl Install'''


  <!--T:13-->
<!--T:132-->
sudo apt install -y screen wget curl
This describes how to set up the server as a service on Linux systems.<br>
<span style="color:#E16100">Note: ''This section only works for x64 processors; if using ARM, please refer to the following section.''</span><br>


<!--T:14-->
===== Requirements ===== <!--T:8-->
'''2. Mono Install'''


<!--T:15-->
<!--T:109-->
As of '''Vintage Story version 1.12.7''' and above '''Mono version 5 or higher''' is recommended to use.<br>
* [https://dotnet.microsoft.com/en-us/download/dotnet/7.0 .NET Runtime 7.0] This should be all needed to run a Vintagestory server. Everything else is just for convenience to start and manage it.
This '''HowTo is written assuming Ubuntu 18.04''' as the base OS.<br>
* install <code>pgrep</code>, <code>screen</code> and <code>wget</code> using your systems package manager.
To install the latest stable version for your specific distribution, please follow the instructions from the [https://www.mono-project.com/download/stable/#download-lin Official Mono Project Download Page].
  sudo apt install gnupg ca-certificates
  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
  echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
  sudo apt update
  sudo apt install -y mono-complete


<!--T:16-->
===== Setup the server ===== <!--T:110-->
----<br>


<!--T:17-->
<!--T:17-->
'''3. Download the game'''
'''1. Download the game'''


<!--T:18-->
<!--T:18-->
<span style="color:#E16100">Advice: ''Create a seperate directory for Vintage Story as the tar.gz does not contain a subfolder.''</span>
<span style="color:#E16100">Advice: ''Create a separate directory for Vintage Story as the tar.gz does not contain a subfolder.''</span>
   mkdir server && cd server
   mkdir server && cd server


<!--T:19-->
<!--T:19-->
Goto http://account.vintagestory.at/downloads<br>
Goto http://account.vintagestory.at/downloads<br>
Copy the link of the newest "vs_server_*.*.*.tar.gz" package ('''Tar.gz Archive/Linux (server only)''' under '''Show other available downloads of Vintage Story''')<br>
Copy the link of the newest "vs_server_linux-x64_*.*.*.tar.gz" package ('''Linux Server (.tar.gz)''' under '''Show other available downloads of Vintage Story''')<br>
Download with "wget" via console (''Vintage Story version 1.12.9 in this example'').
Download with "wget" via console (''Vintage Story version 1.18.8 in this example'').


   <!--T:20-->
   <!--T:20-->
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_1.12.9.tar.gz
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.18.8.tar.gz


<!--T:21-->
<!--T:21-->
'''4. Extract tar.gz package'''
'''2. Extract tar.gz package'''


   <!--T:22-->
   <!--T:22-->
tar xzf vs_server_*.*.*.tar.gz
tar xzf vs_server_linux-x64_*.*.*.tar.gz


<!--T:23-->
<!--T:23-->
'''5. Make server.sh script executeable'''
'''3. Make server.sh script executable'''


   <!--T:24-->
   <!--T:24-->
Line 92: Line 96:


<!--T:25-->
<!--T:25-->
'''6. Edit server.sh file'''
'''4. Edit server.sh file'''


<!--T:26-->
<!--T:26-->
Line 109: Line 113:


<!--T:30-->
<!--T:30-->
'''7. Open the port at the firewall (if needed)'''
'''5. Open the port at the firewall (if needed)'''


<!--T:31-->
<!--T:31-->
Line 119: Line 123:


<!--T:32-->
<!--T:32-->
'''8. Server start and first steps'''
'''6. Server start and first steps'''


   <!--T:33-->
   <!--T:33-->
./server.sh start
  ./server.sh start
 
   Wait for the startup to finish, then you can give yourself OP with
   Wait for the startup to finish, then you can give yourself OP with
   ./server.sh command "/op <youusername>"
   ./server.sh command "/op <youusername>"


<!--T:34-->
<!--T:34-->
'''9. Connect to your IP/Domain and have fun'''
'''7. Connect to your IP/Domain and have fun'''
----
----


===== Requirements for Alpine (Advanced, no support) ===== <!--T:35-->
==== Dedicated Servers on ARM64==== <!--T:117-->
'''1. Install mono'''


<!--T:36-->
<!--T:128-->
As mono is in testing in Alpine, the testing URL (http://dl-cdn.alpinelinux.org/alpine/edge/testing) will have to be uncommented out in
<span style="color:#E16100">Note: ''Please note the ARM64 version is EXPERIMENTAL please report any issues to the [https://discord.com/channels/302152934249070593/1128220205181587516 discord ]''.


  <!--T:37-->
Currently (in game version 1.19.3 - 1.19.4, February 2024) no ARM64 .NET7 version of the '''Harmony''' patching library is available. Therefore coded mods which use Harmony will not work on an ARM64 server.  If a beta of the Harmony library becomes available in future, server owners can try installing it for themselves.</span>
/etc/apk/repositories


<!--T:38-->
<!--T:118-->
after, run
The ARM64 version is available on [https://github.com/anegostudios/VintagestoryServerArm64 GitHub ]


  <!--T:39-->
<!--T:119-->
apk update
I recommend using the install script located on the GitHub. The following is a step by step guide on how to use the script on a Debian based system (Ubuntu, Debian, Rasbian, etc).
  apk add mono mono-dev


<!--T:40-->
<!--T:120-->
'''2. Install tmux'''
1. Install the required dependencies to use this script by doing <code>apt -y install curl jq</code>


  <!--T:41-->
<!--T:121-->
apk add tmux
2. Create a new file named <code>arminstall.sh</code> by running <code>vim arminstall.sh</code> or <code>nano arminstall.sh</code>


<!--T:42-->
<!--T:122-->
'''3. Certificates'''
3. Copy the contents of the <code>arminstall.sh</code> file from GitHub to your newly created file and save it by using <code>:wq</code> with Vim or <code>Ctrl + X</code>, then <code>Y</code>, then <code>Enter</code> with Nano.


  <!--T:43-->
<!--T:123-->
apk add ca-certificates
4. Make the script executable by running <code>chmod +x arminstall.sh</code>


<!--T:44-->
<!--T:124-->
then run
5. Run the script by doing <code>./arminstall.sh</code>


  <!--T:45-->
<!--T:125-->
cert-sync /etc/ssl/certs/ca-certificates.crt
6. Start the server by using <code>./VintagestoryServer</code> or <code>dotnet VintagestoryServer.dll</code>


<!--T:46-->
<!--T:126-->
to update the certs.
This will download the latest version of Vintagestory to the current working directory, then replace the needed files to work with ARM.


<!--T:47-->
<!--T:127-->
'''4. Simplified Start Script'''
If at any time you want to update to the latest version of Vintage Story, simply run the script again.
----


<!--T:48-->
==== Simple Server start command ==== <!--T:111-->
Download and extract the server into a location as normal, then put this into a script:


  <!--T:49-->
<!--T:133-->
#!/bin/ash
If you want to use a custom script or just manually start your server you can run
  mono VintagestoryServer.exe --dataPath ./data
dotnet VintagestoryServer.dll --dataPath /path/to/data
Or
./VintagestoryServer --dataPath /path/to/data
if you have the <code>DOTNET_ROOT</code> environment variable set.


<!--T:50-->
==== Updating Servers ==== <!--T:89-->
This script will just run the server, putting the world save files into the same folder the server is extracted to.
As an advanced user, you don't need to worry about having the dependancies, checking for new versions, or installing the server or save files under different users and locations.


<!--T:51-->
<!--T:90-->
Run the script in a tmux session.
If you want to install a newer version, remove all installation files first, or you'll get unforseeable behavior. If you chose a data folder inside the installation folder, make sure to not delete that one, or you'll loose your save games, settings and player data.  
 
Download the "Tar.gz Archive/Linux (server only)" file and extract it. If you have a remote installation and only a FTP connection to your server, you will have to unpack it locally and upload each file.
<!--T:52-->
The rest of the normal advice applies too (firewalling etc.).


== Basic Configuration == <!--T:53-->
== Basic Configuration == <!--T:53-->


<!--T:54-->
<!--T:54-->
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 serverconfig.json, for which the server needs to be stopped.
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)


{{Protip
<!--T:91-->
|The easiest way to get a world configured to your wishes is to first create it in Single Player, using the advanced world creating options - and then upload it to use as your server world.
{{Protip|The easiest way to get a world configured to your wishes is to first create it in Single Player, using the advanced world creating options - and then upload it to use as your server world.}}
}}


<!--T:55-->
<!--T:55-->
Line 215: Line 215:
Lastly, you can configure a server that was created with the 'Open to Lan' method in the same way as you do for dedicated ones, be aware though, in that case a few of the configurations are overridden by the client, such as the save file location.
Lastly, you can configure a server that was created with the 'Open to Lan' method in the same way as you do for dedicated ones, be aware though, in that case a few of the configurations are overridden by the client, such as the save file location.


===Acquiring server admin rights===
===Acquiring server admin rights=== <!--T:92-->


<!--T:93-->
If you have access to the server console, type <code>/op playername</code>. If not, open up the serverconfig.json and replace
If you have access to the server console, type <code>/op playername</code>. If not, open up the serverconfig.json and replace
<code>"StartupCommands": null,</code>
<code>"StartupCommands": null,</code>
Line 222: Line 223:
<code>"StartupCommands": "/op playername",</code>
<code>"StartupCommands": "/op playername",</code>


<!--T:94-->
In both instances you should replace <code>playername</code> with your actual player name.
In both instances you should replace <code>playername</code> with your actual player name.


Line 227: Line 229:


===Debian with systemd service and rsyslog=== <!--T:60-->
===Debian with systemd service and rsyslog=== <!--T:60-->
<!--T:134-->
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>


==== Installation ==== <!--T:61-->
==== Installation ==== <!--T:61-->
<!--T:62-->
'''1. mono Install Debian 9'''
  sudo apt install apt-transport-https dirmngr gnupg ca-certificates wget nano
  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
  echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
  sudo apt update
  sudo apt install mono-devel
<!--T:63-->
For Debian 10 use
  echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list


<!--T:64-->
<!--T:64-->
'''2. create a user'''
'''1. create a user'''
   adduser --shell /bin/bash --disabled-password gameserver
   adduser --shell /bin/bash --disabled-password gameserver


<!--T:65-->
<!--T:65-->
'''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 260: Line 252:
<!--T:67-->
<!--T:67-->
Goto http://account.vintagestory.at/downloads<br>
Goto http://account.vintagestory.at/downloads<br>
Copy the link of the newest "vs_server_*.*.*.tar.gz" package ('''Tar.gz Archive/Linux (server only)''' under '''Show other available downloads of Vintage Story''')<br>
Copy the link of the newest "vs_server_linux-x64_*.*.*.tar.gz" package ('''Linux Server (.tar.gz)''' under '''Show other available downloads of Vintage Story''')<br>
Download with "wget" via console (''Vintage Story version 1.12.9 in this example'').
Download with "wget" via console (''Vintage Story version 1.18.8 in this example'').


   <!--T:68-->
   <!--T:68-->
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_1.12.9.tar.gz
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.18.8.tar.gz


<!--T:69-->
<!--T:69-->
Line 270: Line 262:


   <!--T:70-->
   <!--T:70-->
tar xzf vs_server_1.12.9.tar.gz
tar xzf vs_server_linux-x64_1.18.8.tar.gz
 
<!--T:112-->
'''5. Change owner'''
'''5. Change owner'''


Line 290: Line 284:
   [Service]
   [Service]
   WorkingDirectory=/srv/gameserver/vintagestory
   WorkingDirectory=/srv/gameserver/vintagestory
   ExecStart=/usr/bin/mono VintagestoryServer.exe --dataPath /srv/gameserver/data/vs
   ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs
   Restart=always
   Restart=always
   RestartSec=30
   RestartSec=30
Line 301: Line 295:
   [Install]
   [Install]
   WantedBy=multi-user.target
   WantedBy=multi-user.target
<!--T:113-->
Make sure the new user has access to the <code>dotnet</code> command or replace the command with the full path to where you installed the dotnet runtime (if you picked a custom install). Or you can also use <code>ExecStart=VintagestoryServer --dataPath /srv/gameserver/data/vs</code> if you have the <code>DOTNET_ROOT</code> environment variable set.


<!--T:74-->
<!--T:74-->
Line 330: Line 327:
   # Discard  
   # Discard  
   if $programname == 'VSSRV' then ~
   if $programname == 'VSSRV' then ~
<!--T:136-->
'''8. restart rsyslog / enable service'''
'''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
Line 397: Line 396:
Copy from step 6 and change these lines:
Copy from step 6 and change these lines:
   Description=Vintage Story Server 2 Unit
   Description=Vintage Story Server 2 Unit
   ExecStart=/usr/bin/mono VintagestoryServer.exe --dataPath /srv/gameserver/data/vs2
   ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs2
   SyslogIdentifier=VSSRV2
   SyslogIdentifier=VSSRV2
Create rsyslog file and copy code from step 7
Create rsyslog file and copy code from step 7
Line 416: Line 415:
<!--T:88-->
<!--T:88-->
Have Fun!
Have Fun!
==Advanced setup== <!--T:95-->
===Using an SRV Record to point a domain to your server=== <!--T:96-->
<!--T:97-->
In some cases, you may not able to get a server with the default port (Multiple instances on the same server, paid hosts...), and you will have to add the port at the end of the server's address in order to connect to it.<br>
But you might want to avoid the need to specify the port (Easier to remember, look cleaner).
There is a way to point a domain to your server and avoid the need to add the port : SRV Records<br>
<!--T:98-->
SRV Records allow you to point a domain/subdomain to your instance, while letting the game know the port to use.<br>
How to set up an SRV Records will depend on your domain provider, and you should check on their documentation before making any changes. However, the idea and values remain the same for every provider.<br>
<!--T:99-->
Let's take a server with the following details :
* Address : <code>play.example.com</code>
* Port : <code>50030</code>
* Owned domain : <code>mydomain.com</code>
* Desired subdomain : <code>vintagestory.mydomain.com</code>
<!--T:100-->
Your raw SRV Records should look something like this :
  _vintagestory._tcp.vintagestory.mydomain.com.  IN  SRV 10 10 50030 server.example.com.
<!--T:101-->
The underscores and trailing dots are important! Here are some details :
* <code>_vintagestory</code> define the service, in our case, Vintage Story<br>
* <code>_tcp</code> define the protocol, Vintage Story use TCP<br>
* <code>vintagestory.mydomain.com.</code> is the subdomain we want to use. The trailing dot is important!<br>
* <code>IN SRV</code> Define the record type, don't change this<br>
* <code>10 10</code> are in order the priority and the weight of our record, in our case those are not important, as you are probably not going to load balance a Vintage Story server<br>
* <code>50030</code> is the port our instance is listening on<br>
* <code>server.example.com.</code> is the target, where the server is located. The trailing dot is mandatory as the target server is not on the same domain as us. If it was the case, you would only need to add the subdomain of the target without the trailing dot<br>
<!--T:102-->
If you wanted to have your record pointing to your domain directly, you would have <code>mydomain.com.</code> instead of <code>vintagestory.mydomain.com.</code>
<!--T:103-->
Here is how to do it for OVH and Hetzner (Don't forget to edit the values to suit your setup !) :
====OVH==== <!--T:104-->
<!--T:105-->
You will need to go to your DNS zone and add an entry, select the SRV Record type :
* Sub-domain : <code>_vintagestory._tcp.vintagestory</code> You don't need to add your domain, as their form do it for you.
* TTL : No need to change this
* Priority : <code>10</code>
* Weight : <code>10</code>
* Port : <code>50030</code>
* Target : <code>server.example.com.</code>
====Hetzner==== <!--T:106-->
<!--T:135-->
You will need to create a record from their DNS Console :
* Type : <code>SRV</code>
* Name : <code>_vintagestory._tcp.vintagestory.mydomain.com.</code>
Click on the Value field to enter the details :
* Priority : <code>10</code>
* Weight : <code>10</code>
* Port : <code>50030</code>
* Target : <code>server.example.com.</code>
<!--T:107-->
Wait a few minutes for your record to propagate and then try to use it to connect to the server, using <code>vintagestory.mydomain.com</code> as the address.
<!--T:108-->
You are now all set up to share your server with your custom domain.
</translate>
</translate>
{{Game navbox}}
Confirmedusers, editor
1,052

edits