用 SteamEmulator 在无 Steam 客户端的环境下跑局域网联机:替换一个动态库让队友互相发现

📅 2026/8/24 15:53:15
用 SteamEmulator 在无 Steam 客户端的环境下跑局域网联机:替换一个动态库让队友互相发现
用 SteamEmulator 在无 Steam 客户端的环境下跑局域网联机替换一个动态库让队友互相发现【免费下载链接】SteamEmulatorMIRROR REPO - Credits : Mr. Goldberg. Steam emulator that emulates Steam online features. Lets you play games that use the Steam multiplayer APIs on a LAN without steam or an internet connection.项目地址: https://gitcode.com/gh_mirrors/st/SteamEmulatorSteamEmulator 是一个 Steam API 模拟器emulator指用软件模拟另一套系统的行为。它顶替游戏目录里的steam_api.dllLinux 下为libsteam_api.so把游戏对 Steam 发起的在线调用——用户身份、DLC 检查、成就、房间匹配——全部在本地应答。游戏因此不再需要登录 Steam 账号多人联机可以完全靠局域网广播完成。它适合想在无法访问外网的办公网络、宿舍环境里组队的玩家也适合想把多人游戏与 Steam 的强依赖解耦的开发者。项目同时覆盖 Windows 与 Linux提供 32 位和 64 位构建采用 LGPLv3 许可直接使用无需公开自己的源代码。作者的设计取向是不做 ini 配置文件全局设置以一组小文本文件的形式存放配好后整个游戏目录拷给朋友就能直接跑不用再改任何东西。这个模拟器替你做了哪些事能力说明Steamworks 接口模拟用户、应用、成就、远程存储、匹配等接口调用由模拟器本地应答游戏无需感知 Steam 不在局域网房间发现同一局域网内的玩家通过 UDP 广播互相发现并组队不依赖任何外部服务器网络套接字库额外提供steamnetworkingsockets动态库覆盖改用 Steam Networking Sockets 进行玩家间通信的多人游戏老游戏兼容对使用旧版 Steam API 的游戏可用scripts/目录下的find_interfaces.sh脚本生成所需的接口版本清单从源码到可用的动态库获取源码只需两步Windows 用户需要先在本地装好 Visual Studio 的 C 构建工具和 protobuf 依赖git clone https://gitcode.com/gh_mirrors/st/SteamEmulator cd SteamEmulator构建方式取决于平台。Linux 下用发行版的包管理器安装 protobuf-lite 开发包和protoc编译器然后在仓库根目录执行make追加-j8可多核并行Windows 下装好依赖后运行build_win_release.bat即可CMake 方式的配置也在 CMakeLists.txt 中完整支持。构建完成后会得到libsteam_api.so或steam_api.dll把它拷进游戏根目录并替换原有的 Steam 动态库。接着确认游戏目录里有steam_appid.txt内容为该游戏的 AppID原来有就不用管没有就新建一个写入 AppID模拟器会优先从steam_settings文件夹、再按运行目录、动态库旁三个位置依次查找它。三个最核心的配置项全局设置存放在用户数据目录的Goldberg SteamEmu Saves/settings下写一次对这台机器的所有游戏生效。想给某个游戏单独覆盖时在模拟器动态库旁建steam_settings文件夹放入同名文件即可仓库的 files_example/steam_settings.EXAMPLE 提供了全套样例。日常只需要关心下面三项account_name.txt→ 模拟器对外显示的玩家名改这里所有游戏都生效listen_port.txt→ 局域网发现使用的 UDP/TCP 端口所有机器必须一致否则互相发现不了offline.txt→ 放进游戏的steam_settings文件夹让模拟器对外表现成 Steam 离线模式用于个别只在离线态下行为正常的游戏哪些场景适合用它 无外网的局域网聚会宿舍、家庭网络或访问外网受限的办公网只要大家在同一 IP 网段且端口一致游戏里就能直接互相发现️ 游戏去 Steam 化发布开发者不想让多人游戏依赖 Steam 客户端、又不想重写网络层时直接换成模拟动态库即可上线 联机逻辑的本地验证在没有真实 Steam 环境的机器上完整跑通匹配、房间和玩家间通信的调试流程连不上时按这个顺序排查现象排查方向互相发现不了玩家确认所有人处于同一 IP 网段检查防火墙是否放行了监听端口时好时坏、偶尔发现失败核对每台机器的listen_port.txt是否完全相同老游戏直接无法启动原动态库签名时间早于 2016 年 5 月的用scripts/里的脚本生成steam_interfaces.txt放到模拟器旁联机中突然断线检查同一台机器是否同时启动了两个相同 AppID 的游戏同一时刻只应跑一个专用服务器除外这个项目的上手成本不高替换动态库、写好 AppID剩下的都交给默认行为。挑一个你手头的多人游戏按上面的顺序把替换流程走一遍局域网联机就能跑起来。工具本身面向测试与教育用途不会破解任何 DRM请确保你对所玩的游戏拥有合法使用权。【免费下载链接】SteamEmulatorMIRROR REPO - Credits : Mr. Goldberg. Steam emulator that emulates Steam online features. Lets you play games that use the Steam multiplayer APIs on a LAN without steam or an internet connection.项目地址: https://gitcode.com/gh_mirrors/st/SteamEmulator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考