V Rising Dedicated Server Provisioning via SteamCMD
Stunlock Studios distributes V Rising as a Windows native dedicated server (Steam AppID 1829350 for the game, 1829350 client and 1829350 for the server tool). On Windows the install is direct. On Linux the supported path is to install the Windows binaries via SteamCMD and launch them under Proton, since there is no native Linux dedicated build at the time of writing. This guide walks both paths, then dives into the two JSON files that own every gameplay tunable: ServerHostSettings.json and ServerGameSettings.json.
Prerequisites
- Ubuntu 22.04 LTS, or Windows Server 2019 and newer.
- 8 GB RAM, 4 CPU cores, 20 GB SSD disk space for the install and save data.
- UDP 9876 (game) and UDP 9877 (query) open at the host firewall and forwarded to the VM.
- A non root user dedicated to the server install on Linux, or a non administrator service account on Windows.
Step 1: Install SteamCMD
SteamCMD is the canonical way to pull and update the V Rising dedicated server binaries on either platform.
sudo dpkg --add-architecture i386sudo apt updatesudo apt install -y software-properties-commonsudo add-apt-repository -y multiversesudo apt updatesudo apt install -y steamcmd# Create a dedicated service usersudo adduser --disabled-password --gecos "" vrisingmkdir C:\steamcmdcd C:\steamcmdInvoke-WebRequest -Uri https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip -OutFile steamcmd.zipExpand-Archive .\steamcmd.zip -DestinationPath ..\steamcmd.exe +quitStep 2: Download the V Rising Server (AppID 1829350)
The V Rising dedicated server is anonymous-login eligible, no Steam account required. Install it into a clean directory that your service user owns, never into a system path.
sudo machinectl shell vrising@mkdir -p ~/vrising-serversteamcmd +force_install_dir /home/vrising/vrising-server \ +login anonymous \ +app_update 1829350 validate \ +quitC:\steamcmd\steamcmd.exe +force_install_dir C:\VRisingServer ^ +login anonymous ^ +app_update 1829350 validate ^ +quitStep 3: Directory Layout and Persistence
Once installed, the binary lives in the install folder, but the save data and configuration land in a completely separate path that survives reinstalls and updates. Knowing exactly which directory holds what is the difference between a five second restore and an overwritten world.
VRisingServer.exeships in the install root (for exampleC:\VRisingServeror~/vrising-server). This directory is fully replaced by SteamCMD on every update, do not store anything custom here.- On Windows, save data and per world settings live under
%USERPROFILE%\AppData\LocalLow\Stunlock Studios\VRisingServer\Saves\v3\<SaveName>. The default save name isworld1. - On Linux under Proton, the same path is virtualized inside the Proton prefix, typically
~/.steam/steam/steamapps/compatdata/1829350/pfx/drive_c/users/steamuser/AppData/LocalLow/Stunlock Studios/VRisingServer/Saves/v3/world1. - You can relocate saves with the
-persistentDataPathlaunch argument to a flat directory like/opt/vrising/saves. This makes backups trivial and avoids the Proton path entirely.
Change the default RCON password before going online
ServerHostSettings.json includes an empty RCON section. Set a long random password and bind RCON to 127.0.0.1 if you are tunneling over SSH. Exposing RCON on the public interface with a weak password hands control of the world to anyone scanning the port.Step 4: Generate the Default Config
The first launch generates a fresh ServerHostSettings.json and ServerGameSettings.json inside the persistent settings directory. Boot the server once, let it write the defaults, then stop it before editing.
cd ~/vrising-server# Initial boot, generates the default configs, then Ctrl+C./VRisingServer.exe -persistentDataPath /opt/vrising/saves -serverName "Vardoran" -saveName world1cd C:\VRisingServer.\VRisingServer.exe -persistentDataPath C:\VRisingData -serverName "Vardoran" -saveName world1Step 5: Edit ServerHostSettings.json
This file owns the network and identity layer of the server. The example below tunes for a 30 player PvP league, with RCON locked to the loopback interface.
{ "Name": "Vardoran Nights", "Description": "Locked PvP league, full loot, weekly wipes", "Port": 9876, "QueryPort": 9877, "MaxConnectedUsers": 30, "MaxConnectedAdmins": 4, "ServerFps": 30, "SaveName": "world1", "Password": "REPLACE_LONG_PASSWORD", "ListOnSteam": true, "ListOnEOS": true, "AutoSaveCount": 40, "AutoSaveInterval": 120, "Rcon": { "Enabled": true, "BindAddress": "127.0.0.1", "Port": 25575, "Password": "REPLACE_LONG_RCON_PASSWORD" }}Step 6: Edit ServerGameSettings.json
{ "GameModeType": "PvP", "CastleDamageMode": "Always", "SiegeWeaponHealth": "Normal", "PlayerDamageMode": "Always", "ClanSize": 4, "BloodBoundEquipment": true, "TeleportBoundItems": true, "AnnounceSiegeWeaponSpawn": true, "InventoryStacksModifier": 2.0, "DropTableModifier_General": 1.5, "BloodDrainModifier": 0.75, "DurabilityDrainModifier": 1.0}Step 7: Avoiding Permission Errors on Linux
The most common failure when running V Rising under Proton on Linux is the server failing to write to its own save directory because Proton was first invoked as root. Always run SteamCMD, the first Proton boot, and the server itself as the same unprivileged user, and ensure the persistent data directory is owned by that user.
sudo mkdir -p /opt/vrising/savessudo chown -R vrising:vrising /opt/vrisingsudo chown -R vrising:vrising /home/vrising/vrising-serverStep 8: Firewall Rules
sudo ufw allow 9876/udpsudo ufw allow 9877/udpsudo ufw reloadNew-NetFirewallRule -DisplayName "VRising Game" -Direction Inbound -Protocol UDP -LocalPort 9876 -Action AllowNew-NetFirewallRule -DisplayName "VRising Query" -Direction Inbound -Protocol UDP -LocalPort 9877 -Action AllowPerformance and Tuning
- Pin
ServerFpsto 30 for any deployment above 20 players. 60 is achievable only on the fastest single thread CPUs. - Lower
BloodDrainModifierto 0.5 for casual PvE, raise toward 1.5 for hardcore PvP leagues. - Set
AutoSaveCountto 40 or higher so a corruption event has plenty of historic snapshots to roll back to. - Mirror the entire
Savesdirectory off-host every 6 hours withrsyncor a scheduled task.
Conclusion
With SteamCMD owning the binaries and -persistentDataPath owning the saves, V Rising becomes a reproducible deployment on either platform. Version your two JSON config files in a private repo, schedule a save mirror, and rotate the RCON password on a regular cadence.