本文只讲 Linux 系统的完整步骤。用 Windows 请看:《CS:起源开服教程(Windows版)》
Linux 环境还没准备好(SSH、依赖库、screen、systemd)?先看:《Linux 云服务器开服通用前置教程》
CS:起源(Counter-Strike: Source)的服务端是 Source 1 引擎的 srcds,原生支持 Linux,跑起来比 Windows 更省资源、更稳定。匿名 SteamCMD 就能下载,不需要拥有游戏。
这篇带你从零开一个能搜到、能长期挂的 CS:S 社区服。
一、开服前必读:先搞清这 4 件事
① 专用服 AppID 是 232330,不是 240
240 是游戏本体 ID(申请 GSLT 时用),下载服务端要用 232330。
② CS:S 锁死 66 tick-tickrate 在现行版本上无效,别照抄老教程。按 66 tick 规划。
③ 想进服务器列表必须申请 GSLT
申请时 AppID 填 240,用法见第 6 步。
④ Linux 下要装 32 位运行库
SteamCMD 是 32 位程序,Source 1 服务端也依赖 32 位库,这是新手最常卡的一步。
二、端口规划(NAT 型必看)
| 端口 | 协议 | 用途 | 是否必开 |
|---|---|---|---|
| 27015 | UDP | 游戏流量 + A2S 查询 | ✅ 必开 |
| 27015 | TCP | Source RCON | ✅ 强烈建议 |
| 27020 | UDP | SourceTV(开 tv_enable 1 才需要) | ⭕ 可选 |
NAT 型服务器在控制台把 27015 UDP + TCP 各映射一条,玩家连 公网IP:公网端口。详见 《NAT 端口映射完全指南》。
三、Linux 系统完整步骤
第 1 步:准备服务器
| 人数 | CPU | 内存 | 磁盘 | 系统 |
|---|---|---|---|---|
| ≤ 12 人 | 2 核 | 2G | 10G | Ubuntu 20.04/22.04、Debian 11/12 |
| 16-24 人 | 2 核(高主频) | 4G | 15G | 同上 |
| 32 人 | 2-4 核 | 4-6G | 20G | 同上 |
第 2 步:装依赖(32 位库是关键)
sudo apt update && sudo apt upgrade -y
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1 screen wget curlCentOS / RHEL:sudo yum install -y glibc.i686 libstdc++.i686 zlib.i686第 3 步:建专用用户(别用 root 跑)
sudo useradd -m -s /bin/bash srcds
sudo su - srcds第 4 步:SteamCMD 下载服务端
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
cd ~/steamcmd
./steamcmd.sh +login anonymous \
+force_install_dir /home/srcds/css \
+app_update 232330 validate \
+quit目录结构:
/home/srcds/css/
├── srcds_run ← Linux 启动脚本(用这个,不是 srcds_linux)
├── srcds_linux
└── cstrike/
├── cfg/ ← server.cfg 在这
├── maps/
└── addons/第 5 步:防火墙放行端口
# Ubuntu / Debian
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw reload
# CentOS / RHEL
sudo firewall-cmd --permanent --add-port=27015/udp
sudo firewall-cmd --permanent --add-port=27015/tcp
sudo firewall-cmd --reload云服务器安全组也要放行,这是独立于系统防火墙的开关。
第 6 步:申请 GSLT 并写 server.cfg
先去 https://steamcommunity.com/dev/managegameservers,AppID 填 240,生成令牌。
然后新建 /home/srcds/css/cstrike/cfg/server.cfg:
// ===== 基础 =====
hostname "我的 CS:S 服务器"
rcon_password "改成强密码"
sv_password ""
// ===== 网络 =====
sv_lan 0
sv_region 255
sv_maxrate 0
sv_minrate 20000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
// ===== 游戏 =====
mp_timelimit 30
mp_roundtime 3
mp_freezetime 6
mp_friendlyfire 0
mp_autoteambalance 1
mp_limitteams 2
mp_maxrounds 0
mp_buytime 45
mp_startmoney 800
mp_c4timer 35
// ===== 其他 =====
sv_cheats 0
sv_pure 1
sv_allowupload 1
sv_allowdownload 1
sv_voiceenable 1
sv_alltalk 0
// 日志
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1sv_lan 0 必须确认:写成 1 你的服就是局域网服,外网搜不到。第 7 步:启动脚本
新建 /home/srcds/css/start.sh:
#!/bin/bash
cd /home/srcds/css
./srcds_run -game cstrike -console -secure \
-ip 0.0.0.0 -port 27015 \
+maxplayers 24 \
+map de_dust2 \
+exec server.cfg \
+sv_setsteamaccount 你的GSLT令牌 \
-nohltvchmod +x /home/srcds/css/start.sh参数说明:
srcds_run是 shell 包装器,崩了会自动重启,比直接跑srcds_linux稳-game cstrike:内容目录名-ip 0.0.0.0:不加远程 RCON 经常连不上,这是关键项+maxplayers:启动时设定,运行中改不了+map:必须有,没地图不接受连接-norestart:调试时加上,防止崩了无限重启
先手动跑一次验证:
cd /home/srcds/css && ./start.sh看到 Connection to Steam servers successful 和地图加载完成就说明 OK,Ctrl+C 停掉。
第 8 步:systemd 常驻(长期挂服)
sudo tee /etc/systemd/system/css.service > /dev/null << 'EOF'
[Unit]
Description=Counter-Strike Source Dedicated Server
After=network.target
[Service]
Type=simple
User=srcds
WorkingDirectory=/home/srcds/css
ExecStart=/home/srcds/css/start.sh
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now css
sudo systemctl status css看日志:journalctl -u css -f
四、玩家怎么进服
connect 你的公网IP:27015或在 Steam 服务器浏览器收藏夹里添加 IP:27015。上了 GSLT 且 sv_lan 0,几分钟后能在社区列表搜到服名。
五、常见问题排查
Q:error while loading shared libraries: libstdc++.so.6
32 位库没装全,回到第 2 步:
sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1Q:搜不到服?
① GSLT 填了吗;② sv_lan 0;③ 27015 UDP 真放行了吗;④ 等 5-10 分钟同步。
Q:RCON 连不上?
27015 TCP 没放行,或启动参数缺 -ip 0.0.0.0。
Q:崩了无限重启刷屏?
调试时加 -norestart,或者 journalctl -u css -n 100 看具体报错。
Q:怎么更新服务端?
sudo systemctl stop css
cd ~/steamcmd && ./steamcmd.sh +login anonymous +force_install_dir /home/srcds/css +app_update 232330 validate +quit
sudo systemctl start cssvalidate会覆盖cstrike/下你改过的文件,重要配置先备份。
Q:想开 SourceTV?
去掉 -nohltv,server.cfg 里加 tv_enable 1,并放行 UDP 27020。
六、写在最后
CS:S 是 Linux 开服的绝佳入门款:原生支持、资源占用低、SourceMod 生态完整。一套 2核4G 的机器能同时跑两个满人服还有余量。
📌 觉得有用请收藏,卡在哪一步评论区留言,看到会回。
还没机器?看看我们家的游戏云服务器——Linux 镜像开箱即用,BGP 多线低延迟,2核4G 起步,NAT 型价格比独立 IP 省一半:https://z0w.cn
相关阅读
延伸阅读
- 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
- 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
- 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
- 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
- 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
- RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
- 短链接服务搭建:Shlink 自托管,链接数据自己掌握
- 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道

[...]这是本站长期维护的游戏配置与教程总索引。想开服,先在这页搞清楚两件事:你的游戏要吃多少配置、你的系统该看哪篇教程。建议收藏——换游戏、加 MOD、人数变多时,回来核对一遍能省掉大部分"卡爆了"和"连不上"。搭配阅读:还没买服务器?先看购前决策索引(预算分级 / NAT vs 独立 IP / 避坑清单);端口映射看不懂?先看端口速查表(40+ 游戏端口协议一页查清)。一、全游戏配置需求速查表下表按"[...]
2026-10-18 回复