docker-csgo

docker-csgo

Docker化CS:GO专用服务器的自动化部署方案

该项目提供了一个Docker镜像,用于自动化部署Counter-Strike: Global Offensive专用服务器。支持服务器自动更新,集成SourceMod和PugSetup/PracticeMode插件。通过环境变量可配置服务器参数,如tick率、地图和游戏模式。提供多种镜像变体,适用于不同CS:GO社区需求。

DockerCS:GO服务器SourceModPugSetupGithub开源项目

docker-csgo

<p> <a href="https://github.com/timche/docker-csgo-updater"> <img alt="GitHub CI" src="https://github.com/timche/docker-csgo-updater/workflows/ci/badge.svg" /> </a> <a href="https://hub.docker.com/r/timche/csgo"> <img alt="Docker Image Version" src="https://img.shields.io/docker/v/timche/csgo/latest"> </a> <a href="https://hub.docker.com/r/timche/csgo"> <img alt="Docker Image Size" src="https://img.shields.io/docker/image-size/timche/csgo/latest"> </a> <a href="https://hub.docker.com/r/timche/csgo"> <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/timche/csgo" /> </a> <a href="https://hub.docker.com/r/timche/csgo"> <img alt="Docker Stars" src="https://img.shields.io/docker/stars/timche/csgo" /> </a> </p>

Counter-Strike: Global Offensive (CS:GO) Dedicated Server with automated/manual updating and optional SourceMod and PugSetup/PracticeMode integrations

ℹ️ Run your CS:GO server on Hetzner Cloud for as low as €6.37/months with 2 vCPUs, 4 GB RAM, 40 GB storage and great performance (low sv/var)! Use my referral link to receive €20 cloud credits for free as soon as you sign up!

Table of Contents

How to Use This Image

$ docker run \ -v=csgo:/home/csgo/server \ --net=host \ timche/csgo

This is a bare minimum example and the server will be:

To configure the server with more advanced settings, set environment variables.

Image Variants

Each variant refers to a tag, e.g. timche/csgo:<tag>.

latest / <version>

Vanilla CS:GO server.

sourcemod / <version>-sourcemod

Vanilla CS:GO server with untouched Metamod:Source and SourceMod.

pug-practice / <version>-pug-practice

Vanilla CS:GO server with untouched Metamod:Source, SourceMod, PugSetup and PracticeMode (by splewis).

Environment Variables

General

CSGO_GSLT

Default: None

Your Game Server Login Token (GSLT) if you want to run the server on the internet.

Sets +sv_setsteamaccount in srcds_run parameters.

CSGO_WS_API_KEY

Default: None

Your Steam Web API Key to download workshop maps.

Sets -authkey in srcds_run parameters.

CSGO_IP

Default: 0.0.0.0

Internet IP the server is accessible from. In most cases the default value is sufficient, but if you want to run a GOTV server or have issues connecting to the server, setting the IP can help.

Sets +ip in srcds_run parameters.

CSGO_PORT

Default: 27015

Port the server is listening to.

Sets -port in srcds_run parameters.

CSGO_MAP

Default: de_dust2

Start the server with a specific map.

Sets +map in srcds_run parameters.

CSGO_MAX_PLAYERS

Default: 16

Maximum players allowed to join the server.

Sets -maxplayers_override in srcds_run parameters.

CSGO_HOSTNAME

Default: Counter-Strike: Global Offensive

The server name. It can't contain spaces, so if you need a server name with spaces, set hostname in a config instead, e.g. server.cfg.

Sets +hostname in srcds_run parameters.

CSGO_RCON_PW

Default: changeme

RCON password to administrate the server.

Sets +rcon_password in srcds_run parameters.

CSGO_PW

Default: None

Password to join the server.

Sets +sv_password in srcds_run parameters.

CSGO_TICKRATE

Default: 128

Server tick rate which can be 64 or 128. The default value gives the best game experience, but also requires most server hardware resources.

Sets -tickrate in srcds_run parameters.

CSGO_GAME_TYPE

Default: 0 (Competitive)

Game type.

Sets +game_type in srcds_run parameters.

CSGO_GAME_MODE

Default: 1

Game mode.

Sets +game_mode in srcds_run parameters.

CSGO_MAP_GROUP

Default: mg_active

Map group.

Sets +mapgroup in srcds_run parameters.

CSGO_TV_ENABLE

Default: false

Enable GOTV. Can be enabled with true.

CSGO_TV_NAME

Default: GOTV

Set GOTV name.

CSGO_TV_PASSWORD

Default: None

Set GOTV password.

CSGO_TV_DELAY

Default: 45

Set GOTV broadcast delay in seconds.

CSGO_TV_PORT

Default: 27020

Set GOTV port.

CSGO_TV_DELAYMAPCHANGE

Default: 1

Delay the map change on game server until rest of buffered game has been broadcasted.

CSGO_TV_DELTACACHE

Default: 2

CSGO_TV_DISPATCHMODE

Default: 1

CSGO_TV_MAXCLIENTS

Default: 10

Maximum client number for GOTV.

CSGO_TV_MAXRATE

Default: 0

Maximum bandwidth spend per client in bytes/second.

CSGO_TV_OVERRIDEMASTER

Default: 0

CSGO_TV_SNAPSHOTRATE

Default: 128

World snapshots broadcasted per second by GOTV.

CSGO_TV_TIMEOUT

Default: 60

CSGO_TV_TRANSMITALL

Default: 1

By default entities and events outside of the auto-director view are removed from GOTV broadcasts to save bandwidth. If tv_transmitall is enabled, the whole game is transmitted and spectators can switch their view to any player they want. This option increases bandwidth requirement per spectator client by factor 2 to 3.

CSGO_FORCE_NETSETTINGS

Default: false

Force client netsettings to highest rate (786432), cmdrate (128) and updaterate (128). This ensures optimal gameplay experience. Requires 128 tick rate.

Sets +sv_minrate, +sv_mincmdrate and +sv_minupdaterate in srcds parameters.

CSGO_PARAMS

Additional srcds_run parameters.

CSGO_DISABLE_BOTS

Default: false

Disable bots completely. Can be enabled with true.

This is not setting bot_quota to 0, because it's buggy and still spawns bots when players are for example disconnecting or switching sides. This is also not setting -nobots parameter, because it's also buggy and causes radar bugs with smokes. This simply removes bot profile files, so the server can't spawn any bots as it can't find an appropriate difficulty profile. It just works™. Bots in PracticeMode still work though.

CSGO_CUSTOM_FILES_DIR

Default: /usr/csgo

Absolute path to a directory in the container containing custom server files. Changing this is not recommended in order to follow the documentation. See more at "Populating with Own Server Files".

SERVER_CONFIGS

Default: false

Add server configs for competitive 5v5, knife round, aim map and FFA deathmatch from csgo-server-configs. Can be enabled with true.

SERVER_CONFIGS_VERSION

Default: 1.1.0

csgo-server-configs version. Changing this will update/downgrade it on container start. Only works with SERVER_CONFIGS set to true.

Mods

METAMOD_VERSION

sourcemod, pug-practice image only.

Default: 1.11.0

Metamod:Source version running on the server. Changing this will update/downgrade it on container start.

METAMOD_BUILD

sourcemod, pug-practice image only.

Default: 1155

Metamod:Source build number running on the server. Changing this will update/downgrade it on container start. Build number must exist at version.

SOURCEMOD_VERSION

sourcemod, pug-practice image only.

Default: 1.11.0

SourceMod version running on the server. Changing this will update/downgrade it on container start.

SOURCEMOD_BUILD

sourcemod, pug-practice image only.

Default: 6968

SourceMod build number running on the server. Changing this will update/downgrade it on container start. Build number must exist at version.

SOURCEMOD_PLUGINS_DISABLED

sourcemod, pug-practice image only.

Default: None

List of comma-separated SourceMod plugins (e.g. nextmap,reservedslots,sounds) that are disabled. * disables all plugins. The plugins are moved into the disabled folder on container start. This is running before SOURCEMOD_PLUGINS_ENABLED.

SOURCEMOD_PLUGINS_ENABLED

sourcemod, pug-practice image only.

Default: None

List of comma-separated SourceMod plugins (e.g. mapchooser,randomcycle,rockthevote) that are enabled. * enables all plugins. The plugins are moved out of the disabled folder into plugins on container start. This is running after SOURCEMOD_PLUGINS_DISABLED.

SOURCEMOD_ADMINS

sourcemod, pug-practice image only.

List of comma-separated Steam IDs that are SourceMod admins (e.g. STEAM_0:0:123,STEAM_0:1:234) with z flag.

PugSetup/PracticeMode

PUGSETUP_VERSION

pug-practice image only.

Default: 2.0.7

PugSetup version running on the server. Changing this will update/downgrade it on container start.

PRACTICEMODE_VERSION

pug-practice image only.

Default: 1.3.4

PracticeMode version running on the server. Changing this will update/downgrade it on container start.

PUG_PRACTICE_MINIMAL_PLUGINS

pug-practice image only.

Default: false

Disables all SourceMod plugins and enables only minimal required plugins for optimal server performance:

  • admin-flatfile
  • botmimic
  • csutils
  • practicemode
  • pugsetup

Can be enabled with true. Additional plugins can be enabled with SOURCEMOD_PLUGINS_ENABLED.

PUGSETUP_PERMISSIONS

pug-practice image only.

Default: None

List of comma-separated PugSetup permissions (e.g. sm_10man=none,sm_setup=admin) that are set in addons/sourcemod/configs/pugsetup/permissions.cfg. Changes are applied on container start.

PUGSETUP_SETUPOPTIONS

pug-practice image only.

Default: None

List of comma-separated PugSetup configurations (e.g. maptype=current,record=0:0) that are set in addons/sourcemod/configs/pugsetup/setupoptions.cfg where the first value is the default value followed by an optional second value which is the display_setting value and a : delimiter in between them. Changes are applied on container start.

PUGSETUP_CVARS

pug-practice image only.

Default: None

List of comma-separated PugSetup configurations (e.g. sm_pugsetup_autosetup=1,sm_pugsetup_quick_restarts=1) that are set in cfg/sourcemod/pugsetup.cfg. Changes are applied on container start, but not on initial container start as pugsetup.cfg must be auto-generated first by the server.

PUGSETUP_DAMAGEPRINT_CVARS

pug-practice image only.

Default: None

List of comma-separated PugSetup configurations (e.g. sm_pugsetup_damageprint_auto_color=1,sm_pugsetup_damageprint_format={NAME} [{HEALTH}]: {DMG_TO}/{HITS_TO}) that are set in cfg/sourcemod/pugsetup_damageprint.cfg. Changes are applied on container start, but requires pugsetup_damageprinter plugin to be run first.

Other

VALIDATE_SERVER_FILES

Default: false

Validate and restore missing/fix broken server files (incl. Metamod, SourceMod, PugSetup and PracticeMode if you're using sourcemod or pug-practice images) on container start. Can be enabled with true.

This should especially be used whenever custom server files have been deleted and have overwritten files before, e.g. addons/sourcemod/configs/admins_simple.ini, and you want to restore the original files.

DEBUG

Default: false

Print all executed commands for better debugging.

Managing SourceMod Plugins

SourceMod plugins can be managed through the environment variables SOURCEMOD_PLUGINS_DISABLED and SOURCEMOD_PLUGINS_ENABLED where either selected (comma-separated list) or all (*) plugins are disabled/enabled. Plugins are disabled first and then enabled on container start.

Example

# .env SOURCEMOD_PLUGINS_DISABLED="*" SOURCEMOD_PLUGINS_ENABLED="admin-flatfile,antiflood,reservedslots"

This will disable all plugins and enable admin-flatfile, antiflood and

编辑推荐精选

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

下拉加载更多