# Garry's Mod - INFRA Content

## Mounting INFRA content on a Garry's Mod server

1. Log in using SteamCMD with your credentials (you need to own INFRA on your account)
    - Start `steamcmd` via command line.
    - Type: `login YOUR_USERNAME_HERE`
    - Type in password and 2FA code.
2. Set install directory using `force_install_dir`
    - Example on Linux: `force_install_dir /home/alex/my_gmod_server/infrafiles`
    - Example on Windows: `force_install_dir C:/my_gmod_server/infrafiles`
3. Make sure to set the correct platform type for SteamCMD: `@sSteamCmdForcePlatformType windows`
    - This is only necessary for Linux, but doesn't affect anything on Windows.
4. Download INFRA files: `app_update 251110 validate`
    - `validate` at the end is optional, but I recommend using it to validate your downloaded files.
5. Open up your `mount.cfg` file (using a text editor like Notepad++ or similar) inside your `garrysmod/cfg` directory
    - In my case (Linux), the full directory would be `/home/alex/my_gmod_server/garrysmod/cfg/mount.cfg`
    - Or on Windows: `C:/my_gmod_server/garrysmod/cfg/mount.cfg`
6. Add a line inside the "squiggly brackets" (they look like this: `{}`) and put:
    - Linux: `"infr"   "/home/alex/my_gmod_server/infrafiles"`
    - Windows: `"infr"  "C:\my_gmod_server\infrafiles"`
    - I added an example `mount.cfg` down below.
7. Restart the server.

### mount.cfg (example)
```
//
// Use this file to mount additional paths to the filesystem
// DO NOT add a slash to the end of the filename
//

"mountcfg"
{
	// "cstrike"	"C:\steamcmd\steamapps\common\Counter-Strike Source Dedicated Server\cstrike"
	// "tf"			"C:\mytf2server\tf"
	"infr"          "/home/alex/my_gmod_server/infrafiles"
}
```

### steamcmd_example_script.sh
```bash
#!/bin/bash

# Example bash script for downloading INFRA content on a Linux server.
USERNAME="decicus"
INSTALL_DIRECTORY="/home/alex/my_gmod_server/infrafiles"

./steamcmd +login $USERNAME +force_install_dir $INSTALL_DIRECTORY +app_update 251110 validate +quit
```