Log in Add Server

You launch your GMOD server, join the game, and every prop is covered in purple and black textures. The floor is a pink checkerboard. The walls display a red "ERROR". Counter-Strike: Source content is missing. It's the number one problem with every new Garry's Mod server, and it's fixed in two minutes once you know where to look. This guide covers the complete installation of a GMOD dedicated server, from the SteamCMD download to configuring Workshop addons, including mounting the CSS content that 90% of maps use.

Key takeaways

  • The dedicated server is free and downloads through SteamCMD (AppID 4020, anonymous login).
  • A GSLT token (Game Server Login Token) is required for the server to appear in the public list. Without it, the server works but is only reachable by direct connection.
  • Port to open: UDP 27015.
  • Windows and Linux are both natively supported. Most GMOD servers run on Linux.
  • Counter-Strike: Source content must be mounted separately to avoid missing textures on most maps.

Requirements

  • RAM: 2 to 4 GB is enough for most GMOD servers. DarkRP servers with lots of players and addons can climb to 6 GB.
  • CPU: GMOD runs on the Source Engine, which is single-threaded. Per-core frequency matters more than core count.
  • Storage: 5 to 10 GB for the base server + CSS content + addons. SSD recommended for loading times.
  • System: 64-bit Windows or Linux (macOS is no longer supported for dedicated servers).
  • A Steam account to generate the GSLT token (a free account is enough, but it must have a phone number linked).

Generating the GSLT token

The GSLT (Game Server Login Token) identifies your server to Steam. Without this token, your server will not be visible in the server list and its ranking will be penalized. Each server needs its own token.

  • Log in at steamcommunity.com/dev/managegameservers.
  • In "App ID of base game", enter 4000 (Garry's Mod's AppID, not the dedicated server's).
  • Enter a memo (your server's name, so you can find it again).
  • Click "Create". Copy the generated token.

The token is tied to your Steam account. If your account is banned or restricted, all your servers lose their token. Never share your token publicly (in a server.cfg uploaded to GitHub, for example).

Once the token is configured and the server is visible in the Steam list, you can also list it on our Garry's Mod server list to attract more players.

Installing the server with SteamCMD

Download SteamCMD and run:

steamcmd +login anonymous +force_install_dir C:\gmod-server +app_update 4020 validate +quit

AppID 4020 is the Garry's Mod dedicated server (not 4000, which is the client game). The download uses an anonymous login. Running the same command again later updates the server.

Mounting Counter-Strike: Source content

This is the step that prevents the purple/black textures and the "ERROR" on props. Most GMOD maps and addons use Counter-Strike: Source assets. Without these files, missing textures show up as a pink/black checkerboard.

Download CSS through SteamCMD:

steamcmd +login anonymous +force_install_dir C:\css-content +app_update 232330 validate +quit

Then, on your GMOD server, edit the garrysmod/cfg/mount.cfg file and add:

"cstrike" "C:\css-content\cstrike"

Restart the server. CSS textures are now available for all the maps and addons that use them.

Our advice - Mount CSS right at installation, before you even test your first launch with players. Even in Sandbox, most popular maps (gm_construct is an exception) use CSS content. If your players see missing textures, they'll leave before giving you a chance to explain.

First launch

Create a start.bat file (Windows) in the server folder:

srcds.exe -console -game garrysmod +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount YOUR_GSLT_TOKEN

Or on Linux:

./srcds_run -game garrysmod -console +gamemode sandbox +map gm_construct +maxplayers 16 +sv_setsteamaccount YOUR_GSLT_TOKEN

Launch parameters

Parameter Description
-console Launches in console mode (no graphical interface)
-game garrysmod Specifies the game (required)
+gamemode sandbox Game mode: sandbox, terrortown (TTT), darkrp, prop_hunt, murder, cinema, etc.
+map gm_construct Starting map
+maxplayers 16 Max number of players
+sv_setsteamaccount Your GSLT token (required for the public list)
+host_workshop_collection ID of the Workshop collection to load (see the addons section)

The first launch generates the garrysmod/ folder structure with the configuration, data and log folders. Wait for the server to display "VAC secure mode enabled" in the console before connecting.

Configuring server.cfg

The garrysmod/cfg/server.cfg file contains the base configuration. If the file doesn't exist, create it. The most useful settings:

Setting Description Example
hostname Server name in the list hostname "My GMOD Server"
sv_password Password to join (empty = public) sv_password ""
rcon_password Password for remote administration (RCON) rcon_password "MyPassword"
sv_location Server location (ISO 3166-1 country code: fr for France, be for Belgium, eu for the European Union) sv_location "fr"
sv_loadingurl URL of a custom loading page sv_loadingurl "https://mysite.com/loading"
sbox_maxprops Max number of props per player (Sandbox) sbox_maxprops 150
sbox_noclip Allows noclip for everyone (1) or OPs only (0) sbox_noclip 1

Always set a strong rcon_password. RCON gives full remote admin access to the server. A weak or missing password is a direct security hole.

Choosing a game mode

Garry's Mod draws its richness from its game modes. The mode determines the experience and the type of community your server attracts.

Game mode Description Typical players
Sandbox Total freedom: build, spawn props, experiment with physics 8 to 24
DarkRP Urban roleplay: jobs, money, drugs, police, raids. The most popular GMOD mode. 32 to 64
TTT (Trouble in Terrorist Town) Deduction game: traitors vs innocents. Similar to Mafia/Werewolf. 8 to 24
PropHunt Hide and seek: one team turns into props, the other searches and shoots. 8 to 24
Murder One murderer, one detective, innocents. Deduction and tension. 8 to 16
Cinema Players watch videos together in a virtual movie theater. 16 to 32
Our take - DarkRP is tempting because it's the most played mode, but it's also the most saturated. Hundreds of DarkRP servers are fighting over the same players. If you want to stand out without investing months of development, TTT and PropHunt are smarter choices: setup is simple, the community is loyal, and the competition is far less fierce. A good TTT server with 20 regular players is better than an empty 64-slot DarkRP server.

Adding Workshop addons

GMOD uses the Steam Workshop for addons (maps, weapons, models, tools, gamemodes). The cleanest procedure is to create a Workshop collection containing all your server's addons.

  • Go to the Garry's Mod Steam Workshop and create a new collection.
  • Add all the addons you want on your server.
  • Get the collection ID (the number in the collection page's URL).
  • Add to your launch command: +host_workshop_collection COLLECTION_ID
  • You'll also need a Steam Web API key. Generate it at steamcommunity.com/dev/apikey.
  • Add the key in server.cfg or in the launch command: -authkey YOUR_API_KEY

Players automatically download the collection's addons when they join the server. Without the Workshop collection, players have to install each addon manually, which nobody does.

A common trap: adding an addon to the server but forgetting to add it to the Workshop collection. The server loads the addon, but players don't download it automatically and see missing textures or errors. The collection must always match exactly the addons installed on the server.

Administration with ULX

ULX (with ULib) is the most widely used administration system on GMOD servers. It adds admin commands, an in-game menu, and a group/permissions system (superadmin, admin, moderator, user).

  • Download ULib and ULX from the Steam Workshop or GitHub.
  • Place the folders in garrysmod/addons/.
  • Restart the server.
  • In game, open the console and type ulx adduser YourUsername superadmin to give yourself admin rights.

ULX lets you kick, ban, mute, slay, teleport, change the map, manage groups and run server commands from an in-game menu (default key: !menu in chat). It's the GMOD equivalent of LuckPerms + EssentialsX in the Minecraft ecosystem.

Network configuration

Garry's Mod communicates over UDP on port 27015 by default.

Port Protocol Usage
27015 UDP Game port (player connections + Steam query)
27015 TCP RCON (if enabled, same port by default)

Windows firewall:
New-NetFirewallRule -DisplayName "GMOD Server" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow

Linux firewall (ufw): sudo ufw allow 27015

Linux firewall (iptables):
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT

If you host at home, forward UDP and TCP ports 27015 on your router to the local IP of the server machine.

Hosting: at home vs server host

Self-hosted: GMOD is one of the lightest servers to host (2-4 GB of RAM, the Source Engine is old and optimized). Fine for a Sandbox or TTT server with friends. The limits are the same as for any self-hosting: exposed IP, no DDoS protection, availability depending on your machine.

Server host: dedicated IP, 24/7 availability, DDoS protection, a panel with server.cfg configuration and addon management. For a community DarkRP server aiming for 32+ players, a host is the standard choice.

Frequently Asked Questions

Is the GMOD dedicated server free?

Yes. The server tool (AppID 4020) downloads for free through SteamCMD with an anonymous login. Only your players need to own Garry's Mod to connect.

Why do I have purple/black textures everywhere?

Counter-Strike: Source content is missing. Download it through SteamCMD (AppID 232330) and mount it in garrysmod/cfg/mount.cfg. It's the most common problem on GMOD servers and it's fixed in two minutes.

Is the GSLT token mandatory?

Technically no, the server runs without it. But without a token, it doesn't appear in the public server list and its ranking is penalized by Steam. Players will only be able to join it by direct connection (IP + port). For a public server, the token is essential.

How do I switch to DarkRP?

Download the DarkRP framework from GitHub, place it in garrysmod/gamemodes/, and change the launch parameter to +gamemode darkrp. DarkRP needs additional addons to be playable (jobs, weapons, HUD, door system). Most admins use DarkRP Modification (DarkRPMod) to customize jobs and rules without touching the framework's code.

Do players need to own CSS?

Players don't need to own Counter-Strike: Source. The content is mounted on the server side and downloaded by players on connection if you use a Workshop collection containing the necessary textures. Some servers also provide a "CSS Content Pack" as a Workshop addon so players automatically have all the textures.

How do I get my server to show up in the Steam list?

Three conditions: a valid GSLT token (+sv_setsteamaccount), UDP port 27015 open and reachable from outside, and the sv_location variable set in server.cfg (for example sv_location "fr" for France). If all three are met and the server still doesn't show up, wait a few minutes: propagation to the Steam list can take up to 5 minutes after startup.

Reviews

No comments yet.

Comment

To comment, you must be logged in.