docker-garrysmod/README.md
2021-02-12 01:14:45 +01:00

112 lines
2.4 KiB
Markdown

# What is Garry's Mod?
Garry's Mod is a physics sandbox. There aren't any predefined aims or goals. We give you the tools and leave you to play.
# Quick Start
## Basic
```
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
hackebein/garrysmod
```
## Enable API
```
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-e "AUTHKEY=..." \
hackebein/garrysmod
```
Get your [AUTHKEY](http://steamcommunity.com/dev/apikey)
## Public
If you have activated the API, this step happens automatically.
```
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-e "GLST=..." \
hackebein/garrysmod
```
Get your [GLST](http://steamcommunity.com/dev/managegameservers) (`APPID: 4000`)
## Workshop Collection
Workshop access requires the API.
```
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-e "AUTHKEY=..." \
-e "WORKSHOPCOLLECTIONID=..." \
hackebein/garrysmod
```
## Config
```
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-v ./server.cfg:/opt/steam/garrysmod/cfg/server.cfg \
hackebein/garrysmod
```
## Example for TTT
```
# make sure server.cfg file exists
touch ./server.cfg
# start container
docker run -it \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-e "AUTHKEY=..." \
-e "GAMEMODE=terrortown" \
-e "MAP=ttt_minecraft_b5" \
-e "WORKSHOP=843519054" \
-e "WORKSHOPDL=843519054" \
-v ./server.cfg:/opt/steam/garrysmod/cfg/server.cfg \
-v ./overlay:/opt/overlay \
hackebein/garrysmod
```
Checkout [overlay](https://github.com/Hackebein/docker-srcds#overlay-folder) to overwrite files that are provided by Steam.
Go to [Workshopp Collection](https://steamcommunity.com/sharedfiles/filedetails/?id=843519054)
## Additional Environment
TICKRATE: Tickrate of server, **Attention:** Change not recommended
(`Default: 66`)
GAMEMODE:
(`Default: sandbox`)
MAP: Map on Server start
(`Default: gm_flatgrass`)
CONFIG: Server config, **Attention:** Change not recommended
(`Default: server.cfg`)
MAXPLAYERS: Max players
(`Default: 16`)
CUSTOMPARAMETERS: additional parameters
(`Default: `)
WORKSHOP: downloads workshop collection for server
(`Default: `)
WORKSHOPDL: downloads workshop collection for client before joining
(`Default: `)
## More Options
You can found more configuration options on the parent image page [hackebein/srcds](https://github.com/Hackebein/docker-srcds)