The most transparent way to run a Garry’s Mod server on Linux is to install the dedicated server with SteamCMD (AppID 4020), start it with srcds_run, and supply a Steam Game Server Login Token with +sv_setsteamaccount. You can then select the map, gamemode and player limit at launch, load Workshop content with a collection ID, and keep the process available after reboots with cron or LinuxGSM.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
This guide covers a manual installation first, then shows when LinuxGSM is worth using for updates, backups, monitoring and restart automation. Commands assume a 64-bit Linux server and a non-root account named steam; substitute your own account and installation path where necessary.
As an Amazon Associate I earn from qualifying purchases.
What you need before installing
A public server needs a Linux host with command-line access, enough disk space for the game files and Workshop content, and a dedicated service account. Do not run the server as root. Create or use an account such as steam (or the account created by LinuxGSM) and keep the server files in that user’s home directory.
Supported host choices
LinuxGSM lists Ubuntu 24.04 LTS, Debian 11 and Enterprise Linux 8 among its minimum recommended distributions. A data-center VPS or dedicated server is the practical choice when players expect consistent public uptime; a home machine can work, but its availability depends on the local connection and power.
#1 Best Overall
- POWERHOUSE 8-CORE GAMING PERFORMANCE — Driven by the AMD Ryzen 7 8700F with 8 cores and 16 threads, boosting up to 5.0 GHz for smooth, responsive gameplay and the ability to handle AAA titles, streaming, and background tasks all at once
- NEXT-GEN BLACKWELL ARCHITECTURE — The NVIDIA GeForce RTX 5070 is powered by NVIDIA's cutting-edge Blackwell GPU architecture, delivering a massive generational leap in rasterization and ray tracing performance so you can experience your games the way they were meant to be played.
- Simplistic Design: Enjoy the latest generation of Windows 11 Home for your everyday needs. *MSI recommends Windows 11 Pro for business use.
- Cool While Gaming: In conjunction with an ARGB fan Air Cooler, the Codex R2 features four system cooling fans; three in the front and one in the rear to pull in cool air and push heat out of the PC.
- Turn on the Bright Lights: With the built-in RGB lighting, take your gaming experience to the next level by pressing the MSI LED button to cycle through lighting options. Customize lighting even further with MSI Center software.
Although the operating system may be 64-bit, the available Garry’s Mod dedicated-server binary is 32-bit. On a 64-bit host, install the required 32-bit compatibility libraries if SteamCMD reports that it cannot find a linux32/steamcmd executable. Check the host architecture with:
uname -m
An output such as x86_64 confirms a 64-bit system; it does not remove the need for 32-bit libraries.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Install SteamCMD and the Garry’s Mod server
SteamCMD is Valve’s command-line installer and updater. Facepunch identifies 4020 as the Garry’s Mod dedicated-server AppID. The following command logs in anonymously, installs to $HOME/gmodds, validates the files and exits:
steamcmd +login anonymous +force_install_dir "$HOME/gmodds" +app_update 4020 validate +quit
If your distribution package places SteamCMD at /usr/games/steamcmd, use that full path instead:
/usr/games/steamcmd +login anonymous +force_install_dir "$HOME/gmodds" +app_update 4020 validate +quit
What each SteamCMD option does
+login anonymoususes the anonymous account accepted by the dedicated server.+force_install_dir "$HOME/gmodds"selects the server directory.+app_update 4020downloads or updates Garry’s Mod.validatechecks the installed files and replaces files that do not match the expected version.+quitcloses SteamCMD after the operation.
Keep the Garry’s Mod server stopped while updating. Facepunch’s Linux documentation warns that an update can fail when the server process is still running, and also notes that force_install_dir can cause update problems in some circumstances. If an update fails, stop srcds_run, verify the installation path, then run the command again.
Get a Steam Game Server Login Token
A public dedicated server should use a Steam Game Server Login Token (GSLT). Create the token through Steam’s game-server-token page for Garry’s Mod, then pass it at launch with +sv_setsteamaccount. Facepunch states that this parameter is mandatory for the dedicated-server setup.
Treat the token like a password. Put it in the startup command or service configuration with permissions that prevent ordinary users from reading it. The example below uses YOUR_TOKEN only to show where your real token belongs.
Rank #2
- Legend perfected: Modern design with a matte basalt black finish in an optimized chassis with customizable AlienFX lighting zones, including the striking stadium lighting.
- Game changing graphics: Step into the future of gaming and creation with the NVIDIA GeForce RTX 5070 graphics, powered by NVIDIA Blackwell architecture.
- Marathon gaming unlocked: This high-performance technology ensures clean energy is consistently available, unleashing the top-level power of Intel Core Ultra 7 265F processor as you game, livestream, and multi-task for hours on end.
- Total command: Alienware Command Center software allows you to create and edit AlienFX lighting across the ecosystem, choose and monitor your performance mode across distinct power states, and create custom gaming profiles for your whole library.
- Dell Services: 1 Year Onsite Service provides support when and where you need it. Dell will come to your home, office, or location of choice, if an issue covered by Limited Hardware Warranty cannot be resolved remotely.
Start a basic server with srcds_run
Change into the installation directory and launch the Linux wrapper:
cd "$HOME/gmodds"
./srcds_run -game garrysmod +maxplayers 16 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_TOKEN
srcds_run starts the Source dedicated-server binary and passes the parameters after it to Garry’s Mod. The command selects a 16-player Sandbox server on gm_construct. Replace the map and gamemode with names installed on your server.
Startup parameters explained
| Parameter | Purpose | Example |
|---|---|---|
-game |
Selects the game directory. | -game garrysmod |
+maxplayers |
Sets the player limit. Choose a number your host and installed content can handle. | +maxplayers 16 |
+gamemode |
Selects the installed gamemode. | +gamemode sandbox |
+map |
Loads the initial map. Use the map name without the .bsp extension. |
+map gm_construct |
+sv_setsteamaccount |
Associates the process with your Steam Game Server Login Token. | +sv_setsteamaccount YOUR_TOKEN |
Watch the terminal for startup errors. Leave this process in the foreground while testing so that you can see missing libraries, invalid maps and other failures immediately. Once the server is working, use one of the persistence methods below.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallConfigure maps, gamemodes and server location
You can supply settings as launch parameters or place them in the server configuration file. LinuxGSM documents the main configuration file at:
/home/gmodserver/serverfiles/garrysmod/cfg/gmod-server.cfg
The exact path changes with the service account and installation directory. If you use LinuxGSM, run ./gmodserver details to identify the active files and command line before editing anything.
Choose a map and gamemode
Set the initial map and gamemode in the startup command, for example:
+gamemode sandbox +map gm_construct
The map argument omits .bsp. A map that is not installed locally will prevent the intended session from starting, so install any required map through the server’s normal content or Workshop process before selecting it.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- Processor specifications: Adopting AMD Ryzen 5 5600 processor, with a basic clock speed of 3.5GHz and a turbo frequency of 4.4GHz, it can achieve fast response computing performance
- Graphics Card: Features GeForce RTX 3050 graphics card with 6GB dedicated video memory for gaming and multimedia applications
- Memory configuration: Equipped with 32GB DDR4 RAM (16GB * 2), providing sufficient memory capacity for multitasking and demanding applications
- Gaming Performance: Designed to handle modern gaming titles and graphics-intensive tasks with smooth frame rates and visual quality
- Desktop System: Complete gaming desktop computer system ready for setup and use out of the box
Set the browser location
Use sv_location with an ISO 3166-1 alpha-2 country code to indicate the server’s browser location:
+sv_location us
For a server in the United Kingdom, use +sv_location gb. The code describes the advertised location; it does not move the server or change its network route.
Add Workshop addons and maps with a collection
The supported workflow is to create a public or unlisted Steam Workshop collection, add the required addons and maps, and pass the collection’s numeric ID when the server starts.
- Create the collection in Steam Workshop and add the content you want the server to mount.
- Set the collection visibility to public or unlisted so the server and connecting clients can retrieve it.
- Copy the collection ID from the Workshop URL.
- Add the collection parameter to the launch command:
./srcds_run -game garrysmod +maxplayers 16 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_TOKEN +host_workshop_collection COLLECTION_ID
At startup, Garry’s Mod downloads and mounts the collection. The Workshop documentation identifies the collection-file method as new with version 2026.09.22; that is a version marker, not a performance or player-count statistic.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Workshop update behavior
Automatic Workshop updates keep server files and clients aligned, but they can also introduce an addon change you did not intend to deploy. Facepunch warns that disabling host_workshop_autoupdate can leave maps or addons out of sync with clients. If players report missing content, first check that the collection is public or unlisted, the ID is correct and automatic updates have not been disabled unintentionally.
Keep the server running after a reboot
Simple option: an @reboot cron job
For a small installation, cron can launch srcds_run whenever the service account’s machine boots. Edit the crontab as the account that owns the server files:
crontab -e
Add one line containing the same command that worked interactively, for example:
Rank #4
- POWERED BY RTX 5070 12GB + RYZEN 7 9700X - The GeForce RTX 5070 12GB GDDR7 graphics card pairs with an 8-core AMD Ryzen 7 9700X processor to drive smooth 1440p and 4K gameplay, giving this gaming PC the headroom for modern titles, streaming, and creative work.
- 32GB DDR5 6000MHz MEMORY & 1TB NVMe SSD - 32GB of high-speed DDR5 memory and a 1TB PCIe 4.0 NVMe solid state drive deliver quick load times, smooth multitasking, and generous storage, keeping this prebuilt gaming desktop responsive under heavy workloads.
- BUILT-IN 11.3-INCH Smart DISPLAY - An integrated smart screen shows real-time CPU and GPU temperatures, usage, and weather while you play, adding a distinctive and functional touch to your battlestation.
- 850W 80+ GOLD POWER SUPPLY, 360MM LIQUID COOLING & WiFi 7 - An 850W 80 Plus Gold certified power supply provides stable, efficient power with headroom for future upgrades, while a 360mm AIO liquid cooler, WiFi 7, and an ARGB mid-tower case keep the Ryzen 7 CPU cool and connected in a clean build.
- READY TO PLAY OUT OF THE BOX - Arrives fully assembled and tested with Windows 11 Home pre-installed, so your prebuilt gaming computer is ready to set up in minutes. Assembled in the USA, and backed by a one-year limited warranty and lifetime free technical support.
@reboot cd /home/steam/gmodds && ./srcds_run -game garrysmod +maxplayers 16 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_TOKEN +host_workshop_collection COLLECTION_ID
Use absolute paths in a production crontab and test the entry by rebooting during a maintenance window. Cron starts the process; it does not provide the update, backup and monitoring workflow that a game-server manager supplies.
Recommended Free Tools
Managed option: LinuxGSM
LinuxGSM is useful when the server needs repeatable lifecycle operations rather than a single launch command. Its installer creates a service account and provides commands for starting, stopping and maintaining the instance. The documented command set includes:
./gmodserver start,stopandrestartfor normal lifecycle control../gmodserver updatefor a regular update andforce-updatewhen a normal update does not resolve the problem../gmodserver validateto validate the installed files../gmodserver backupto create a backup../gmodserver detailsto show the active paths and configuration../gmodserver debugto expose startup diagnostics../gmodserver monitorto check availability, restart an offline server and send alerts.
LinuxGSM does not replace the need to choose correct Garry’s Mod launch parameters. It wraps those parameters in a discoverable configuration and adds operational tooling around them.
Update and maintain the installation
Plan updates with the server stopped. For a manual installation, rerun the SteamCMD command:
steamcmd +login anonymous +force_install_dir "$HOME/gmodds" +app_update 4020 validate +quit
Start the server again only after SteamCMD exits successfully. With LinuxGSM, use ./gmodserver update and reserve force-update for cases where the regular operation does not repair the installation. The validate command is available in LinuxGSM as a separate file-integrity check.
Use the backup command before large Workshop changes, gamemode changes or other maintenance. The details and debug commands help distinguish a bad launch parameter from a missing file or an incorrect path.
Manual SteamCMD setup or LinuxGSM?
| Decision point | SteamCMD plus srcds_run |
LinuxGSM |
|---|---|---|
| Installation simplicity | Few components and complete visibility into the command. | Additional installer and configuration, but a guided server layout. |
| Startup control | Direct control over every srcds_run argument. |
Parameters are stored in a managed configuration and still remain editable. |
| Updates | Run SteamCMD manually and stop the server first. | update, force-update and validate commands. |
| Monitoring and restart | Cron can start the process after a reboot, but does not monitor it. | monitor can restart an offline server and send alerts. |
| Backups | You must design your own backup process. | A documented backup command is included. |
| Configuration discovery | You must remember the installation and config paths. | details shows the active configuration and paths. |
Choose the manual route when you want the smallest, easiest-to-audit setup or are learning the server’s parameters. Choose LinuxGSM when downtime, repeatable updates, backups and monitoring matter more than keeping the installation minimal.
Best Value
- CPU: AMD Ryzen7 5700X (up to 4.6GHz) 8-Core 16-Thread to easily handle multi-line tasks
- Main board: MSI B550M-A PRO motherboard provides reliable performance and stability
- GPU: Geforce RTX 5060 8GB GDDR7 Graphics Cards (Brand may vary) Support DLSS 4 multi frame generation, ray tracing, and Reflex 2 delay optimization
- RAM: 32GB DDR4 3200MHz (16GB*2) SSD: 1TB M.2 NVMe PCIe
- Power supply: 650W (80plus bronze) certified for energy efficiency and stable performance
Troubleshoot common failures
SteamCMD reports a missing linux32/steamcmd executable
This usually indicates missing 32-bit compatibility libraries on a 64-bit host. Confirm the architecture with uname -m, install the distribution’s required 32-bit libraries, then rerun SteamCMD. The Garry’s Mod server binary remains 32-bit even when the host kernel is 64-bit.
The update fails or files appear unchanged
Stop the running server before executing app_update 4020 validate. Check that you are invoking the correct SteamCMD executable and installation directory. Facepunch also documents cases where force_install_dir contributes to update problems; verify the path and retry with the server offline.
Players cannot see addons or maps
- Confirm that the Workshop collection is public or unlisted.
- Check every digit of the collection ID in
+host_workshop_collection. - Make sure the server is actually starting with that parameter; inspect the command with LinuxGSM’s
detailscommand if applicable. - Check that
host_workshop_autoupdatehas not been disabled unintentionally, which can leave clients and server content out of sync.
LinuxGSM settings do not take effect
Run ./gmodserver details and identify the configuration file and effective startup parameters. A value supplied on the command line can differ from a value in gmod-server.cfg; edit the location that LinuxGSM actually loads, then restart the server.
The process works manually but not after reboot
Check the cron entry as the server owner, use absolute paths, and ensure the working directory is changed before calling srcds_run. Test the exact command interactively first. If you need restart detection, alerting and routine maintenance rather than a one-time boot launch, move the installation to LinuxGSM and use its monitor command.
Choosing a host for public uptime
For a public community server, a data-center VPS or dedicated host is generally more predictable than a personal computer. LinuxGSM lists providers such as OVHcloud, Linode and Vultr as examples of data-center hosting. The important decision is not a particular provider name but whether the plan supplies enough disk space, CPU and memory for the selected player limit and Workshop collection, plus a network connection that remains available when players need it.
Start with a conservative +maxplayers value, observe the server under real use, and increase it only when the host and installed content remain stable. A larger player limit is a workload choice, not a guarantee that every map or addon will perform identically.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Launch checklist
- Create a non-root service account and choose a persistent installation directory.
- Verify the Linux architecture and install 32-bit libraries on a 64-bit host when SteamCMD requires them.
- Install or update AppID 4020 with
app_update 4020 validatewhile the server is stopped. - Create a Steam Game Server Login Token and pass it with
+sv_setsteamaccount. - Set
+gamemode,+map,+maxplayersand, if needed,+sv_location. - Use
+host_workshop_collectionfor a public or unlisted Workshop collection. - Choose cron for a basic reboot launch or LinuxGSM for updates, backups, monitoring and alerts.
- Test a clean stop, update, restart and reboot before inviting players.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




