
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 模拟器简单说就是一个替身程序模仿 Steam 客户端的行为。它的核心用途是让依赖 Steam 联机接口的游戏在局域网LAN即你家里或办公室那套本地网络里多人游玩不需要安装 Steam也不需要互联网。如果你是游戏开发者想本地验证多人逻辑或者想和身边的朋友在离线环境里打一局联机这篇教程会带你把整套流程走通。它是怎么工作的一句话版原理游戏里所有问 Steam 要信息的动作——我是谁、什么语言、有没有其他玩家——其实都是去调用一个叫 steam_api 的动态库Windows 上是 steam_api.dllLinux 上是 libsteam_api.so。SteamEmulator 做的事情就是把这个库换成自己的一份模拟实现游戏查询本地数据账户名、语言、成就、DLC 状态模拟器在本地直接应答游戏要寻找其他玩家时模拟器在局域网内广播并互相发现全部流量留在本地网络里。因为接口行为是在库里被模拟的游戏本身一行代码都不用改。快速上手三步跑起来第一步克隆源码并构建git clone https://gitcode.com/gh_mirrors/st/SteamEmulator cd SteamEmulator makeLinux 下make构建 release 版本需要先装好 protobuf-lite 和 protoc可用包管理器安装加-j8可以加快编译速度Windows 下则运行仓库里的build_win_release.bat构建依赖是 Visual Studio Build Tools 加上 vcpkg 安装的 protobuf。构建产物就是你可以放进游戏目录的 steam_api 库文件。第二步把模拟器放进游戏目录拿到构建产物后对每一款想玩的游戏做两件事用它替换游戏目录里原有的 steam_api.dllLinux 上是 libsteam_api.so。注意位数要匹配游戏原库是 32 位就用 32 位构建64 位就用 64 位在旁边放一个steam_appid.txt文件里面只写该游戏的 AppID数字。如果游戏自带了这个文件就不用再放。第三步在同一局域网启动游戏所有玩家连入同一个局域网比如同一个路由器下分别启动游戏即可模拟器会在局域网内自动发现彼此。如果游戏带大厅lobby功能直接在大厅里邀请或加入。有一个例外情况如果游戏的原装 steam_api 库是 2016 年 5 月之前的老版本Windows 上可右键查看库文件的数字签名时间戳可能需要额外提供一份steam_interfaces.txt接口版本文件。仓库的scripts/目录里带了生成脚本构建产物里也有对应工具照着跑一遍即可。进阶配置用 steam_settings 文件夹定制行为在模拟器库文件的同级目录建一个steam_settings文件夹往里放不同的纯文本或 JSON 文件就能改变模拟器对游戏的应答。常用项包括force_account_name.txt自定义玩家显示名force_listen_port.txt固定监听端口多人联机时所有人端口一致才能互相发现一般不用动;offline.txt让模拟器表现得像 Steam 处于离线模式部分游戏需要这个才能正常联网DLC.txt默认模拟器会解锁全部 DLC放了这个文件后就只解锁文件里列出的achievements.json/items.json自定义成就、排行榜道具等内容仓库的files_example/steam_settings.EXAMPLE/目录里有一套完整示例可以参考disable_overlay.txt关闭实验版构建中的覆盖层功能个别游戏依赖覆盖层来邀请玩家按需保留。全局设置账户名、SteamID、端口、语言平时会存在用户目录下的 Goldberg SteamEmu Saves 文件夹里跨游戏共享想给某一款游戏单独改 SteamID 或存档位置按Readme_release.txt里的说明在该游戏专属目录下再放一份覆盖即可。需要 lobby_connect 工具的场景有些游戏比如 Stonehearth加入别人对局时必须在启动参数里带上大厅 ID 才能连上。仓库里构建出的 lobby_connect 工具就是干这件事的运行它它会列出网络上正在用模拟器玩游戏的人你选择后它会带着正确的连接参数自动启动游戏。需要构建 lobby_connect 工具的话可以参考Readme_lobby_connect.txt和 CMake 构建说明。避坑提示几个常见的为什么连不上按出现频率排一下不在同一局域网。这是硬性前提跨网段、跨 Wi-Fi 隔离的访客网络都不行端口不一致。有人改过listen_port而其他人没改互相就发现不了。建议所有人保持默认同一台机器同时跑了两份相同 AppID 的游戏会造成网络冲突。开专用服务器不受此限游戏带 Steam 以外的 DRM。模拟器模拟的是 Steam 接口其他加密保护需要你先自行处理模拟器不会也不应该替你破解 DRM32/64 位库放错。Linux 用户尤其注意原库是什么位数就配什么位数的模拟器构建。适用边界它适合谁、不适合谁适合的情况开发者不装 Steam 客户端就验证多人功能家庭或办公室局域网内开黑给游戏出一个不依赖 Steam 的版本项目采用 LGPLv3 许可如果你修改了模拟器源码并分发需要公开的是这份模拟器的源码。不适合的情况依赖 Steam 云端存档、Steam 创意工坊在线内容、或者需要走 Steam 官方服务器匹配的游戏这些功能在纯局域网环境里没有对应物。上手的话建议先克隆仓库完成一次构建挑一款你手头的小游戏按上面三步替换库文件试跑跑通之后再对照files_example/steam_settings.EXAMPLE/目录逐项熟悉配置项——配置是按需加的空着跑默认行为就能玩。【免费下载链接】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),仅供参考