How to Choose and Change the Game and Map on an s&box Server
An s&box dedicated server picks its game and map with one launch switch: +game GAMEIDENT MAPIDENT. Both values are package idents from sbox.game, written like facepunch.sandbox and facepunch.flatgrass. The map is optional. To change either one, you change the switch and restart the server.
That is the documented method, and it has one catch worth knowing early: the map switch only works if the game is built to read it. This guide explains idents, what happens when players join, how to switch, and how to troubleshoot, using the official s&box documentation as checked on 2026-11-01.
- Syntax:
+game GAMEIDENT [MAPIDENT]. The docs example is+game facepunch.sandbox facepunch.flatgrass. - An ident is
organization.package, matching the package's address on sbox.game (sbox.game/organization/package). - The server downloads and mounts the packages itself, and clients download what they need while connecting.
- To switch game or map, edit the launch arguments and restart. The docs publish no command for switching while running.
- A game only uses the launch map if it is set up to (its map component has to read the launch arguments).
On this page
What a package ident is
On sbox.game every game, map and asset is a package. Each has an ident of the form organization.package. The docs use idents like facepunch.sandbox (a game), facepunch.flatgrass (a map) and facepunch.pool_day (another map). The docs show idents written with a dot, a slash, or as the full sbox.game URL as equivalent ways of naming the same package for assets, for example facepunch.w_usp, facepunch/w_usp and https://sbox.game/facepunch/w_usp.
In practice: open the game or map page on sbox.game, look at the address, and turn sbox.game/organization/package into organization.package. Idents appear in lowercase in the official examples.
The +game switch
From the dedicated server docs, +game takes the game package ident and, optionally, a map package ident. The game comes first.
./sbox-server +game facepunch.sandbox facepunch.flatgrass +hostname "Sandbox Night"./sbox-server +game facepunch.sandbox +hostname "Sandbox Night"You can also point +game at a local project by path, for example the path to a project's .sbproj file. Assets still come from the cloud version of the game, and anything missing is sent from the server to clients, including code. That mode is mainly for developers running their own game.
What happens when players join
The server loads the game and map packages itself. Per the map docs, a package ident is downloaded and mounted automatically. Clients do not install games separately; s&box's FAQ describes the system as downloading what you need on demand. When a client connects, it goes through a handshake in which it loads the game and downloads all required packages before it is let into play, so a first join to a heavy game or map takes longer than a repeat join.
Why the map argument is sometimes ignored
This is the part most guides skip. The map you give on the command line is not applied by the engine on its own. According to the Loading Maps docs, a map can be set in the editor, by package ident in code, or from launch arguments. A game only uses the launch argument if its map component has UseMapFromLaunch enabled, in which case it uses the map passed in the launch arguments. The docs describe that option for dedicated servers and say +game takes the map as its optional second value, but they do not spell out the link in so many words, so test it with your chosen game.
So if you pass a map and the server loads a different one, the game you chose is probably not built to take a map from the launch arguments, and its author decides which map it loads. Docs note this option is "useful for dedicated servers or lobbies where the map is chosen dynamically", which is exactly the pattern to look for in a game's description or ask its author about.
How to switch the game or map
- Find the new ident
Open the package on sbox.game and convert its address into an ident.
- Stop the server
Stop it from your control panel or close the console window.
- Edit the launch arguments
Change the idents after
+gamein your .bat or .sh script, or in the startup field your host provides. - Start it again
The server loads the new packages. Players who were connected need to reconnect, and you should run
statusagain to get the current lobby ID.
The official docs describe launch arguments as run "when the server boots up", and do not document a command that swaps the game or map on a running server. A game might implement its own map vote or switch command as a console command, so look at that game's own documentation. Settings the game exposes as console variables can also be set at launch the same way, with +NAME VALUE.
Troubleshooting game and map problems
| Problem | What to check |
|---|---|
| Server loads the wrong game or nothing | The ident. Copy it from the sbox.game address, in organization.package form. |
| Map did not change | Whether the game reads the launch map (UseMapFromLaunch). Try the map in a game that does, or ask the game's author. |
| Server console shows "Not Connected" | The game has not created a lobby. This is down to the game's code, not your launch line. |
| Players cannot find the server | Run status on the server for the lobby ID, and have players run connect LOBBYID without the steamid: prefix. Run status again after any restart. |
| Works on staging but not for others | The staging branch might not be playable by everyone. Use the main branch for public servers. |
See the dedicated server setup guide for installing and launching the server, and the admin and troubleshooting guide for permissions and fixes. If you would rather not run the server yourself, there is also s&box server hosting.
Frequently asked questions
How do I change the map on an s&box server?
Change the map ident after +game in your launch arguments and restart the server. The documented method is launch arguments, and the game must be set up to read the launch map for it to take effect.
Where do I find the ident for an s&box game?
On the game's page on sbox.game. The address is sbox.game/organization/package and the ident is organization.package, for example facepunch.sandbox.
Can I switch games without restarting the s&box server?
The official docs do not describe a way. Game and map are chosen by launch arguments at boot, so plan on a restart. A particular game may add its own commands, which would be in that game's documentation.
Why does my s&box server load a different map than I set?
The game probably does not read the map from launch arguments. The Loading Maps docs say a game only does so when its map component has UseMapFromLaunch enabled.