-
Notifications
You must be signed in to change notification settings - Fork 1
AboutDynamite
因为需要修改服务器后端的地址,我们需要安装特别修改过的客户端。你可以在群文件或者 Discord 频道里获得 空白服 修改后的安装包,或者你也可以自己动手修改。
这是无法连接到服务器导致的。如果你可以尝试使用浏览器直接连接服务器后端,如果有返回错误代码(如:404,502)或者能够直接看到页面,说明服务器没问题,请再次检查安装的客户端是否正确,确认无误,请将问题报告给服主;如果无法访问页面,请尝试使用 VPN 等方式连接,并且向服主确认服务器运行状态。
说明服务器没有开启自动注册功能,你需要联系服主注册账号。
这个是后端程序的问题,请将这个问题截图报告给服主,由服主带上日志向项目提交 Issue。
这部分内容仅提供给相关开发和维护人员,普通的玩家可以结束辣。
如果遇到下面没有提及的问题,可以联系枫糖,在有空的时候可以尝试帮你解决一下。
如果你有自己开服的需求,可以通过以下方式将后端地址改到自己的服务器上。
因为游戏使用了 il2cpp 打包,所以代码内容会被编译到 c++ 上,但是同时也会产生一个叫 global-metadata.dat 的文件,记录一些类名,属性名,字符串等。这给我们带来了一条骚路,我们可以通过修改这个文件里的后端地址来达到目的。来源:Unity il2cpp global-metadata.dat 加密方案,以及最早群里的 Errno 等大佬。
通过 MetaDataStringEditor,我们可以很轻松的将相关字段修改成我们想要的。所以下面是需要修改的数据的表格。
| 字段原数据 | 字段修改后数据 | 解释 |
|---|---|---|
https://api.tunergames.com:10443/graphql |
http://example.com/graphql |
这是后端 API 请求地址,炸药使用 GraphQL 作为后端引擎,所以只需要修改一处地址即可。一般来说是以 graphql 结尾。 |
https://dynamite.tuenrgames.com |
http://example.com |
这是资源站的地址,资源请求地址格式参照这里。 |
将修改完成的 global-metadata.dat 放回安装包里,并且需要重新签名。
IPA 在使用 Sideloadly 等软件安装时会帮你签名,所以可以暂时跳过。
安卓开发文档 为应用签名。
| 请求内容 | 请求地址 |
|---|---|
| 音乐 | /download/music/encoded/{setId} |
| 封面 | /download/cover/encoded/{setId} |
| 预览 | /download/preview/encoded/{setId} |
| 铺面 | /download/chart/encoded/{chartId} |
| 用户头像 | /download/avatar/256x256_jpg/{userId} |
| 谱面商店预览图 | /download/cover/480x270_jpg/{setId} |
小提示:因为游戏使用的是 UnityWebRequest,默认是支持重定向的,所以可以使用这个特性来达到一些特别的效果。
众所周知 TunerGames 给资源添加了加密机制,避免盗用(?),导致我们无法导入新谱。
但是阴差阳错下,我们发现将 global-metadata.dat 中文件名里的 .rnx 后缀去掉后即可避免游戏以加密的格式读取文件,同时也会带来一些奇怪的问题。
经过几次试错我们发现,如果将谱面文件 xxxxxxxx.xml.rnx 的 .rnx 去掉后会导致上传数据时丢失谱面ID的后四位,所以这里要特别注意。
最后测试得到的加密相关字段如下:
| 字段原数据 | 字段修改后数据 | 备注 |
|---|---|---|
a.mp3.rnx |
a.mp3 |
只需要去掉 rnx 后缀 |
b.mp3.rnx |
b.mp3 |
只需要去掉 rnx 后缀 |
c.jpg.rnx |
c.jpg |
只需要去掉 rnx 后缀 |
.xml.rnx |
0000.xml |
因为读取谱面ID时会丢失后四位,所以额外补上4个字符 |
Made with ❤️ by Dyfused Committee