This guide covers setting up your Pavlov VR dedicated server on Legion Hosting, including API key registration, first start, Game.ini configuration, game modes, map rotation, and how to connect. For Workshop map setup, see Pavlov VR Workshop Maps. For RCON and admin commands, see Pavlov VR Admin Commands.
Getting an API Key
A Pavlov API key is required for your server to appear in the public server browser. Without a valid key, players will not be able to find your server through the in-game server list.
- Launch Pavlov VR on your headset.
- Open Settings and navigate to the General tab.
- Click the Generate Server Code button. This creates a 6-character code that is valid for 15 minutes.
- On your computer or phone, visit pavlov-ms.vankrupt.com/servers/v1/key.
- Enter the 6-character code and verify your identity via SMS when prompted.
- Copy the API key that is generated. Store it in a safe place such as a password manager.
First Start
After purchasing your Pavlov VR server from Legion Hosting, follow these steps to get it running for the first time:
- Log into GPanel and select your Pavlov VR server.
- Go to the Startup tab.
- Configure the required startup variables:
- API_KEY -- Paste the API key you obtained in the previous step. This is required for server browser listing.
- RCON_PASSWORD -- Set a strong password for remote console access. The default is
CHANGE_ME-- you must change this before starting.
- Review the optional startup variables:
- RCON_PORT -- The port used for RCON connections. Leave at default unless you have a specific reason to change it.
- SRCDS_BETAID -- Leave empty for the stable release. Set to
beta_serverto run the beta branch.
- Go to the Console tab and click Start.
- The server will download the Pavlov dedicated server files and generate default configuration files. This may take several minutes on first launch.
- Once the server finishes starting, stop it to begin customising your configuration.
| Startup Variable | Default | Required | Description |
|---|---|---|---|
API_KEY |
-- | Yes | Your Pavlov API key from pavlov-ms.vankrupt.com. Required for server browser listing. |
RCON_PASSWORD |
CHANGE_ME |
Yes | Password for RCON access. Change this from the default before starting your server. |
RCON_PORT |
-- | No | TCP port for RCON connections. Check the GPanel Network tab for your assigned port. |
SRCDS_BETAID |
-- | No | Set to beta_server to use the beta branch. Leave empty for stable. |
beta_server branch may contain newer features and bug fixes but can also introduce instability. Use the stable branch for production servers unless you specifically need beta features.
Game.ini Configuration
The primary configuration file for your Pavlov VR server is Game.ini, located at:
Pavlov/Saved/Config/LinuxServer/Game.ini
Open this file using the GPanel Files tab. All settings go under the [/Script/Pavlov.DedicatedServer] section header.
Minimal Working Configuration
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=My Legion Pavlov Server
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
bWhitelist=false
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
Full Configuration Example
The following example shows all commonly used settings:
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName=My Legion Pavlov Server
MaxPlayers=10
bSecured=true
bCustomServer=true
bCompetitive=false
bVerboseLogging=false
bWhitelist=false
RefreshListTime=120
LimitedAmmoType=0
TickRate=90
TimeLimit=60
AFKTimeLimit=300
#Password=1234
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="station", GameMode="GUN")
MapRotation=(MapId="containeryard", GameMode="TTT")
Key Settings Reference
| Setting | Example Value | Description |
|---|---|---|
bEnabled |
true |
Must be true for the dedicated server to accept connections. |
ServerName |
My Legion Pavlov Server |
The name displayed in the in-game server browser. Make it descriptive so players can find you. |
MaxPlayers |
10 |
Maximum number of players. PC supports up to 24 (or higher on some modes). Set this to match your server plan. |
bSecured |
true |
Enables EAC (Easy Anti-Cheat). Set to true for public servers to prevent cheating. |
bCustomServer |
true |
Enables custom server features including modding tools, save/HTTP functions, and writing to blacklist.txt for bans. Recommended for most servers. |
bCompetitive |
false |
Enables competitive mode. Only applies to SND (Search and Destroy). |
bWhitelist |
false |
When true, only players listed in whitelist.txt can join the server. |
Password |
1234 |
A numeric PIN to password-protect your server. Comment out or remove this line for a public server. |
TickRate |
90 |
Server tick rate. Minimum stable value is around 50, maximum around 120. Higher values improve hit registration but use more CPU. Default of 90 is fine for most servers. |
TimeLimit |
60 |
Time limit per map in seconds. Only applies to time-based modes like TDM and DM -- modes with round-based logic (SND, TTT) use their own timers. |
AFKTimeLimit |
300 |
Seconds before an idle player is kicked. Set to 0 to disable. |
LimitedAmmoType |
0 |
Ammo mode: 0 = unlimited magazines, 1 = limited ammo, 2 = boxless (limited mags, no refill). |
RefreshListTime |
120 |
How often (in seconds) the server rechecks whitelist.txt, blacklist.txt, and mods.txt. |
bVerboseLogging |
false |
Enables detailed logging. Useful for debugging but may affect performance. |
MapRotation |
(MapId="datacenter", GameMode="SND") |
Defines a map and game mode in the rotation. Add multiple lines for a full rotation. See the Game Modes and Map Rotation sections below. |
Game Modes
Pavlov VR supports a variety of game modes. Use the abbreviation code in the GameMode field of your MapRotation entries.
| Code | Game Mode | Description |
|---|---|---|
SND |
Search and Destroy | Round-based objective mode. Attackers plant a bomb at one of the bomb sites; defenders must prevent the plant or defuse. One life per round. |
DM |
Deathmatch | Free-for-all. All weapons available via the buy wheel. Most kills before the timer runs out wins. |
TDM |
Team Deathmatch | Two teams (NATO vs Russians) compete for the most kills with modern weapons. Short respawn timers. |
GUN |
Gun Game | Each kill advances you to the next weapon in a predefined list. First player to get a kill with the final weapon wins. |
WW2GUN |
WW2 Gun Game | Gun Game variant using World War 2 era weapons only. |
OITC |
One in the Chamber | Every player spawns with a single bullet. Get a kill to earn another bullet. Knife is always available as backup. |
TTT |
Trouble in Terrorist Town | Social deduction mode. Traitors must kill innocents and the sheriff without being discovered. Innocents must identify and eliminate traitors. |
KOTH |
King of the Hill | Teams compete to hold a central point on the map. Score by maintaining control of the hill. |
ZWV |
Zombie Wave Survival | Cooperative mode. Players work together to survive waves of AI zombies. Earn cash between rounds to buy weapons. |
HIDE |
The Hidden | Asymmetric mode. One near-invisible monster with enhanced movement and thermal vision hunts an armed task force. |
INFECTION |
Hidden Infection | Variant of The Hidden where eliminated players join the monster team on death. |
PUSH |
Push | Linear objective mode. Attackers push through sequential objectives while defenders hold the line. |
PH |
Prop Hunt | One team hides as objects on the map while the other team hunts them down. Not supported on all maps. |
TANKTDM |
WW2 Team Deathmatch | TDM with WW2 weapons. Tanks spawn on maps that support them. |
Map Rotation
The map rotation is defined in Game.ini using multiple MapRotation lines. When a match ends, the server loads the next map in the rotation and loops back to the first entry when it reaches the end.
Format
MapRotation=(MapId="<map_name_or_ugc_id>", GameMode="<mode_code>")
Example Rotation with Default Maps
MapRotation=(MapId="datacenter", GameMode="SND")
MapRotation=(MapId="sand", GameMode="TDM")
MapRotation=(MapId="bridge", GameMode="DM")
MapRotation=(MapId="containeryard", GameMode="KOTH")
MapRotation=(MapId="station", GameMode="TTT")
MapRotation=(MapId="santorini", GameMode="GUN")
MapRotation=(MapId="bunker", GameMode="PUSH")
MapRotation=(MapId="siberia", GameMode="TDM")
Built-in Map Names
| Map ID | Map Name | Notes |
|---|---|---|
datacenter | Data Center | Symmetrical indoor map with long corridors. Supports most modes. |
sand | Sand | Middle Eastern theme inspired by CS Dust. Supports most modes. |
bridge | Bridge | European canal city. Good for SND, TDM, DM. |
station | Station | Underground subway with multi-level layout. |
containeryard | Container Yard | Industrial setting. Supports Prop Hunt. |
santorini | Santorini | Greek island village. |
siberia | Siberia | Snow-covered outdoor map. |
industry | Industry | Industrial compound. |
bunker | Bunker | Compact bunker interior. |
foundation | Foundation | Construction site. |
hospital | Hospital | Indoor hospital layout. |
carnival | Carnival | Carnival-themed map. |
killhouse | Killhouse | Training course map. Good for co-op killhouse mode. |
range | Firing Range | Practice range with targets. |
_night to the map name -- for example, datacenter_night, sand_night, station_night, siberia_night, santorini_night, industry_night, containeryard_night.
You can also add Workshop maps to your rotation using UGC prefixed IDs. See Pavlov VR Workshop Maps for details on finding and adding custom maps.
How to Connect
Via the In-Game Server Browser
- Launch Pavlov VR from Steam.
- From the main lobby, open the Server Browser on the in-game tablet or menu.
- Search for your server by name (as set in
ServerNamein Game.ini). - Select your server and click Join.
- If you set a PIN via the
Passwordsetting, players will be prompted to enter the code.
Via Direct Connect
- Open the Pavlov VR server browser and look for the Direct Connect option.
- Enter your server IP and game port (shown in GPanel's Network tab) in the format
IP:Port.
Your server's IP address and ports are displayed in the GPanel Network tab. See How to Find Your Server IP and Port for details.
Server Not Appearing in the Browser?
- Verify your API key is correctly set in GPanel's Startup tab -- this is the most common cause.
- Confirm
bEnabled=trueis present in Game.ini. - Check that the server has fully started by reviewing the console output in GPanel.
- Wait a few minutes -- the master server list may take time to update.
- Try connecting via direct IP to rule out a browser indexing delay.
Related Articles
- Pavlov VR Workshop Maps
- Pavlov VR Admin Commands
- How to Find Your Server IP and Port
- How to Upload Files via SFTP
- Server Startup Guide
Need Help?
If you run into an issue not covered here, our support team is available to assist.