Sign inSign up

cr8ns/gmod-mcs

By cr8ns

•Updated 6 months ago

heliopolis.live/creations/gmod-mcs

Image
0

928

cr8ns/gmod-mcs repository overview

⁠Garry's Mod Docker for MCSManager

Garry's Mod dedicated server for MCSManager with runtime downloads.

Docker Hub: https://hub.docker.com/r/cr8ns/gmod-mcs⁠

⁠Features

  • Runtime server download to /data (MCSManager compatible)
  • Runs as root for mounted volume compatibility
  • SteamCMD at /home/steam/steamcmd (separate from server files)
  • Debian Bookworm base (modern, stable)
  • x64 server support
  • Optional CSS content
  • Workshop collection support
  • Configurable via environment variables

⁠Quick Start

Pull from Docker Hub:

docker pull cr8ns/gmod-mcs:latest

Or build locally:

docker build -f debian-x64.Dockerfile -t cr8ns/gmod-mcs .

⁠Environment Variables

VariableDefaultDescription
SERVER_DIR/dataServer installation directory
MAXPLAYERS16Maximum players
GAMEMODEsandboxGame mode
MAPgm_constructStarting map
PORT27015Server port
TICKRATE66Server tickrate
HOSTNAMEGarry's Mod ServerServer name
RCON_PASSWORD``RCON password (empty = disabled)
SV_REGION255Server region (255 = world)
INSTALL_CSStrueDownload CSS content
WORKSHOP_ID``Workshop collection ID
WORKSHOP_AUTHKEY``Workshop auth key
ARGS``Additional server arguments

⁠Usage

⁠MCSManager

MCSManager mounts instance data to /data.

  • First run: Downloads server (~5-10 min)
  • Restarts: Instant startup, no updates
  • Updates: Use update.sh via terminal or schedule manually
⁠Docker Run
docker run -d \
  -v $PWD/server:/data \
  -p 27015:27015 \
  -p 27015:27015/udp \
  -e MAXPLAYERS=32 \
  -e GAMEMODE=darkrp \
  -e MAP=rp_downtown_v4c_v2 \
  -e HOSTNAME="My Server" \
  -e RCON_PASSWORD=secret123 \
  cr8ns/gmod-mcs:latest
⁠Workshop Collections
docker run -d \
  -v $PWD/server:/data \
  -p 27015:27015/udp \
  -e WORKSHOP_ID=123456789 \
  -e WORKSHOP_AUTHKEY=your_key_here \
  cr8ns/gmod-mcs:latest

⁠Manual Update

Execute inside running container:

docker exec -it container_name /home/steam/update.sh

Or from host:

docker exec container_name /home/steam/update.sh

⁠Directory Structure

/home/steam/steamcmd/    # SteamCMD (in image)
/data/                   # Server files (runtime)
  ├── srcds_run_x64
  ├── garrysmod/
  │   ├── addons/
  │   ├── cfg/
  │   └── gamemodes/
  └── cstrike/           # Optional CSS content

⁠Persistence

Everything in /data persists:

  • Server files
  • Addons
  • Configs
  • Game modes
  • Player data
  • Logs

⁠Ports

  • 27015/tcp - Game server
  • 27015/udp - Game server (main)
  • 27005/udp - Server browser/RCON

⁠Region Codes

CodeRegion
0US East
1US West
2South America
3Europe
4Asia
5Australia
6Middle East
7Africa
255World

⁠Notes

  • First startup: 5-10 minutes (server download)
  • Subsequent starts: Instant (no auto-update)
  • Updates: Manual only via update.sh script
  • Disk space: ~5GB for server files
  • Container starts as root for MCSManager volume compatibility
  • Server process runs as steam user (safe, no warnings)
  • SteamCMD commands execute as steam user via su
  • SteamCMD separate from server for MCSManager compatibility
  • set -e in scripts exits on any error
  • CSS content optional via INSTALL_CSS=false

Tag summary

Content type

Image

Digest

sha256:6c59eb047…

Size

260 MB

Last updated

6 months ago

docker pull cr8ns/gmod-mcs