12 10 月 2026
本文只讲 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 型必看)

端口协议用途是否必开
27015UDP游戏流量 + A2S 查询✅ 必开
27015TCPSource RCON✅ 强烈建议
27020UDPSourceTV(开了 tv_enable 1 才需要)⭕ 可选
27005UDP客户端出站端口(老教程里的,一般不用管)⭕ 一般不用

NAT 型服务器:在控制台把 27015 UDP + 27015 TCP 各映射一条。玩家连的是 映射后的公网IP:映射后的公网端口。映射方法见 《NAT 端口映射完全指南》。

⚠️ 最常见错误:只映射了 UDP 忘了 TCP,结果游戏能进但 RCON 连不上,管理不了服。

三、Windows 系统完整步骤

第 1 步:准备服务器

人数CPU内存磁盘系统
≤ 12 人2 核2G10GWindows Server 2019/2022
16-24 人2 核(高主频)4G15G同上
32 人2-4 核4-6G20G同上

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 1
sv_lan 0 是最容易漏的一项:默认是 0,但有些第三方配置包会写成 1,写了 1 你的服就是局域网服,外网完全搜不到。

第 6 步:申请 GSLT(游戏服务器登录令牌)

  1. 打开 https://steamcommunity.com/dev/managegameservers
  2. AppID 填 240(CS:S 游戏本体 ID)
  3. 备注随便填,生成后复制那串令牌
  4. 填到启动参数 +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

相关阅读

延伸阅读
  1. 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
  2. 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
  3. 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
  4. 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
  5. 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
  6. RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
  7. 短链接服务搭建:Shlink 自托管,链接数据自己掌握
  8. 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道
更多阅读
  1. 上一篇:游戏服务器搬家与存档迁移指南:换机器不丢档,30分钟搞定
  2. 下一篇:CS:起源开服保姆级教程(Linux版):srcds原生服务端
发表评论 1

取消回复

    1. Steam 游戏配置与开服教程总索引:一页查清要吃多少配置、教程在哪 - 			财富云计算 - 维基百科的头像

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