Skip to content
/ CS2 Public
forked from CM2Walki/CS2

Dockerfile for automated build of a CS2 dedicated game server: https://hub.docker.com/r/cm2network/cs2/

License

Notifications You must be signed in to change notification settings

trjast/CS2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Docker Cloud Build Status Docker Stars Docker Pulls Discord

Supported tags and respective Dockerfile links

What is Counter-Strike 2?

For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2. This Docker image contains the dedicated server of the game.

CS2

logo

How to use this image

Hosting a simple game server

Initial one-time setup

As of now, you can't download the CS2 dedicated server using +login anonymous, as it's part of the CS2 client.

  1. Create a fresh Steam account and add CS2 to its library or use your own. [Optional if you already have an account]

  2. Create required named volume:

$ docker volume create steamcmd_login_volume # Location of login session
  1. Activate the SteamCMD login session, if required enter your e-mail Steam Guard code (this will permanently save your login session in steamcmd_login_volume). Replace the following fields before executing the command:
  • [STEAMUSER] - steam username
  • [ACCOUNTPASSWORD] - steam account password
$ docker run -it --rm \
    -v "steamcmd_login_volume:/home/steam/Steam" \
    cm2network/steamcmd \
    bash /home/steam/steamcmd/steamcmd.sh +login [STEAMUSER] [ACCOUNTPASSWORD] +quit

Running a CS2 dedicated server

  1. Run using a bind mount for data persistence on container recreation. Replace the following fields before executing the command:
  • [STEAMUSER] - steam username (no password required, if you completed step 1)
$ mkdir -p $(pwd)/cs2-data
$ chmod 777 $(pwd)/cs2-data # Makes sure the directory is writeable by the unprivileged container user
$ docker run -d --net=host \
    -v $(pwd)/cs2-data:/home/steam/cs2-dedicated/ \
    -v "steamcmd_login_volume:/home/steam/Steam" \
    --name=cs2-dedicated -e STEAMUSER=[STEAMUSER] cm2network/cs2

The container will automatically update the game on startup, so if there is a game update just restart the container.

Configuration

Environment Variables

Feel free to overwrite these environment variables, using -e (--env):

STEAMUSER="changeme"        (Steam user stored in steamcmd_login_volume)
CS2_SERVERNAME="changeme"   (Set the visible name for your private server)
CS2_PORT=27015              (CS2 server listen port tcp_udp)
CS2_LAN="0"                 (0 - LAN mode disabled, 1 - LAN Mode enabled)
CS2_RCONPW="changeme"       (RCON password)
CS2_PW="changeme"           (CS2 server password)
CS2_MAXPLAYERS=10           (Max players)
CS2_GAMETYPE=0              (Game type, see https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
CS2_GAMEMODE=1              (Game mode, see https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
CS2_MAPGROUP="mg_active"    (Map pool)
CS2_STARTMAP="de_inferno"   (Start map)
CS2_ADDITIONAL_ARGS=""      (Optional additional arguments to pass into cs2)
CS2_BOT_DIFFICULTY=""       (0 - easy, 1 - normal, 2 - hard, 3 - expert)
CS2_BOT_QUOTA=""            (Number of bots)
CS2_BOT_QUOTA_MODE=""       (fill, competitive)

Credits

This repository is based on https://github.com/CM2Walki/CSGO (obsolete as of September 2023).
This repository is a fork of and uses code from https://github.com/joedwards32/CS2.

Contributors

Contributors Display

About

Dockerfile for automated build of a CS2 dedicated game server: https://hub.docker.com/r/cm2network/cs2/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.5%
  • Dockerfile 47.5%