Pavlov VR

Pavlov VR

Not enough ratings
Pavlov VR Dedicated Server Guide + Additional Configuration
By n0x!
This guide will explain how to install a dedicated server with additional configuration such as RCON management, custom maps and an admin menu.

This guide is based on using docker.
   
Award
Favorite
Favorited
Unfavorite
Step 1 - Information, resources and prerequisites.
Information:

After playing Pavlov VR for a while i decided to set up my own server, i found it not very self explanatory therefore i made this guide. The guide will tell you about how to install the server, how to change basic configuration, how to add custom maps and other mods to your server and how to add an admin menu.

The server only runs on Linux, if you have no experience with Linux you should still be able to follow, all necessary commands are in this guide.

I will be using Ubuntu 24.04.1[ubuntu.com] for this guide.

Resources:

In my opinion there isn't a lot of information out there on how to run a dedicated server but some useful links are:

Greg Hilston's Blog[www.greghilston.com]
Pavlovwiki[pavlovwiki.com]
Docker image for SteamCMD by ich777[hub.docker.com]

Prerequisites:
  • A Linux installation (GUI not required)
  • Docker[www.docker.com] installed on said Linux.
  • Access to your router for port forwarding.

If you don't know how to install docker, i used this link[www.cherryservers.com] as a guide (only step 1 and 2).

Assuming you have all these things you may proceed to step 2.
Step 2 - Installing the server.
Open up a terminal in Ubuntu and log into root by typing the following command: (The password doesn't show when typed, this is normal.)
sudo su

Afterwards run the following commands to pull the docker image which will install SteamCMD and the dedicated server:
docker run -d\ -e 'GAME_ID'='622970'\ -e 'GAME_PARAMS'=''\ -e 'VALIDATE'=''\ -e 'USERNAME'=''\ -e 'PASSWRD'=''\ -p '7777:7777/udp'\ -p '7777:7777/tcp'\ -p '8177:8177/udp'\ -p '8177:8177/tcp'\ -p '9100:9100/tcp'\ -v '/home/steamcmd':'/serverdata/steamcmd':'rw'\ -v '/home/pavlovvr':'/serverdata/serverfiles':'rw'\ --restart=unless-stopped 'ich777/steamcmd:pavlovvr'
By default the Pavlov VR server files and SteamCMD files are stored in /home, feel free to change these to your needs. If you don't know what any of this means, it is probably best to not change it.

The command output should be something like this.
unable to find image 'ich777/steamcmd:pavlovvr' locally pavlovvr: Pulling from ich777/steamcmd a2318d6c47ec: Pull complete bfae76899067: Pull complete 2f003631a952: Pull complete 8462dcbc537b: Pull complete 4560f7eb2e56: Pull complete 22529971ae4d: Pull complete cb7e0686dd55: Pull complete Digest: sha256:d6a60c3c019b636f367a40485fd1d96cdcdd4ba0e2f0649e37430d243ff0cf75 Status: Downloaded newer image for ich777/steamcmd:pavlovvr 6bd27bc3c7f73a23c004de6600ef135f6d10b44161a9ac20af12c3688f0e177c

At this point the docker container will be running in the background and installing the server, to find the container ID use the follwing command:
docker ps -a

This should give us an output that looks like:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6bd27bc3c7f7 ich777/steamcmd:pavlovvr "/opt/scripts/start.…" 4 minutes ago Up 27 seconds 0.0.0.0:7777->7777/tcp, 0.0.0.0:7777->7777/udp, :::7777->7777/tcp, :::7777->7777/udp, 0.0.0.0:8177->8177/tcp, :::8177->8177/tcp, 0.0.0.0:9100->9100/tcp, 0.0.0.0:8177->8177/udp, :::9100->9100/tcp, :::8177->8177/udp PavlovVR

Might look like kind of a mess, the important thing here is the the ID which is 6bd27bc3c7f7 in this case. To see what the container is doing we can look at the log using the following command:
docker logs --since=1h 6bd27bc3c7f7

If the output is something along the lines of this the server is still downloading:
Update state (0x61) downloading, progress: 77.29 (6460793751 / 8358943337) Update state (0x61) downloading, progress: 77.29 (6460793751 / 8358943337) Update state (0x61) downloading, progress: 77.37 (6467161052 / 8358943337) Update state (0x61) downloading, progress: 77.47 (6475549660 / 8358943337) Update state (0x61) downloading, progress: 77.47 (6475549660 / 8358943337) Update state (0x61) downloading, progress: 77.82 (6505329650 / 8358943337)

If the output is something along the line of this the server has finished downloading and is running:
[2024.10.18-20.42.34:156][238]PavlovLog: loading row data for goldengun [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for grenade_dis [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for trenchgun [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for tranqgun [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for hunting [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for skorpion [2024.10.18-20.42.34:156][238]PavlovLog: loading row data for pkm

At this point your server will be running but people will not be able to join using the in game browser, please read the addition configuration as described in step 3 to make the server joinable.
Step 3 - Basic configuration and port forwarding.
After installing the server we can make some basic changes to the configuration and test if the server works.
To change the name of the server we can open the Game.ini file using nano located in /home/pavlovvr/Pavlov/Saved/Config/LinuxServer/
nano /home/pavlovvr/Pavlov/Saved/Config/LinuxServer/Game.ini

The Game.ini file should looks something like this:
[/script/pavlov.dedicatedserver] bEnabled=true ServerName="n0x!s Pavlov VR server" MaxPlayers=10 bSecured=true MapRotation=(MapId="UGC1668673188") MapRotation=(MapId="datacenter", GameMode="SND") MapRotation=(MapId="sand", GameMode="DM") MapRotation=(MapId="bridge", GameMode="TDM")

As you can see i have already changed the ServerName to make it easier to find my server.

The next and last step before trying to connect to the server is to port forward on your router, this is different for every router manufacturer so i recommend checking online how to do it if you don't know.

The ports to be opened are 7777 TCP/UDP, 8177 TCP/UDP and 9100 TCP, for my server it will look like this:


.

Where 192.168.2.185 is the LAN IP for the computer that you're hosting the server on.

THIS IS A GOOD POINT TO CHECK IF YOUR SERVER IS WORKING, MAKE SURE YOUR CONTAINER IS RUNNING BY CHECKING DOCKER PS -A AND GO ON THE GAME TO SEE IF YOUR SERVER IS IN THE LIST.

If everything is successful your server should show up in the list like this:
(Optional) - RCON access and built in admin menu.
RCON can be used to remotely access your server and manage certain aspects of it, to allow RCON access you will need to create a file name RconSettings.txt in the following folder:
/home/pavlovvr/Pavlov/Saved/Config/, you can make this file using the following command:
nano /home/pavlovvr/Pavlov/Saved/Config/RconSettings.txt

When the editor opens add the following lines:
Password=ChangeThisPassword Port=9100

Obviously change the password according to your needs, i recommend generating one.
After this is done go on pavlovrcon[pavlovrcon.com] and type in your public IP, port 9100 and the password you chose. Make sure the server is running when attempting to do this.

After logging the website should look something like this:


This RCON menu can be used to spawn weapons, cars and other stuff.

PavlovVR also has a built in admin menu, you can make yourself admin by following these steps:
  • 1. Create the mods.txt file in /home/pavlovvr/Pavlov/Saved/Config/.
  • 2. Join the server and refresh the scoreboard on the RCON website.
  • 3. Select yourself in the team list by clicking on your name.
  • 4. On the website go to Player > Add mod and press Run Command.
  • 5. After this the map will restart and the admin menu should be in the top of the list.

To make the mods.txt file use the command:
touch /home/pavlovvr/Pavlov/Saved/Config/mods.txt

The admin menu should look like this:

In the next step i will describe how to add mods and maps to the server.
(Optional) - Adding maps and mods.
To add maps to the server and play them open pavlovrcon[pavlovrcon.com] as described in step 4. and login into the panel, then;
  • 1. Go to Server Configuration > Add Server Mod
  • 2. Type the mod ID in the "Mod Name" field with the suffix UGC.
  • 3. Press "Refresh Mod List" to verify that your mod has been added.
  • 4. Go to Server Configuration > Rotate Map to rotate map and make the server download the mods.
To find the mod ID; find your mod on https://mod.io/g/pavlov and find ID on the right side.

For example if i want to add the map Minecraft: Oasis[mod.io] with ID 3116397, would be "UGC3116397"

Adding maps to rotation; the map rotation is a list of maps that are played on the server, whenever a map finishes it will load the next one up in the rotation. To add a map follow these steps:
  • 1. Go to Server Configuration > Add Map Rotation
  • 2. Set the desired gamemode under "GameMode" and the map name under "Map Name"
For custom maps enter the map ID with the suffix as you would for adding it to your server, like "UGC3116397" as map name.

Removing maps from the rotation should be self explanatory at this point.

The next step will explain how to install RCON plus and use it on your server.
(Optional) - Installing and using RCON plus.
RCON plus[mod.io] is a mod that allows addition RCON commands to be executed on the server from a menu that shows up on your scoreboard in game. The mod also adds a few extra options on https://pavlovrcon.com/login.

I highly recommend installing it.

To install RCON plus follow these steps:
  • 1. Login into your server on https://pavlovrcon.com/login
  • 2. Go to RCON Plus > Install RCON Plus and press install.
  • 3. After this rotate the map by going to Server Configuration > Rotate Map > Run Command
RCON plus should now be installed, next we will give ourselves the menu so we can use it in game.
  • 1. Join the server, select yourself in the player list and press RCON Plus > Give Menu > Run Command.
  • 2. Make sure "oculustouch_left_y_click" is bound as click on your scoreboard button, controller bindings can be changed in the SteamVR menu in game.
    (Without this binding the menu will not show)
For the Valve Index the binding will look like this:

After doing this whenever you open the scoreboard in the top right there should be a button that says RCON plus; like so
Clicking this will open the RCON plus menu.
.
RCON Plus also supports webhooks, these webhooks will send messages of executed commands into a discord channel.

To use webhooks open the file Webhookscfg.txt in /home/pavlovvr/Pavlov/Saved/Config/ModSave/RconPlus/Webhookscfg.txt, in this file paste your webhooklink from your discord server.

After rotating the map messages should appear in your discord server in relation to RCON plus, such as:

FAQ
How do i find my docker container ID?
docker ps -a
How do i start the docker container once stopped?
docker start ID
How do i stop the docker container once stopped?
docker stop ID
I did everything but my game doesn't show up in the server list / game shows up in server list but i get a connection error:
Make sure all ports are opened on your router (TCP/UDP)

IF YOU HAVE ANY QUESTIONS, FEEL FREE TO COMMENT BELOW AND I WILL RESPOND ASAP.

Thank you.
8 Comments
n0x!  [author] Nov 28, 2024 @ 6:45am 
That's true, all commands you need should be in the guide tho as far as i'm aware, also windows supports the Linux subsystem but i haven't tested that yet and not sure if it works. A windows server with a GUI would be nice tho
E-Ka Nov 27, 2024 @ 2:20pm 
Setup is typically a bit easier on Windows (at least for me), I usually forget everything I know about Linux by the time I have to use it again for something
n0x!  [author] Nov 26, 2024 @ 2:04am 
Thank you, any reason why you would wanna run it on Windows as opposed to Linux?, the software itself is pretty lightweight so running it in a small VM under windows will work just fine as well.
E-Ka Nov 25, 2024 @ 6:00pm 
Great guide, a bit stupid that it's Linux only though
Foxmander Oct 25, 2024 @ 10:19am 
Yea aighg ill msg you then
n0x!  [author] Oct 20, 2024 @ 11:16am 
Tuesday?
Foxmander Oct 20, 2024 @ 8:06am 
Thanks mate, actually didn't knew it was possible. When we're playing btw?
Gman682 Oct 18, 2024 @ 2:34pm 
THANK YOU SO MUCH THIS HELPED ME PLAY MINECRAFT ZOMBIES WITH MY FRIENDS!!!!