本文只讲 Windows 系统的完整步骤。用 Linux 请看:《CS:起源开服教程(Linux版)》
Windows 环境还没准备好(远程桌面、运行库、SteamCMD、防火墙、开机自启)?先看:《Windows 云服务器开服通用前置教程》
CS:起源(Counter-Strike: Source,简称 CS:S)是 Source 1 引擎的经典之作,十八年过去依然有活跃的社区服。它的服务端免费、独立、不需要拥有游戏,SteamCMD 匿名就能下载,Windows / Linux 都原生支持。
这篇带你从零开一个能进、能搜到、能长期挂的 CS:S 社区服。
一、开服前必读:先搞清这 4 件事
① 专用服 AppID 是 232330,不是 240
240 是游戏本体的 ID(申请 GSLT 时用),SteamCMD 下载服务端要用 232330。写错会拉到空目录。
② CS:S 锁死 66 tick
CS:S 是老 Source 1 引擎,-tickrate 参数在新版本上是无效的,不要照抄十年前的老教程承诺"100 tick"。计划按 66 tick 来。
③ 想出现在服务器列表必须申请 GSLT
不上令牌,玩家只能靠 connect IP:端口 直连,搜不到你的服。申请地址见第 6 步。
④ 内存和 CPU 要求都不高
一个 32 人服大约吃 1-1.5G 内存,单核主频比核心数重要(Source 1 服务端基本单线程)。2核4G 的机器能开一个满人服,还能再挂一个。
二、端口规划(NAT 型必看)
| 端口 | 协议 | 用途 | 是否必开 |
|---|---|---|---|
| 27015 | UDP | 游戏流量 + A2S 查询 | ✅ 必开 |
| 27015 | TCP | Source RCON | ✅ 强烈建议 |
| 27020 | UDP | SourceTV(开了 tv_enable 1 才需要) | ⭕ 可选 |
| 27005 | UDP | 客户端出站端口(老教程里的,一般不用管) | ⭕ 一般不用 |
NAT 型服务器:在控制台把 27015 UDP + 27015 TCP 各映射一条。玩家连的是 映射后的公网IP:映射后的公网端口。映射方法见 《NAT 端口映射完全指南》。
⚠️ 最常见错误:只映射了 UDP 忘了 TCP,结果游戏能进但 RCON 连不上,管理不了服。
三、Windows 系统完整步骤
第 1 步:准备服务器
| 人数 | CPU | 内存 | 磁盘 | 系统 |
|---|---|---|---|---|
| ≤ 12 人 | 2 核 | 2G | 10G | Windows Server 2019/2022 |
| 16-24 人 | 2 核(高主频) | 4G | 15G | 同上 |
| 32 人 | 2-4 核 | 4-6G | 20G | 同上 |
CS:S 服务端本体只有约 1.5G,加自定义地图和插件留 20G 足够。
第 2 步:安装运行库
Source 1 服务端在 Windows 上依赖很少,但建议把常用的装上(一键装齐最省心):
- Visual C++ 2010-2022 Redistributable(x86 和 x64 都装)
- DirectX 9.0c End-User Runtime(老 Source 游戏需要)
第 3 步:SteamCMD 下载服务端
:: 管理员身份打开 CMD
cd C:\steamcmd
steamcmd.exe +login anonymous ^
+force_install_dir C:\game\css ^
+app_update 232330 validate ^
+quit下载完成后目录结构大致是:
C:\game\css\
├── srcds.exe ← Windows 启动程序
├── srcds_run (Linux 用的)
├── cstrike\ ← 游戏内容目录
│ ├── cfg\ ← server.cfg 在这
│ ├── maps\
│ └── addons\
└── bin\⚠️ 目录必须是英文、无空格。C:\游戏服\CSS 这种路径会导致各种莫名其妙的失败。第 4 步:防火墙放行端口
# 管理员 PowerShell
netsh advfirewall firewall add rule name="CSS Game UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="CSS RCON TCP" dir=in action=allow protocol=TCP localport=27015
# 如果开了 SourceTV
netsh advfirewall firewall add rule name="CSS SourceTV" dir=in action=allow protocol=UDP localport=27020别忘了云服务器的安全组也要放行(控制台里操作),这是两个独立的开关。
第 5 步:写 server.cfg
新建 C:\game\css\cstrike\cfg\server.cfg:
// ===== 基础 =====
hostname "我的 CS:S 服务器"
rcon_password "改成强密码"
sv_password "" // 留空=公开服;填了=要密码才能进
// ===== 网络 =====
sv_lan 0 // 0=互联网服(必须!1 的话外网搜不到)
sv_region 255 // 255=全球,4=亚洲
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
mp_chattime 10
// 日志(排查用)
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1sv_lan 0 是最容易漏的一项:默认是 0,但有些第三方配置包会写成 1,写了 1 你的服就是局域网服,外网完全搜不到。第 6 步:申请 GSLT(游戏服务器登录令牌)
- 打开
https://steamcommunity.com/dev/managegameservers - AppID 填 240(CS:S 游戏本体 ID)
- 备注随便填,生成后复制那串令牌
- 填到启动参数
+sv_setsteamaccount后面
GSLT 绑定你的 Steam 账号,不要外传。账号被封令牌会连带失效。
第 7 步:写启动脚本
新建 C:\game\css\start_server.bat:
@echo off
cd /d C:\game\css
srcds.exe -console -game cstrike -secure ^
-ip 0.0.0.0 -port 27015 ^
+maxplayers 24 ^
+map de_dust2 ^
+exec server.cfg ^
+sv_setsteamaccount 你的GSLT令牌 ^
-nohltv
exit参数说明:
-game cstrike:CS:S 的内容目录名是cstrike-ip 0.0.0.0:绑定所有网卡(不加有时 RCON 连不上)+maxplayers:人数上限,启动时设置,运行中改不了+map:必须有,没地图的服务器不会出现在列表里也不接受连接-nohltv:关掉 SourceTV 省资源(要开就删掉这行并放行 27020)
第 8 步:用 NSSM 注册成服务(长期挂服)
直接双击 bat 跑,远程桌面一断开服就掉了。必须做成服务:
nssm install CSSServer "C:\game\css\start_server.bat"
nssm set CSSServer AppDirectory "C:\game\css"
nssm set CSSServer Description "Counter-Strike Source Dedicated Server"
nssm set CSSServer Start SERVICE_AUTO_START
nssm start CSSServer查看状态:nssm status CSSServer;看日志:在 NSSM 里配置 AppStdout 到文件。
详细 NSSM 用法见 《Windows 云服务器开服通用前置教程》。
四、玩家怎么进服
方式一:控制台直连(最可靠)
connect 你的公网IP:27015游戏里按 ~ 打开控制台输入。
方式二:服务器浏览器
Steam → 视图 → 游戏服务器 → 收藏夹 → 添加服务器 → 输入 IP:27015。
方式三:搜索服名
上了 GSLT 且 sv_lan 0,等几分钟就能在社区服务器列表里搜到你的 hostname。
五、常见问题排查
Q:能连上但服务器列表搜不到?
按顺序查:① GSLT 填了吗;② sv_lan 是不是 0;③ 27015 UDP 有没有真放行(用 端口速查表 里的在线检测工具);④ Steam 列表同步有延迟,等 5-10 分钟再搜。
Q:RCON 连不上?
- 27015 TCP 没放行(只开了 UDP 是最常见原因)
- 启动参数少了
-ip 0.0.0.0 rcon_password没设或设了但启动脚本里+rcon_password覆盖了
Q:玩家进去就掉 / 卡在载入?
sv_allowdownload 1没开(自定义地图要下载)- 或者地图文件不全,用
validate重拉一次服务端
Q:tickrate 设置没生效?
正常。CS:S 锁死 66 tick,-tickrate 在现行版本无效,不用折腾。
Q:想装 SourceMod / Metamod 插件?
CS:S 对老插件栈兼容性很好(这点比 CS2 强)。装 Metamod:Source 1.9+ 再装 SourceMod,放到 cstrike/addons/ 下即可。注意版本要匹配 Source 1。
Q:SteamCMD 下载报错?
看 《SteamCMD 报错代码速查表》,90% 的错误码在里面。
六、写在最后
CS:S 是开服性价比很高的一款:服务端免费、不吃配置、社区插件生态成熟(SourceMod 那套在 CS2 上全废了,在 CS:S 上还能用)。如果你想开一个"长期挂着、朋友随时能进"的经典社区服,它比 CS2 省心得多。
📌 觉得有用请收藏,开服卡在哪一步评论区留言,看到会回。
如果你还没机器,可以看看我们家的游戏云服务器——Windows / Linux 双镜像,BGP 多线低延迟,2核4G 就能跑满人 CS:S 服,价格比同类独立 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 回复