How to Add mod.io Maps to a Pavlov Server (MapRotation and UGC IDs)
Add custom mod.io maps to a Pavlov VR server: find the resource ID, write MapRotation lines with UGC and a game mode, and fix maps that will not load.
Updated Oct 7, 2026 · 5 min read
On this page
To add a custom map to a Pavlov server, find the map on mod.io, copy its resource ID from the page, and add a line to Game.ini like MapRotation=(MapId="UGC2773760", GameMode="SND"): the letters UGC followed by the ID, plus a game mode the map supports. Restart, and the server downloads the map from mod.io when the rotation reaches it. To jump to a custom map right away, use the RCON command SwitchMap UGC2773760 SND.
Pavlov's custom content moved to mod.io, so anything you read that uses Steam Workshop numbers is out of date. Everything below uses mod.io resource IDs.

Find the resource ID
- Open Pavlov on mod.io and find the map.
- On the map's page, look in the details panel for Resource ID. It is a number, for example
2773760. - Your map ID for the server is
UGCplus that number:UGC2773760.
Do not use the map's name or the number from its URL slug. The server only understands UGC plus the resource ID. A missing prefix is the most common reason a custom map does not load.
Write the rotation
Open Pavlov/Saved/Config/LinuxServer/Game.ini (on Windows servers it is under WindowsServer). Each map in the rotation is its own line in the [/Script/Pavlov.DedicatedServer] section:
[/Script/Pavlov.DedicatedServer]
bEnabled=true
ServerName="Custom Maps Night"
MaxPlayers=16
bCustomServer=true
TimeLimit=30
MapRotation=(MapId="UGC2773760", GameMode="SND")
MapRotation=(MapId="UGC1758245796", GameMode="GUN")
MapRotation=(MapId="datacenter", GameMode="TDM")
MapRotation=(MapId="UGC1234567", GameMode="TTT")
You can mix stock maps (short names like datacenter) and custom ones. The server plays them top to bottom and loops.
Rules that save a lot of head scratching:
- One mode per line. To play the same map in two modes, add it twice with different modes.
- The mode has to fit the map. A TTT map needs the TTT or TTTclassic mode, a zombie map needs ZWV, and so on. A map built for SND will often load in TDM but play badly. The map's mod.io description usually says which modes it was made for.
- Exact mode codes. SND, TDM, DM, GUN, OITC, KOTH, TTT, TTTclassic, ZWV, WW2GUN, TANKTDM, HIDE, INFECTION, PUSH, PH. Spelling counts.
- Quotes and commas as shown. A missing quote breaks the line and the server silently skips it.
Restart the server after editing. Game.ini is read at start.
What happens on the server
When the rotation reaches a UGC map the server downloads it from mod.io, then loads it. Players who do not have the map get it downloaded on their side as they join. The first time a big map comes up, both steps take a while, so a long custom rotation feels slow on its first lap and quick afterwards.
Downloaded maps take disk space and memory. A rotation of a dozen detailed custom maps is the main reason a Pavlov server needs more RAM than its player count suggests, so leave headroom.
Switching maps live with RCON
You do not have to restart for every change. Over RCON:
SwitchMap UGC2773760 SND
AddMapRotation UGC1234567 TTT
RemoveMapRotation UGC1758245796 GUN
MapList
RotateMap
SwitchMap changes the map now, AddMapRotation and RemoveMapRotation edit the running rotation, MapList shows it, and RotateMap skips to the next entry. To be sure a change survives a restart, put the line in Game.ini as well. The full command list and RCON setup are in Pavlov RCON and admin commands.
Mods that are not maps
Some mod.io items are game modes or gameplay mods rather than maps. Those load through AdditionalMods lines in the same section, also with the UGC prefix:
AdditionalMods=UGC3456789
Over RCON, UGCAddMod, UGCRemoveMod, UGCModList and UGCClearModList manage them on a running server. Read the mod's page for any extra settings it needs, and turn on bCustomServer=true, which enables the modding tools many of them rely on.
When a custom map will not load
Check the server log in Pavlov/Saved/Logs/ first, it names the map it tried and why it failed. The usual causes:
- No UGC prefix, or the wrong number. Copy the resource ID again from the mod.io details panel.
- The map was removed or made private on mod.io. The server cannot fetch it. Remove the line, otherwise the rotation stalls when it gets there.
- No build for the server's platform. Map creators upload separate builds for each platform. If a map only has a client build, a dedicated server cannot load it. Pick another map or ask the creator.
- The map is broken after a game update. Older maps sometimes stop working after Pavlov patches until the creator republishes them.
- Wrong mode for the map. It loads but spawns break, or the round ends at once.
Test one new map at a time with SwitchMap before you add five to the rotation. When something fails you then know which line to blame.

Running a custom map server without the busywork
On a Pavlov server with GamezServers, Game.ini is in the file manager, so editing the rotation is a text change and a restart button. The live console shows each mod.io map downloading as the rotation reaches it, which makes a bad ID obvious, and a one click backup before a big rotation change means you can always go back. RCON password and port are panel settings, so SwitchMap works from your RCON tool without taking the headset off. If you have not set up a server yet, how to host a Pavlov VR server covers the API key and the rest of Game.ini. Plans start small and you can switch to more RAM later if your rotation grows.
FAQ
What is the UGC number for a Pavlov map?
It is UGC followed by the map's resource ID from its mod.io page, for example UGC2773760. The server will not load a custom map without the prefix.
Do players need to download custom maps before joining?
No. Players who do not have the map download it when they join. The first join on a new map takes longer.
Can I use Steam Workshop maps on a Pavlov server?
Not anymore. Pavlov's custom content is on mod.io and servers take mod.io resource IDs.
Why does my rotation stop at one map?
That map's line is broken or the map cannot be downloaded. Check the log for the map ID, then fix or remove that line.
Skip the setup. Your own Pavlov VR server.
Then $9.99/mo. Just trying it? $2.50 for 3 days