跳到内容
Counter-Strike 2

安装 Counter-Strike 2 服务器

CS2 专用服务器通过 SteamCMD 安装(app 730,约 60 GB),用 cs2.sh 启动。请准备较新的 Ubuntu VPS 或 Windows PC、约半小时安装时间,以及用于在线显示的服务器令牌(GSLT)。参考来源:Hetzner Community 教程、托管商指南和 Valve Wiki(撰写时无法访问,请自行核对)。

最后更新:2026/10/9

CS2 专用服务器通过 SteamCMD 安装(app 730,约 60 GB),用 cs2.sh 启动。请准备较新的 Ubuntu VPS 或 Windows PC、约半小时安装时间,以及用于在线显示的服务器令牌(GSLT)。参考来源:Hetzner Community 教程、托管商指南和 Valve Wiki(撰写时无法访问,请自行核对)。

分步安装

  1. 准备机器:Ubuntu 24.04(或 Windows),10 至 32 名玩家至少 4 vCPU、8 GB 内存、80 GB 磁盘。

  2. 创建非 root 用户(steam),并安装带 32 位库的 SteamCMD。

  3. 在 steamcommunity.com/dev/managegameservers 为 AppID 730 创建 GSLT 令牌(每台服务器一个)。

  4. 用 app_update 730 validate 下载服务器(10 至 30 分钟)。

  5. 创建 64 位 SDK 的 steamclient.so 链接,然后在 game/ 目录下用 ./cs2.sh 启动服务器。

  6. 将 server.cfg 放入 game/csgo/cfg/(参见“CS2 server.cfg 生成器”工具)。

  7. 在 ufw、服务商防火墙和路由器中开放 27015(UDP 与 TCP)、27005(UDP)和 27020(UDP)。

  8. 在 CS2 游戏控制台中输入 connect IP:27015 连接。

  9. 创建 systemd 服务实现自动启动,并安排备份与更新。

前提条件

  • 系统:Ubuntu 24.04(Hetzner 教程所用)或 Windows 10/11 与 Windows Server。
  • 资源:10 至 32 名玩家需 4 vCPU、8 GB 内存、80 GB 磁盘(Hetzner 教程建议);下载约 60 GB。
  • 账号:需要 Steam 账号来创建 GSLT 令牌(AppID 730)。没有令牌时服务器仅限局域网。
  • 注意:旧版 CS:GO 服务器使用 app 740,CS2 使用 730。

Windows 本地安装

从 Valve 官方文档下载 SteamCMD,解压到 C:\steamcmd,然后安装服务器。Windows 下 cs2.exe 的确切路径未能从官方来源确认:安装后请在 game\bin 文件夹中查找,用 -dedicated -console 启动,并在游戏中用 connect 127.0.0.1 测试。

cd C:\steamcmd
steamcmd +force_install_dir C:\cs2-server +login anonymous +app_update 730 validate +quit

Linux VPS:用户与依赖

以下为 Hetzner Community 教程(Ubuntu 24.04)中的命令。steam 账号在生产环境不需要 sudo,安装完成后请移除该权限。

sudo apt update && sudo apt upgrade -y
sudo adduser steam
sudo usermod -aG sudo steam
su - steam
sudo apt-get install lib32gcc-s1 -y
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install steamcmd -y

Linux VPS:下载服务器

Hetzner 教程还建议先用专用 Steam 账号登录一次(steamcmd +login 你的账号);多份指南中匿名安装也可行,请自行测试。

mkdir -p ~/cs2-server && cd ~/cs2-server
steamcmd +login anonymous +force_install_dir ~/cs2-server +app_update 730 validate +quit

# SDK 64 bits (ignorer si le lien existe déjà)
mkdir -p ~/.steam/sdk64
ln -s ~/.local/share/Steam/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so

Linux VPS:首次启动

请始终在 game/ 目录下运行 ./cs2.sh(不要直接运行二进制文件),并替换 YOUR_GSLT_TOKEN。模式:casual 0/0、competitive 0/1、deathmatch 1/2(+game_type/+game_mode)。-insecure 会禁用 VAC,仅用于私人服务器。测试时可用 screen 或 tmux(screen -S cs2)。

cd ~/cs2-server/game
./cs2.sh -dedicated -port 27015 -maxplayers 10 \
  +hostname "My CS2 Server" +map de_dust2 \
  +game_type 0 +game_mode 1 \
  +sv_setsteamaccount YOUR_GSLT_TOKEN

需开放的端口与 Linux 防火墙(ufw)

要更改游戏端口,请在启动命令中添加 -port N(每个实例使用不同端口),并开放该端口代替 27015。

只开放必要端口,并从另一条网络连接(而非服务器本机)测试。

  • 27015/udp:游戏流量
  • 27015/tcp:RCON 与 ping
  • 27005/udp:客户端通信
  • 27020/udp:SourceTV(录制 demo)
  • Hetzner 教程列出的其他端口:27036/tcp(Steam Remote Play)、3478/udp(NAT 穿透)、4379-4380/udp(匹配)、22/tcp(SSH)。
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw status

Windows 防火墙(netsh)

在管理员命令提示符中为每个端口创建入站规则(或打开“高级安全 Windows Defender 防火墙”)。

netsh advfirewall firewall add rule name="Counter-Strike 2 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 2 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 2 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Counter-Strike 2 27020 UDP" dir=in action=allow protocol=UDP localport=27020

服务商防火墙与端口转发(路由器)

在托管商(OVH、Hetzner、Scaleway 等)处,还需在服务商防火墙或“安全组”中开放相同端口:若上游有防火墙,仅靠 ufw 不够。家用服务器则在路由器中把每个端口转发(NAT)到机器的本地 IP(设为静态或 DHCP 保留)。

测试:从另一条网络连接,在 Counter-Strike 2 的服务器浏览器或控制台中以“IP:端口”添加服务器。若失败,依次检查:服务是否运行、本机防火墙、服务商防火墙、NAT 转发。

开机自启:systemd 服务

以 root 创建 /etc/systemd/system/cs2.service 并启用。请按需修改用户与路径;用 journalctl -u cs2 -f 查看日志。

[Unit]
Description=Counter-Strike 2 dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/cs2-server/game
ExecStart=/home/steam/cs2-server/game/cs2.sh -dedicated -port 27015 -maxplayers 10 +game_type 0 +game_mode 1 +map de_dust2 +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now cs2

Windows:开机计划任务

在 Windows 上,计划任务会在系统启动时运行 .bat 脚本(请在管理员命令提示符中执行命令)。

schtasks /Create /TN "Counter-Strike 2 server" /TR "C:\cs2-server\start-cs2.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST

更新、备份与计划重启

更新前先停止服务(与安装相同的 SteamCMD 命令),定期备份配置与数据文件;若服务器运行久了变差,可安排每日重启。

sudo systemctl stop cs2
steamcmd +force_install_dir /home/steam/cs2-server +login anonymous +app_update 730 validate +quit
sudo systemctl start cs2

# backup
tar czf ~/cs2-$(date +%F).tar.gz -C /home/steam/cs2-server game/csgo/cfg game/csgo/gamemodes_server.txt

# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart cs2

登记并找到你的服务器

在 https://game-rank.com/jeux/counter-strike 登记你的服务器,让社区看到。游戏内可通过服务器浏览器查找,或直接用 IP:端口 连接。

故障排查:常见错误

  • 服务器以 LAN 模式启动或不可见:GSLT 令牌缺失、无效或已用于其他服务器。解决:为 AppID 730 创建该服务器专用令牌,并通过 +sv_setsteamaccount 传入。
  • 服务器崩溃或找不到 steamclient.so:缺少 64 位 SDK 链接。解决:按说明创建 ~/.steam/sdk64/steamclient.so,并在 game/ 目录下运行 ./cs2.sh。
  • 外部看不到服务器:服务在运行但无人能连接。原因:端口被关闭(ufw、服务商防火墙或缺少 NAT 转发)。解决:在三个层面开放上述端口,并从另一条网络测试。
  • 启动时端口已被占用:另一个实例占用了端口。解决:用 ss -lunp | grep 27015 查看进程,停止旧实例,或用 -port 为每个服务器指定不同端口。
  • SteamCMD 提示 “Failed to install app” 或下载卡住:常见原因是磁盘已满或目录权限不足。检查 df -h 和目录所有者,然后带 validate 重新运行命令(必要时多次)。

常见问题

CS2 仍沿用 CS:GO 的命令和文件吗?
部分沿用:配置目录仍是 game/csgo/cfg/,大部分 mp_* cvar 也存在,但服务器是另一个应用(730),部分内容(SourceMod 插件、CS:GO 的创意工坊 API)不能原样迁移。不确定时请在你的版本上测试。
CS2 服务器能容纳多少玩家、需要什么配置?
Hetzner 教程面向 10 至 32 名玩家,配置为 4 vCPU、8 GB 内存、80 GB 磁盘;可在启动命令中用 -maxplayers 限制人数。
可以用 root 运行服务器吗?
不建议:请创建不含管理员权限的专用用户(如 steam),用它安装并运行服务器,这样服务器或插件的漏洞不会危及整台机器。
我的 Counter-Strike 2 服务器不在列表中:该检查什么?
先确认各层端口均已开放、服务器未处于 LAN 模式(sv_lan 0),且在游戏要求时提供了有效的服务器令牌(GSLT)。Steam 列表刷新可能需要几分钟,期间可用 IP:端口 直连。

Counter-Strike 2 服务器工具

Counter-Strike 2
Counter-Strike 2免登录
生成 Counter-Strike 2 服务器的 server.cfg 与启动命令:模式、回合、金钱、机器人和密码。
配置启动打开
文档
Counter-Strike 2
Counter-Strike 2需要登录
列出 CS2 创意工坊地图:+host_workshop_map 参数、gamemodes_server.txt 地图组和 ds_workshop_changelevel 命令。
创意工坊地图打开
文档