Self-hosted Gaming
Tutorials for Dedicated Game Servers View on Github

Garry's Mod

Valve's game servers are not known to have the most user friendly interfaces and documentation.
This main article will give you an idea on how to setup up a Garry's Mod server.

Mods and specific game modes have their own section and can be found either via the navigation or our search function.

Prerequisites

First of all you need to install steamcmd.
steamcmd is used to install games from the commandline without any kind of visual user interface.

Installation

  1. Create a directory where you want your game server to be. This will be referred to as $GAME_DIR.
  2. Install the server via steamcmd.
    IMPORTANT: $GAME_DIR has to be the absolute path of the directory.
steamcmd +login anonymous \
    +force_install_dir $GAME_DIR \
    +app_update 4020 validate \
    +quit

That's it. This is the basic installation setup for a Garry's Mod server. If you want to start a specific game mode or mod, please check the specialized guides on the left.

Configuration of the Server

You can configure any available variable of the game to your liking. This is done via the file located at $GAME_DIR/garrysmod/cfg/server.cfg.

DISCLAIMER: Whenever you change something in the configuration file, you have to restart the server for changes to take effect.

The configuration always has the same pattern: name_of_option value.

Example:

// Base time per round
ttt_haste_starting_minutes 4

// Percentage of base time gained per kill
ttt_haste_minutes_per_death 0.35

Everything that starts with // is a comment and solely for giving you some context. The game completely ignores these lines.

Every mod and game mode brings their own configuration variables. You therefore might need to do some researching yourself, depending on which kind of workshop content you decide to add.

Setting up Steam Workshop Collections

It's a really good idea, to either use or create a steam workshop collection. This way, you have an easy way of adding and removing workshop content via the web interface.
Otherwise you would have to manually download, copy, delete and update your server every time something changes.

Another side-effect is that your friends can easily download your required mods via Steam, which is at least a hundred times faster than via Garry's Mod. Their download speed is excruciatingly slow.

If you still don't want to use workshop collections, please skip to the next sub section.
Otherwise, here's what you have to do:

1. Get your Steam Web API key

2. Create a Steam workshop collection.

3. Go to your owned collection page.

4. Get your workshop collection ID

You are now capable of creating workshop collections. You could have, for instance, a collection for TTT and another one for Prophunt.

This way you can neatly organize your content depending on your wanted mod

DISCLAIMER: Whenever you change something in your workshop collection, you have to restart the server for changes to take effect.