Dockerized V Rising dedicated server in an Ubuntu 22.04 container with Wine.
Edit ServerHostSettings.json
if you want to change the ports, descriptions etc.
Variable | Key | Description |
---|---|---|
TZ | Europe/Brussels | timezone for ntpdate |
SERVERNAME | published servername | mandatory setting that overrules the ServerHostSettings.json entry |
WORLDNAME | optional worldname | default = world1. No real need to alter this. saves will be in a subdir WORLDNAME |
GAMEPORT | optional game udp port | to overrule Port in ServerHostSettings.json config |
QUERYPORT | optional query port | to overrule QueryPort in ServerHostSettings.json config |
Exposed Container port | Type | Default |
---|---|---|
9876 | UDP | ✔️ |
9877 | UDP | ✔️ |
Volume | Container path | Description |
---|---|---|
steam install path | /mnt/vrising/server | path to hold the dedicated server files |
world | /mnt/vrising/persistentdata | path that holds the world files |
docker run -d --name='vrising' \
--net='bridge' \
--restart=unless-stopped \
-e TZ="Europe/Paris" \
-e SERVERNAME="trueosiris-V" \
-v '/path/on/host/server':'/mnt/vrising/server':'rw' \
-v '/path/on/host/persistentdata':'/mnt/vrising/persistentdata':'rw' \
-p 9876:9876/udp \
-p 9877:9877/udp \
'trueosiris/vrising'
version: '3.3'
services:
vrising:
container_name: vrising
image: trueosiris/vrising
network_mode: bridge
environment:
- TZ=Europe/Paris
- SERVERNAME=vrisingDocker
volumes:
- './server:/mnt/vrising/server:rw'
- './data:/mnt/vrising/persistentdata:rw'
ports:
- '9876:9876/udp'
- '9877:9877/udp'
To enable RCON edit ServerHostSettings.json
and paste following lines after QueryPort
. To communicate using RCON protocal use the RCON CLI by gorcon.
"Rcon": {
"Enabled": true,
"Password": "docker",
"Port": 25575
},
-
Create your container and use the "WORLDNAME" environment variable. It should match the name of your server you plan to migrate. This will pass it along as the "SaveName" argument in start.sh
-
Stop the container once it has completed starting up
-
On your Windows server your data should be located in:
%USERPROFILE%\AppData\LocalLow\Stunlock Studios\VRisingServer\Cloud Save (or Saves)\v1\<guid>
-
Delete the world created by the container in the
/mnt/vrising/persistentdata/saves/v1
directory -
Copy the directory containing all the save files from your Windows server to the volume
-
Delete
ServerHostSettings.json
from your world directory -
Rename the world directory to match the {WORLDNAME} from step 1
-
Start the container
-
Configuration settings are in
/path/on/host/persistentdata/Settings/
.
Serverpatch overwrites config files in /path/on/host/server so avoid touching those json files. -
If you use different internal & external ports, you can only use direct connect. For example
-p 12345:6789/udp
container port 6789 as defined in ServerHostSettings.json, and exposed as 12345 will make your server invisible, even if"ListOnMasterServer=true"
-
If you want to see the server in the server list and want to use 27015-27016/UDP, you'll need to change the ports in the ServerHostSettings.json file to 27015 and 27016. Then expose these ports (below). Of course, forward these udp ports on your firewall from incoming wan to the ports on the internal ip of your dockerhost.
- Start the container & let the server install.
It ends with something like0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 000014B2D39FA170, 65) stub
- Stop the container.
- Alter the ports in
/path/on/host/persistentdata/Settings/ServerHostSettings.json
to"Port": 27015, "QueryPort": 27016,
- On your firewall, port forward incoming wan udp ports 27015 and 27016 to the same udp ports on your dockerhost ip.
- Restart the container with these ports:
-p 27015:27015/udp -p 27016:27016/udp
- Start the container & let the server install.
-
If you want to continue from your local game, stop the container, overwrite the persistentdata contents with your local data, and relaunch the server.