V Rising

Games
Report Issue

Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online and conquer the land of the living.

Contributors:
README

V Rising

Authors / Contributors


Game Description

From Stunlock Studios's Website:

Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online and conquer the land of the living.


Egg Capabilities

  • Currently runs the Windows build of the server via Wine. This egg will be updated once a proper, native Linux server binary is released.
  • Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable.
  • All formally recognized ServerHostSettings.json settings can be automatically configured via Startup variables.
    • This includes: Server name, game settings preset, password, max players, auto save settings, and more...
    • This does not include some obscure settings (ie. Enable API, Disable Save File Compression, etc.), but these can still be modified with a custom ServerHostSettings.json file created in ~/save-data/Settings/.
  • RCON ready (*requires extra port – see Server Ports). See the RCON section under Manual Configuration Topics for more info.

Server Ports

  • Default server ports are listed below, but all three ports can be changed freely.
  • The only required port is the Game port, but the Query port is needed for the server to appear in the server list (Direct connect is still possible without the Query port). There have also been reports that servers only appear in the server list if they are popular, so consider this when troubleshooting.
  • Clients connect via the Game port.
  • The RCON port is optional and only required if the server owner enables/uses RCON.
Port Default Protocol
Game (Primary Port in Pterodactyl) 9876 UDP
Query 9877 UDP
RCON 25575 TCP

Installation/System Requirements

Bare Minimum Recommended
Processor Recent x86/64 (AMD/Intel) processor. No 32 bit or ARM support. Unsubstantiated reports say that RCON uses significantly more CPU when enabled, but I have not been able to replicate myself.
RAM 3072 MiB 4096-6144 MiB
Storage 3.5 GB 5-10 GB (or more, depending on save size or frequency)
Game Ownership Not required at all. ----

Manual Configuration Topics

The following are various topics covering manual configuration procedures the egg does not handle automatically that may be useful to server owners:

Save File and Custom Settings Location

You can find the game settings and saves in the ~/save-data/ directory.

Server Game Settings

Standardized game settings can be applied via the "Game Settings Preset" startup parameter. If you would like a more custom array of settings to adjust, you can copy the ServerGameSettings.json file located in ~/VRisingServer_Data/StreamingAssets/Settings/ to ~/save-data/Settings/ and adjust as needed. Also, ensure "Game Settings Preset" is set to empty/null. A list of settings, with a description of what each setting does and the min/max values where applicable, can be found here.

Becoming an Administrator

To become an administrator in the game you will first need to open the adminlist.txt file under ~/VRisingServer_Data/StreamingAssets/Settings/ and add your steamID64 (one steamID64 per line). This can be done without restarting your server. To become an administrator in the game you need to enable the console in the options menu, open it with ` and authenticate using the adminauth console command. Once an administrator you can use a number of administrative commands like banuser, bancharacter, banned, unban and kick.

If you ban users through the in-game console the server will automatically modify the banlist.txt file, but you can also modify this manually (one steamID64 per line).

Transfer Local/Client Save to the Server

Follow these instructions by the developer very carefully. Note: The -saveName <name> command line parameter and GameSettingsPreset setting are handled automatically by the Egg's "Save Name" and "Game Settings Preset" startup parameters, respectively. Also, if a custom ServerGameSettings.json file exists for any reason in the ~/save-data/Settings directory, delete it.

RCON

RCON can allow general and restart announcements to be made to the server remotely (functions which are not currently supported by the console command line). You can enable RCON by properly configuring the relevant variables under the Startup tab of your Pterodactyl server. The RCON port must be allocated to the server. Click here for list of valid commands and recommended RCON client.

Docker Images (2)
Name Image
Wine (Latest) ghcr.io/ptero-eggs/yolks:wine_latest
Wine (Staging) ghcr.io/ptero-eggs/yolks:wine_staging
Startup Command
wine ./VRisingServer.exe -address 0.0.0.0 -gamePort {{SERVER_PORT}} -persistentDataPath save-data
Variables (28)

[Host] Server Query Port

UDP port for Steam server list features.

Environment:
VR_QUERY_PORT
Default:
9877
User Viewable:
User Editable:
Rules:
nullable|integer|between:1024,65536

[Host] Hide IP Address

When listing server on EOS server list, the IP address will not be shown/advertised. Players will connect via relay servers.

Environment:
VR_HIDEIPADDRESS
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Automatic Updates

Quickly checks for any server updates on startup, and updates if necessary.

Environment:
AUTO_UPDATE
Default:
1
User Viewable:
User Editable:
Rules:
boolean

Game Settings Preset

What preset of game settings the server should run. Some settings may not apply after the save file is first created. Leave empty/null if you are using a single-player uploaded save or a custom ServerGameSettings.json file in the `~/save-data/Settings/` directory.

Environment:
VR_PRESET
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string|in:,DuoPvP,DuoPvP_DailySiege,DuoPvP_NoSiege,DuoPvP_WeekendSiege,HardcoreDuoPvP,HardcorePvP,HardcoreTrioPvP,Level30PvE,Level30PvP,Level40PvE,Level40PvP,Level50PvE,Level50PvP,Level60PvE,Level60PvP,Level70PvE,Level70PvP,Level80PvE,Level80PvP,Level90PvE,Level90PvP,SoloPvP,StandardPvE,StandardPvP,StandardPvP_DailySiege,StandardPvP_NoSiege,StandardPvP_WeekendSiege,TrioPvP,TrioPvP_DailySiege,TrioPvP_NoSiege,TrioPvP_WeekendSiege

Game Difficulty Preset

What preset of game difficulty the server should run. Some settings may not apply after the save file is first created. Leave empty/null if you are using a single-player uploaded save or a custom ServerGameSettings.json file in the `~/save-data/Settings/` directory.

Environment:
VR_DIFFICULTY_PRESET
Default:
Difficulty_Normal
User Viewable:
User Editable:
Rules:
nullable|string|in:,Difficulty_Easy,Difficulty_Normal,Difficulty_Brutal

Server Name

Name of the server. The name that shows up in server list.

Environment:
VR_NAME
Default:
V Rising Dedicated Server
User Viewable:
User Editable:
Rules:
required|string

Server Description

Short server description. Shows up in details panel of server list when entry is selected. Also printed in chat when connecting to server.

Environment:
VR_DESCRIPTION
Default:
Welcome to the server!
User Viewable:
User Editable:
Rules:
nullable|string

Max Connected Users

Max number of concurrent players on server. The maximum number technically supported is 128.

Environment:
VR_MAX_USERS
Default:
40
User Viewable:
User Editable:
Rules:
required|integer|min:1|max:128

Max Connected Admins

Max number of admins to allow connection even when the server is full.

Environment:
VR_MAX_ADMINS
Default:
4
User Viewable:
User Editable:
Rules:
required|integer|min:0

Server Password

Password required to join the server. Leave blank to have no password.

Environment:
VR_PASSWORD
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string

Secure Server

Enable VAC protection on server. VAC banned clients will not be able to connect. (true | false)

Environment:
VR_SECURE
Default:
true
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Save Name

Name of save file / directory.

Environment:
VR_SAVE_NAME
Default:
world1
User Viewable:
User Editable:
Rules:
required|string

Auto Save Count

Number of autosaves to keep.

Environment:
VR_SAVE_COUNT
Default:
20
User Viewable:
User Editable:
Rules:
required|integer|min:0

Auto Save Interval

Interval in seconds between each autosave.

Environment:
VR_SAVE_INTERVAL
Default:
120
User Viewable:
User Editable:
Rules:
required|integer|min:1

[Advanced] Server FPS

Target FPS for server.

Environment:
VR_FPS
Default:
30
User Viewable:
User Editable:
Rules:
required|integer|min:1

[Advanced] Lower FPS When Empty

Run the server at a lower framerate target when no players are logged in. (true | false)

Environment:
VR_LOWER_FPS_WHEN_EMPTY
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

[Advanced] Lower FPS When Empty Value

Set the framerate target for when "[Advanced] Lower FPS When Empty" is active.

Environment:
VR_LOWER_FPS_WHEN_EMPTY_VALUE
Default:
10
User Viewable:
User Editable:
Rules:
required|integer|min:1

[Advanced] List On Epic

Register on EOS list server or not. The client looks for servers here by default, due to additional features available. (true | false)

Environment:
VR_LIST_ON_EOS
Default:
true
User Viewable:
User Editable:
Rules:
required|string|in:true,false

[Advanced] List On Steam

Register on Steam list server or not. (true | false)

Environment:
VR_LIST_ON_STEAM
Default:
true
User Viewable:
User Editable:
Rules:
required|string|in:true,false

[RCON] Enable RCON

Enable or disable RCON functionality. (true | false) See the following link for info on how to connect and use RCON: https://github.com/StunlockStudios/vrising-dedicated-server-instructions/blob/master/1.0.x/INSTRUCTIONS.md#rcon-1

Environment:
VR_RCON_ENABLED
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

[RCON] RCON Password

Password required to connect to RCON if it is enabled.

Environment:
VR_RCON_PASSWORD
Default:
somepassword
User Viewable:
User Editable:
Rules:
required|string

[RCON] RCON Port

TCP Port used to connect to RCON. Must be allocated to the server for RCON to work.

Environment:
VR_RCON_PORT
Default:
25575
User Viewable:
User Editable:
Rules:
required|integer|between:1024,65536

[Repair] Validate Server Files

Leave empty (no value) for OFF or set to "true" for ON. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.

Environment:
VALIDATE
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable|in:,true

[System] V Rising Dedicated Server App ID

Used for installation and updates. Rarely needs to be changed.

Environment:
SRCDS_APPID
Default:
1829350
User Viewable:
User Editable:
Rules:
required|integer|in:1829350

[System] Use Windows Branch

Tells the installer/updater to only download the Windows branch of the server (the only branch currently available) so that it can run on Wine. Cannot be changed.

Environment:
WINDOWS_INSTALL
Default:
1
User Viewable:
User Editable:
Rules:
required|string|in:1

[System] WINEDEBUG

Used to suppress WINE FIXME messages. Rarely needs to be changed.

Environment:
WINEDEBUG
Default:
-all
User Viewable:
User Editable:
Rules:
string|nullable

[System] WINEARCH

Used for compatibility. Cannot be changed.

Environment:
WINEARCH
Default:
win64
User Viewable:
User Editable:
Rules:
required|string|in:win64

[System] WINEPATH

Used for compatibility. Cannot be changed.

Environment:
WINEPATH
Default:
/home/container
User Viewable:
User Editable:
Rules:
required|string|in:/home/container
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: /bin/bash
#!/bin/bash

## File: V Rising Egg - egg-v-rising.json
## Authors: David Wolfe (Red-Thirten), Kapatheus
## Date: 2024/08/02
## License: MIT License
## Image to install with is 'ghcr.io/ptero-eggs/installers:debian'

# Download and install SteamCMD
export HOME=/mnt/server
cd /tmp
mkdir -p $HOME/steamcmd $HOME/steamapps
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C $HOME/steamcmd
cd $HOME/steamcmd

# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt

# Install/Verify game server using SteamCMD
./steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} validate +quit

# Set up 32 and 64 bit libraries
mkdir -p $HOME/.steam/sdk{32,64}
cp -v linux32/steamclient.so $HOME/.steam/sdk32/steamclient.so
cp -v linux64/steamclient.so $HOME/.steam/sdk64/steamclient.so

## V Rising Setup
mkdir -p $HOME/save-data/Settings
# Check for successful installation.
cd $HOME/VRisingServer_Data/StreamingAssets/Settings
if [[ -f ServerHostSettings.json ]]; then
    echo -e "\nV Rising Dedicated Server successfully installed!\n"
else
    echo -e "\n\nSteamCMD failed to install the V Rising Dedicated Server!"
    echo -e "\tTry reinstalling the server again.\n"
    exit 1
fi