# GMOD – Garry's Mod TTT Server Dieses Repository enthält eine Docker-Compose-Konfiguration für einen Garry's-Mod-Server mit dem Gamemode **Trouble in Terrorist Town (TTT)**. Die Compose-Datei startet den Container `garrysmod-server`, baut das Image lokal aus dem Dockerfile und speichert Konfigurationen, Logs, Cache, Workshop-/Steam-Daten sowie eigene Addons dauerhaft unter `/opt/gmod`. ## Überblick | Bereich | Wert | | --------------- | ------------------------------ | | Service | `garrysmod` | | Container | `garrysmod-server` | | Image | `ttt-phoenix/garrysmod:latest` | | Gamemode | `terrortown` | | Standard-Map | `gm_drachenschanze` | | Server-Port | `27016` TCP/UDP | | Restart-Policy | `unless-stopped` | | Persistenz-Pfad | `/opt/gmod/persistent` | ## Server starten ```bash docker compose -f gmod.yaml up -d --build ``` Logs anzeigen: ```bash docker compose -f gmod.yaml logs -f garrysmod ``` Server neustarten: ```bash docker compose -f gmod.yaml restart garrysmod ``` Server stoppen: ```bash docker compose -f gmod.yaml down ``` ## Verzeichnisstruktur ```text /opt/gmod ├── Dockerfile ├── addons/ ├── gamemodes/ ├── persistent/ │ ├── cfg/ │ ├── data/ │ ├── logs/ │ ├── cache/ │ ├── steamapps/ │ └── steam_cache/ └── Steam/ ``` Verzeichnisse anlegen: ```bash sudo mkdir -p /opt/gmod/{addons,gamemodes,Steam} sudo mkdir -p /opt/gmod/persistent/{cfg,data,logs,cache,steamapps,steam_cache} ``` ## Konfiguration | Variable | Bedeutung | | -------------- | ------------------------------------------------- | | `GAMEMODE` | Garry's-Mod-Gamemode, aktuell `terrortown` | | `HOSTNAME` | Servername in der Serverliste | | `MAP` | Startmap | | `MAPS` | Map-Rotation / verfügbare Maps | | `NAME` | interner Server-/Instanzname | | `PORT` | Serverport, aktuell `27016` | | `PRODUCTION` | Produktionsmodus, aktuell `1` | | `WORKSHOP_IDS` | Steam-Workshop-IDs, die vom Server geladen werden | ## Auffälligkeiten Der Volume-Zielpfad für Steamapps sieht wahrscheinlich nach einem Tippfehler aus: ```yaml /opt/gmod/persistent/steamapps:/home/gmod/server/steamappsp ``` Vermutlich sollte es heißen: ```yaml /opt/gmod/persistent/steamapps:/home/gmod/server/steamapps ``` Außerdem steht am Ende der Map-Liste: ```text ttt_krustykrab gm_drachenschanze ``` Falls eine kommagetrennte Liste erwartet wird, sollte daraus werden: ```text ttt_krustykrab, gm_drachenschanze ``` ## Git-Upload ```bash git init git add . git commit -m "Initial commit" git branch -M main git remote add origin git@10.1.1.4:GMOD/GMOD.git git push -u origin main ```