之前发过一篇 LinuxGSM自建游戏服务器(l4d2),提到了本来想搭建英雄萨姆3的多人游戏,但是因为 LinuxGSM 不支持而失败了(现在看来当时的错误也是找不到 steamclient.so,下文解决了这个问题,所以 LinuxGSM 也可以用),如今改用 SteamCMD

本文将展示如何用 SteamCMD 搭建英雄萨姆3多人游戏服务器,也适用于任意 Steam 游戏的独立服务器

环境

  • Debian 10

参考

步骤

新建 SteamCMD 用户

为了更安全的使用 SteamCMD,需要新建 steam 用户,以 root 用户运行 SteamCMD 会有安全风险

  1. 新建 steam 用户
    useradd -m -s /bin/bash steam
  2. 修改 steam 用户密码
    passwd steam
  3. 将 steam 用户加入 sudo 用户组
    adduser steam sudo

    如果是新安装的 Debian 10 环境,还需要手动安装 sudo 指令

    apt install sudo
  4. 切换到 steam 用户
    su - steam

后续步骤的指令都在 steam 用户下执行 Continue reading “SteamCMD 搭建游戏服务器”

19-11-06更新:放弃 OpenClash 了,因为总会出现这样那样的网络问题。

即使有添加DNS白名单的方法,但一个个添加域名实在耗费精力,而且不知道什么时候就抽风出 DNS 问题——同一个域名有时候可以正常解析,有时无法解析,导致使用体验很差。

有时还会出现网络断连问题,不知道原因。路由器掌管家庭所有设备的网络,还是选择比较成熟稳定的方案为好。

参考

问题描述

在使用 OpenClash 并切换到 Fake-IP 模式后,暴雪游戏《风暴英雄》在登录账号时会提示无法连接服务器,切换到 Redir-Host (兼容)模式后恢复正常。其他暴雪游戏(《守望先锋》)并没有出现无法连接服务器的情况。

排查

  • 首先用 Fiddler 抓了下包,发现风暴英雄在连接类似 xxx.xxx.battlenet.com.cn 的 URL 时出现503错误。
  • 然后查看了 Clash Dashboard 的连接记录,发现 xxx.xxx.battlenet.com.cn 都被正确的划分到了直连组中,排除规则错误的可能。
  • 尝试将模式切换为 Redir-Host,发现能够正常登录。
  • 之后查看了 OpenClash 官方 Wiki,发现 Fake-IP 模式和 Redir-Host 模式的差别在于 DNS 的请求方式,Fake-IP 为了加快响应速度,会预先返回一个保留地址,可能是无法正常登录的原因——风暴英雄拿到立即返回的保留地址后就直接进行连接,导致 xxx.xxx.battlenet.com.cn 的请求 503 错误,无法正常登录。

解决方法

OpenClash 也有现成的解决方案,在 【DNS 设置】中打开 【高级设置】,在 Fake-IP 域名黑名单中填入暴雪的登录用域名 battlenet.com.cn 即可