Pavlov VR

Games
Report Issue

Pavlov VR is a multiplayer shooter in VR with heavy focus on community features. Realistic reloading features and fast paced combat as part of the core experience. Play the #1 most popular VR shooter on PC today.

Contributors:
README

Pavlov VR

Pavlov VR is a multiplayer shooter in VR with heavy focus on community features. Realistic reloading features and fast-paced combat as part of the core experience.

Recommended server settings

Minimum RAM

This server requires about 2048M to run. A 3.2 GHz core will support approximately 24 players. Since Pavlov VR is single threaded, faster clock-speeds will mean higher performance.

Multiple Servers on the same host

If you are running multiple servers and have set additional ports (see Running multiple servers) then you need to allow access to the defined port plus the port 400 higher. So if you use 7000 as your port, then UDP 7000 and 7400 need to be open.

API key

For your server to show up in the server list, there is now a requirement to have an ApiKey issued by vankrupt. This is to prevent DOS attacks against the master server

Get the key by going here and using your mobile number to get a SMS (note that there have been reported failures of this SMS system for non-US mobiles. In this case DM davevillz your mobile and ask for a key).

Steam Workshop

When downloading a large map from the steam workshop make sure your node has enough RAM assigned to store the map files in its tmpfs! This requires you to modify your wings configuration to have the tmpfs_size value increased.

Additionally, due to the way Pavlov stores workshop maps in the temp directory, the only way to persistently keep workshop maps is to create a mount for /tmp/workshop. For assistance with mounts, please visit the following link - Using Mounts Pterodactyl

For additional help, please see the following - Dedicated Server Wiki

Server Ports

Port default
Game 7777
Game 8177
RCON 8188
Docker Images (1)
Name Image
ghcr.io/ptero-eggs/steamcmd:ubuntu ghcr.io/ptero-eggs/steamcmd:ubuntu
Startup Command
./Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping  Pavlov -PORT={{SERVER_PORT}} -KEY="{{API_KEY}}"
Variables (6)

App ID

Pavlov VR steam app id

Environment:
SRCDS_APPID
Default:
622970
User Viewable:
User Editable:
Rules:
required|numeric|in:622970

RCON Password

Enter a password for your RCON Configuration.

Environment:
RCON_PASSWORD
Default:
CHANGE_ME
User Viewable:
User Editable:
Rules:
required|string|max:20

RCON Port

Port for your RCON Configuration.

Environment:
RCON_PORT
Default:
8188
User Viewable:
User Editable:
Rules:
required|numeric

Auto-update server

This is to enable auto-updating for servers. Default is 0. Set to 1 to update

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

Beta id

Beta branch of a steam app

Environment:
SRCDS_BETAID
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string|in:,beta_server

Api key

For your server to show up in the server list, there is now a requirement to have an ApiKey issued by vankrupt. This is to prevent DOS attacks against the master server. Get it here: https://pavlov-ms.vankrupt.com/servers/v1/key

Environment:
API_KEY
Default:
None
User Viewable:
User Editable:
Rules:
required|string|max:64
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/bin/bash
# steamcmd Base Installation Script
#

if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
    echo -e "steam user is not set.\n"
    echo -e "Using anonymous user.\n"
    STEAM_USER=anonymous
    STEAM_PASS=""
    STEAM_AUTH=""
else
    echo -e "user set to ${STEAM_USER}"
fi

## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/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
export HOME=/mnt/server

## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit

## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so

## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so

chmod +x "/mnt/server/Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping"

# Install Configuration Files
mkdir -p /mnt/server/Pavlov/Saved/Logs
mkdir -p /mnt/server/Pavlov/Saved/Config/LinuxServer
mkdir -p /mnt/server/Pavlov/Saved/maps


cd /mnt/server/Pavlov/Saved/Config/LinuxServer
if [ ! -f Game.ini ]; then
    echo -e "Downloading Pavlov VR Game.ini"
    curl -ssL -o Game.ini https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/pavlov_vr/Game.ini
fi

cd /mnt/server/Pavlov/Saved/Config
if [ ! -f RconSettings.txt ]; then
    echo -e "Downloading Pavlov VR RconSettings.txt"
    curl -ssL -o RconSettings.txt https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/pavlov_vr/RconSettings.txt
fi

cd /mnt/server/
if [ -f PavlovServer.sh ]; then
    rm PavlovServer.sh
fi

echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"