A completely Dockerized Plug-and-Play dedicated server for Counter Strike: Global Offensive
This project allows anyone to create and run their own custom game server with minimal effort. It can be used to deploy to a remote server (such as an EC2 instance), or just run locally on your machine.
- Docker must be installed on your machine. You can install docker on any operating system.
- A new Steam account is recommended for running a server, though not required. Docker will use "anonymous" otherwise.
CLI_USER_NAME
: Your Steam account's username. Defaults to anonymous
.
CLI_USER_PASS
: Your Steam account's password. Never hard code this! Defaults to a blank string.
Note that ...
Much like your CS:GO client, the dedicated server also contains an autoexec.cfg
that's executed when the server starts up.
- The two most important cvars that need to be set are simply
sv_cheats 0
andsv_lan 0
. - You can also set a password here with
sv_password
, or a description withhostname
. - Set tickrate here with
sv_maxupdaterate 128
andsv_minupdaterate 128
. - Do not use
autoexec.cfg
for gameplay-related cvars - see below.
Options in server.cfg
are sourced each time a new map loads.
- Use this file for cvars that are specific to server gameplay, irrespective of game mode.
- Some examples might be
mp_limitteams
,mp_warmuptime
, ormp_deathdropgun
.
Options in gamemode_x_server.cfg
are sourced independently for each game mode and load after server.cfg
.
- Use this file for cvars specific to a game mode.
- Replace 'x' with the name of the game mode - ex:
gamemode_competitive_server.cfg
,gamemode_deathmatch_server.cfg
. - Some examples might be
mp_roundtime
,mp_buytime
.
Running locally is easy using docker compose!
docker compose up