饥荒
docker-compose.yml
version: '3.8'
services:
dst:
restart: always
container_name: dst
image: hujinbo23/dst-admin-go:1.5.0
ports:
- 8084:8082 # 管理后台(TCP)
- 10999:10999/udp # 游戏主端口(UDP)
- 10998:10998/udp # 游戏辅助端口(UDP)
volumes:
- ./dstsave:/root/.klei/DoNotStarveTogether # 存档配置
- ./dstsave/backup:/app/backup # 自动备份
- ./steamcmd:/app/steamcmd # SteamCMD
- ./dst-dedicated-server:/app/dst-dedicated-server # 游戏本体
environment:
- TZ=Asia/Shanghai # 时区记得启动后放行端口
然后在面板上把SteamCMD路径与dst-dedicated-server路径配好
/app/steamcmd
/app/dst-dedicated-server查看服务器cpu主频
查看标称主频(官方参数)
lscpu | grep "Model name"
lscpu | egrep "Model name|CPU max MHz|CPU min MHz"若输出如下,无频率信息
root@114514:~# lscpu | grep "Model name"
Model name: AMD EPYC 7702 64-Core Processor则用
sudo dmidecode -t processor | grep "Speed"没装dmidecode就安装一下
sudo apt install dmidecode -y实时频率(单位是MHz与GHz之间是1000转换关系)
cat /proc/cpuinfo | grep "cpu MHz"安装时查看最后10条日志
docker logs --tail 10 dstdocker desktop容器内 SteamCMD 安装失败原因
这是 SteamCMD 在容器内更新自身 / 验证 DST Dedicated Server 时无法正确执行,陷入无限循环,常见于:
容器内 SteamCMD 缺失依赖 / 无法执行 DST Dedicated Server 二进制文件,导致验证失败后无限重试。
使用 NTFS (C:/) 挂载路径时,容器内解压的二进制文件无执行权限,SteamCMD 校验报 silent error,陷入循环。
steamcmd.sh 尝试
launchDST Dedicated Server,但因执行权限不足或路径错误反复 fallback 重试。
为什么是挂载方式导致的
你当前使用:
volumes:
- C:/mydata/dst-admin-go/steamcmd:/app/steamcmd
- C:/mydata/dst-admin-go/dst-dedicated-server:/app/dst-dedicated-server本质:
在 Docker Desktop + WSL2 后端下,通过 9p/Plan9 挂载 Windows NTFS 路径。
NTFS 不支持 Linux 执行权限 (x),SteamCMD 拉取 DST Dedicated Server 后无法执行验证/运行 DST 二进制。
导致 SteamCMD 校验时不断失败重试,形成死循环。
docker desktop上尝试的
version: '3.8'
services:
dst:
restart: always
container_name: dst
image: hujinbo23/dst-admin-go:1.5.0
ports:
- 8084:8082 # 管理后台(TCP)
- 10999:10999/udp # 游戏主端口(UDP)
- 10998:10998/udp # 游戏辅助端口(UDP)
volumes:
- C:/mydata/dst-admin-go/dstsave:/root/.klei/DoNotStarveTogether # 存档配置
- C:/mydata/dst-admin-go/dstsave/backup:/app/backup # 自动备份
- C:/mydata/dst-admin-go/steamcmd:/app/steamcmd # SteamCMD
- C:/mydata/dst-admin-go/dst-dedicated-server:/app/dst-dedicated-server # 游戏本体
environment:
- TZ=Asia/Shanghai # 时区
deploy:
resources:
limits:
cpus: "2.0"
memory: 4G不启动docker desktop
直接wsl,可进入正常的linux
从windos目录复制文件,这里比别的教程中多了host这个中间目录(别的都是/mnt/c/...)
这里把yml复制过去好像没啥用,这里的wsl中没docker,也没其他常用工具,还是在开启docker desktop后再Windows下启动docker,这里只是生成挂载文件目录
mkdir -p ~/data/docker_data/dst/dstsave
mkdir -p ~/data/docker_data/dst/backup
mkdir -p ~/data/docker_data/dst/steamcmd
mkdir -p ~/data/docker_data/dst/dst-dedicated-server
参数:-p 确保目录名称存在,如果目录不存在的就新创建一个。~/../mnt/host/c/mydata/dst/docker-compose.yml ~/data/docker_data/dst/docker-compose.yml给予递归目录所有用户所有权限
chmod -R 777 ~/data
查看权限
ls -l