119 lines
3.0 KiB
Markdown
119 lines
3.0 KiB
Markdown
# 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 "was gemacht wurde"
|
||
|
||
git branch -M main
|
||
git remote add origin git@10.1.1.4:GMOD/GMOD.git
|
||
git push -u origin main
|
||
```
|
||
|