Headless V Rising Deployments via Docker Compose
Stunlock Studios ships V Rising as a Windows only dedicated server, so a Linux deployment requires a Wine compatibility layer. The community maintained trueosiris/vrising image bundles Wine and SteamCMD with a clean entrypoint, which lets us treat the V Rising server like any other Compose service. Once the container is running, all real tuning happens inside ServerHostSettings.json and ServerGameSettings.json: clan sizes, tickrate, blood drain multipliers, and PvP rule windows.
Prerequisites
- Debian 12 with Docker Engine and the Compose plugin.
- 8 GB RAM, 4 CPU cores, 15 GB SSD disk.
- UDP 9876 and UDP 9877 open at the firewall.
Step 1: Project Layout
sudo mkdir -p /opt/vrising/{server,persistent}sudo chown -R 1000:1000 /opt/vrisingcd /opt/vrisingStep 2: The Compose File
services: vrising: image: trueosiris/vrising:latest container_name: vrising restart: unless-stopped stop_grace_period: 60s ports: - "9876:9876/udp" - "9877:9877/udp" environment: SERVERNAME: "Vardoran Nights" WORLDNAME: "world1" GAMEPORT: 9876 QUERYPORT: 9877 RCON_ENABLED: "true" RCON_PASSWORD: "REPLACE_ME" volumes: - ./server:/mnt/vrising/server - ./persistent:/mnt/vrising/persistentdataStep 3: First Boot
docker compose up -ddocker compose logs -f vrising# Wait for: "Setup complete" and then "Server started"Step 4: Host Settings
After the first boot generates the default config, edit the host settings file. The defaults are sensible for a public PvE server; what follows tunes for a 30 player PvP league.
{ "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, "Port": 25575, "Password": "REPLACE_ME" }}Step 5: Game Settings
{ "GameModeType": "PvP", "CastleDamageMode": "Always", "SiegeWeaponHealth": "Normal", "PlayerDamageMode": "Always", "ClanSize": 4, "BloodBoundEquipment": true, "TeleportBoundItems": true, "AnnounceSiegeWeaponSpawn": true, "VBloodUnitSettings": [], "InventoryStacksModifier": 2.0, "DropTableModifier_General": 1.5, "BloodDrainModifier": 0.75, "DurabilityDrainModifier": 1.0}Performance and Tuning
- Pin
ServerFpsto 30 for any deployment of 20 players or more. 60 is achievable only on the fastest single thread CPUs. - Lower
BloodDrainModifierfor casual PvE communities (0.5), raise toward 1.5 for hardcore PvP leagues. - Set
AutoSaveCount: 40so a corruption event has 40 historic snapshots to roll back to.
Conclusion
The Wine container makes V Rising on Linux a one file deployment. After that, all the differentiation is in the two JSON config files: lock them down, version them in a private git repo, and you have a reproducible, recoverable competitive server.