Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Set Up a Garry’s Mod Server on Linux (SteamCMD, Workshop and LinuxGSM)

A complete Linux setup guide for Garry’s Mod: install AppID 4020 with SteamCMD, launch srcds_run with a GSLT, configure maps and Workshop content, and automate restarts and maintenance.
Length9 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
msi Codex Z2 Gaming Desktop, AMD R7-8700F, RTX 5070, 32GB DDR5, 2TB SSD | NVIDIA GeForce RTX 5070, USB Type-C, VR-Ready, Windows 11 Home. Model A8NVP-436US
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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 anonymous uses the anonymous account accepted by the dedicated server.
  • +force_install_dir "$HOME/gmodds" selects the server directory.
  • +app_update 4020 downloads or updates Garry’s Mod.
  • validate checks the installed files and replaces files that do not match the expected version.
  • +quit closes 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
Alienware Aurora Gaming Desktop, RTX 5070, Intel Core Ultra 7 265F | 1TB SSD, 32GB DDR5, Wi‑Fi 7, Bluetooth, Killer 2.5Gb Ethernet, Windows 11 Home, Wired Keyboard, ACT1250
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
SKYESEV Prebuilt Gaming Desktop PC, AMD Ryzen 5 5600, GeForce RTX 3050 6GB,32GB DDR4 3200MHz RAM, 1TB NVMe SSD, ARGB Air Cooling, Wi-Fi,Tower Computer for Gaming, Streaming, Editing
  • 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.

  1. Create the collection in Steam Workshop and add the content you want the server to mount.
  2. Set the collection visibility to public or unlisted so the server and connecting clients can retrieve it.
  3. Copy the collection ID from the Workshop URL.
  4. 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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
KOTIN Prebuilt Gaming PC RTX 5070 12GB, Ryzen 7 9700X, 32GB DDR5, 1TB SSD | 11.3in Smart Display, 850W 80+ Gold PSU, 360mm Liquid Cooler, WiFi 7, 1440p 4K ARGB Windows 11 Gaming Desktop Computer
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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, stop and restart for normal lifecycle control.
  • ./gmodserver update for a regular update and force-update when a normal update does not resolve the problem.
  • ./gmodserver validate to validate the installed files.
  • ./gmodserver backup to create a backup.
  • ./gmodserver details to show the active paths and configuration.
  • ./gmodserver debug to expose startup diagnostics.
  • ./gmodserver monitor to 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

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
YAWYORE Gaming PC, AMD Ryzen 7 5700X, GeForce RTX 5060 Desktop Computer
  • 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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 details command if applicable.
  • Check that host_workshop_autoupdate has 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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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 validate while the server is stopped.
  • Create a Steam Game Server Login Token and pass it with +sv_setsteamaccount.
  • Set +gamemode, +map, +maxplayers and, if needed, +sv_location.
  • Use +host_workshop_collection for 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.