Hosting Guides

V Rising Dedicated Server Provisioning via SteamCMD

9 min readLinux & WindowsSteamCMDUnity
Once your server is online, jump to the V Rising command and config reference.

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.

user@ubuntu
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y multiverse
sudo apt update
sudo apt install -y steamcmd
# Create a dedicated service user
sudo adduser --disabled-password --gecos "" vrising
PowerShell (Windows Server)
mkdir C:\steamcmd
cd C:\steamcmd
Invoke-WebRequest -Uri https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip -OutFile steamcmd.zip
Expand-Archive .\steamcmd.zip -DestinationPath .
.\steamcmd.exe +quit

Step 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.

user@ubuntu
sudo machinectl shell vrising@
mkdir -p ~/vrising-server
steamcmd +force_install_dir /home/vrising/vrising-server \
+login anonymous \
+app_update 1829350 validate \
+quit
PowerShell (Windows Server)
C:\steamcmd\steamcmd.exe +force_install_dir C:\VRisingServer ^
+login anonymous ^
+app_update 1829350 validate ^
+quit

Step 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.exe ships in the install root (for example C:\VRisingServer or ~/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 is world1.
  • 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 -persistentDataPath launch argument to a flat directory like /opt/vrising/saves. This makes backups trivial and avoids the Proton path entirely.

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.

user@ubuntu (Proton)
cd ~/vrising-server
# Initial boot, generates the default configs, then Ctrl+C
./VRisingServer.exe -persistentDataPath /opt/vrising/saves -serverName "Vardoran" -saveName world1
PowerShell (Windows Server)
cd C:\VRisingServer
.\VRisingServer.exe -persistentDataPath C:\VRisingData -serverName "Vardoran" -saveName world1

Step 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.

Settings/ServerHostSettings.json
{
"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

Settings/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.

user@ubuntu
sudo mkdir -p /opt/vrising/saves
sudo chown -R vrising:vrising /opt/vrising
sudo chown -R vrising:vrising /home/vrising/vrising-server

Step 8: Firewall Rules

user@ubuntu
sudo ufw allow 9876/udp
sudo ufw allow 9877/udp
sudo ufw reload
PowerShell (Windows Server)
New-NetFirewallRule -DisplayName "VRising Game" -Direction Inbound -Protocol UDP -LocalPort 9876 -Action Allow
New-NetFirewallRule -DisplayName "VRising Query" -Direction Inbound -Protocol UDP -LocalPort 9877 -Action Allow

Performance and Tuning

  • Pin ServerFps to 30 for any deployment above 20 players. 60 is achievable only on the fastest single thread CPUs.
  • Lower BloodDrainModifier to 0.5 for casual PvE, raise toward 1.5 for hardcore PvP leagues.
  • Set AutoSaveCount to 40 or higher so a corruption event has plenty of historic snapshots to roll back to.
  • Mirror the entire Saves directory off-host every 6 hours with rsync or 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.