There are two ways to change what map your BeamMP server runs. If you just want one of BeamNG.drive's built-in maps, it works out of the box with no upload needed. If you want a custom community map, you'll need to upload it first and then point your server at it.
📁 BeamMP-Server (your server's root directory)
📁 Resources
📁 Client
Switching To a Default Map
Default maps are already included with BeamNG.drive, so there's nothing to install. Just update the Map setting in ServerConfig.toml to one of the paths below, save, and restart your server.
📁 BeamMP-Server
/levels/gridmap_v2/info.json— Grid Map/levels/west_coast_usa/info.json— West Coast USA/levels/east_coast_usa/info.json— East Coast USA/levels/italy/info.json— Italy/levels/utah/info.json— Utah/levels/jungle_rock_island/info.json— Jungle Rock Island/levels/industrial/info.json— Industrial Site/levels/small_island/info.json— Small Island/levels/smallgrid/info.json— Small Grid/levels/hirochi_raceway/info.json— Hirochi Raceway/levels/johnson_valley/info.json— Johnson Valley/levels/automation_test_track/info.json— Automation Test Track/levels/driver_training/info.json— Driver Training/levels/derby/info.json— Derby
Installing a Custom Map
Custom maps from the modding community go through your server's Resources/Client folder, the same place vehicle mods live.
- Download the map as a
.zipfile. Do not extract it. - Stop your server on the MintServers panel.
- Open the Files tab and navigate to the
Resources/Clientfolder:📁 BeamMP-Server
📁 Resources
📁 Client (you are here)
- Upload the
.zipfile into that folder. - Open the zip file (without extracting it) and look inside the
levelsfolder. There should be exactly one folder inside, named after the map, for examplemymaporcustom_track. Note this name exactly as written. - Open
ServerConfig.tomland setMapto/levels/MAPNAME/info.json, replacingMAPNAMEwith the folder name from the last step:📁 BeamMP-Server
📄 ServerConfig.toml (edit the Map field here) - Save and start your server.
The
MAPNAME in your Map path has to match the folder name inside the zip exactly, including capitalization. A mismatched case is one of the most common reasons a custom map fails to load.
Finding the Map Name When It's Not Obvious
If the folder name inside the zip isn't clear, or the map doesn't load after following the steps above, you can find the exact name another way:
- Install the map in singleplayer BeamNG.drive and load into it.
- Open the in-game console with the tilde key (
~). If you're on a non-US keyboard, check the Toggle System Console binding under Options > Controls > Bindings > General Debug. - Run
print(getMissionFilename()). - Use the path it prints as your
Mapvalue.
How Auto-Download Works
Once a map is in Resources/Client and set as your active Map, players don't need to do anything on their end.
- BeamMP checks whether the connecting player already has the map.
- If they don't, it downloads automatically from your server.
- Once it finishes, they spawn straight into the map.
The first connection after a map change will be slower while it downloads, especially for large, detail-heavy maps. Every player after that connects instantly, since the map is now cached on their end. Keep file size in mind if your server is public — a huge map means a long wait for every new player's first join.
Troubleshooting
Server won't start after changing the map:Double-check yourMappath for typos and make sure it ends in/info.json.Players load into an empty void:The map zip is likely corrupted or incomplete. Re-download it and re-upload.Map takes forever to load:Large, detailed maps need more RAM. Make sure your plan has enough headroom for the map you're running.Map doesn't load even though the path looks right:Check capitalization. Map paths are case-sensitive and have to match the folder name inside the zip exactly.
Once your map is set and players are downloading it without issues, you're all set. If a custom map still won't load correctly, no worries! Just open a support ticket and our team will take a look.