本文只讲 Linux 系统的完整步骤。用 Windows 请看:《胜利之日:起源开服教程(Windows版)》
Linux 环境还没准备好?先看:《Linux 云服务器开服通用前置教程》
DoD:S 是 Source 1 引擎的二战团队对抗,服务端 Linux 原生、占用极低。最大坑:匿名登录可能拉到空壳目录,需要用拥有游戏的 Steam 账号下载,这篇会讲清楚怎么判断和处理。
一、开服前必读
① 匿名登录可能只拉回空壳(本游戏第一大坑)
DoD:S 专用服(232290)在 Steam 上标了 VisibleOnlyWhenSubscribed,匿名下载经常只得到几十 MB 空目录(没有 dod/)。
解决:用拥有 DoD:S 的账号登录 SteamCMD 重新拉。判断标准:下载完看 dod/ 目录有没有 maps/、cfg/。
② 游戏目录名 dod,配置在 dod/cfg/server.cfg。
③ GSLT 申请 AppID 填 300。
④ 地图名必须 dod_ 前缀(dod_anzio 等),老教程里的 de_dust 是 CS 图。
二、端口规划(NAT 型必看)
| 端口 | 协议 | 用途 | 必开 |
|---|---|---|---|
| 27015 | UDP | 游戏 + 查询 | ✅ |
| 27015 | TCP | RCON | ✅ 建议 |
| 27020 | UDP | SourceTV | ⭕ |
NAT 型映射 27015 UDP + TCP,详见 《NAT 端口映射完全指南》。
三、Linux 系统完整步骤
第 1 步:依赖
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 curl推荐:2 核 / 2G(16人)或 4G(32人)/ 10G 磁盘 / Ubuntu 20.04+。
第 2 步:建用户
sudo useradd -m -s /bin/bash srcds
sudo su - srcds第 3 步:SteamCMD 下载(注意账号)
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# 方式 A:拥有 DoD:S 的账号(推荐)
./steamcmd.sh +login 你的Steam账号 密码 \
+force_install_dir /home/srcds/dods \
+app_update 232290 validate \
+quit
# 方式 B:先试匿名
./steamcmd.sh +login anonymous \
+force_install_dir /home/srcds/dods \
+app_update 232290 validate \
+quit立刻检查:
ls -la /home/srcds/dods/dod/
# 应该有 maps/ cfg/ 等;如果没有 → 空壳,换方式 A第 4 步:防火墙
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw reload安全组也要放行。
第 5 步:GSLT 与配置
GSLT 申请 AppID 填 300。
/home/srcds/dods/dod/cfg/server.cfg:
hostname "我的 DoD:S 服务器"
rcon_password "改成强密码"
sv_password ""
sv_lan 0
sv_region 255
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
mp_timelimit 30
mp_winlimit 0
mp_roundlimit 0
mp_friendlyfire 0
mp_respawndelay 5
mp_freezecam 0
mp_autoteambalance 1
mp_limitteams 2
mp_allowspectators 1
sv_voiceenable 1
sv_alltalk 0
sv_cheats 0
sv_allowupload 1
sv_allowdownload 1
log on
sv_logfile 1第 6 步:启动脚本
/home/srcds/dods/start.sh:
#!/bin/bash
cd /home/srcds/dods
./srcds_run -game dod -console -secure \
-ip 0.0.0.0 -port 27015 \
+maxplayers 32 \
+map dod_anzio \
+exec server.cfg \
+sv_setsteamaccount 你的GSLT令牌 \
-nohltvchmod +x /home/srcds/dods/start.sh
cd /home/srcds/dods && ./start.sh # 手动验证一次第 7 步:systemd 常驻
sudo tee /etc/systemd/system/dods.service > /dev/null << 'EOF'
[Unit]
Description=Day of Defeat Source Dedicated Server
After=network.target
[Service]
Type=simple
User=srcds
WorkingDirectory=/home/srcds/dods
ExecStart=/home/srcds/dods/start.sh
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now dods
journalctl -u dods -f四、玩家怎么进服
connect 你的公网IP:27015
官方地图:dod_anzio、dod_argentan、dod_avalanche、dod_colmar、dod_donner、dod_flash、dod_jagd、dod_kalt、dod_palermo。
五、常见问题排查
Q:SteamCMD 报 Success 但目录是空的?
空壳问题,换拥有游戏的账号重下(第 3 步方式 A)。
Q:地图不存在?
用 dod_ 前缀,确认 dod/maps/ 里有对应 .bsp。
Q:error while loading shared libraries?
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:登录 SteamCMD 要验证码?
开了 Steam 手机令牌的账号命令行登录会要验证码。先在本地 Steam 客户端登录一次,再回来重试。详见 《SteamCMD 报错代码速查表》 里 0x6 的处理。
六、写在最后
DoD:S 除了"下载要带账号"这一点,其余和所有 Source 1 游戏完全一致。服务端小、占用低,2核2G 开 32 人服没问题。
📌 觉得有用请收藏,卡住了评论区留言。
还没机器?看看我们家的游戏云服务器——Linux 镜像开箱即用,BGP 多线低延迟,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 回复