《R.E.P.O》
省流:
使用MOD重定向光子服务器到自定义服务器,在本地跑光子服务器,使用Easytier组网。(自部署服务器教程看文尾)
MOD下载地址:夸克网盘分享
提取码:19iE
MOD开源地址:Hi-Haven/RepoLocalServer - RepoLocalServer - Open-source Game Hub客户端版本:v0.4.4.3
Steam上一款多人联机游戏,详见: 在 Steam 上购买 R.E.P.O. 立省 35%
是恐怖游戏,十光和别人玩的时候一直无法正常联机,报错自定义认证失败,导致他买了退,退了买,没修Bug又退。。。
怎么办,逆向呗。
首先在十光最后一次退款后就没买游戏了,我这里用的是从俄罗斯大佬网站上面下载的假入库版本,不要模仿,这里也不提供下载地址,请支持正版。
首先就是有正版锁,我这里试过了,用uwu启动在Linux REPO是无法进大厅的,连房间都创建不了。
其次懒得安装环境,直接用十光电脑了。
认证的问题找认证,直接找游戏用到认证的类型名、方法名、字段名集。
| 名字 | 身份 | 所在程序集 | 干什么用 |
|---|---|---|---|
steamAuthTicket |
字段 | Assembly-CSharp | SteamManager 里存当前票据对象的私有字段 |
GetSteamAuthTicket |
方法 | Assembly-CSharp | 取票和逐字节转 hex |
SendSteamAuthTicket |
方法 | Assembly-CSharp | 票据传递给 AuthValues 然后发给 Photon |
CancelSteamAuthTicket |
方法 | Assembly-CSharp | 用完作废票据 |
AuthenticationValues |
类型(类) | PhotonRealtime.dll | 认证信息的容器类 |
CustomAuthenticationType |
类型(枚举) | PhotonRealtime.dll | 认证类型枚举 |
get_AuthValues / set_AuthValues |
方法(属性访问器) | PhotonRealtime.dll | AuthValues 属性的 getter/setter |
set_AuthType |
方法(属性 setter) | PhotonRealtime.dll | AuthType 属性的 setter |
AddAuthParameter |
方法 | PhotonRealtime.dll | 在认证信息里添加键值对:AddAuthParameter("ticket", hex) |
GetAuthSessionTicket |
方法 | Facepunch.Steamworks.Win64.dll | Steam SDK 的原始取票方法 |
然后我让GLM写了一个Python脚本去获取类的全部字段和方法(文件见网盘)
反编译SendSteamAuthTicket,GetSteamAuthTicket
然后AI写py的时候告诉我,游戏Debug Mode是有自定义服务器的,但是不显示
找到调用认证的地方再检查一下,然后交给AI写MOD了
MOD开源地址见省流。
部署本地服务器
Windows版部署见仓库README:
十光用的Linux,我来讲讲Linux:
光子服务器没有Linux版,所以要用Docker部署(因为十光正好有Docker,就不在宿主机安装虚拟机了)
下载sdk: Photon SDK Downloads — Unity, Unreal, .NET, C++, JavaScript | Photon Engine
但是蛋疼的来了:
我对光子失望极了
好像目前没办法自部署,害,等GLM实现了我会开源给你们的。












