From 39d0803f4a3d8c98785b6febde59fc5f0a871293 Mon Sep 17 00:00:00 2001 From: Sean Du Date: Mon, 18 Nov 2024 19:18:59 +0800 Subject: [PATCH] Update documents Signed-off-by: Sean Du --- README.md | 10 +++------- doc/1.md | 4 +--- doc/3.md | 46 +++++++++++++++------------------------------- doc/4.md | 36 +++++++++--------------------------- doc/5.md | 25 ------------------------- doc/README.md | 6 ++++++ 6 files changed, 34 insertions(+), 93 deletions(-) delete mode 100644 doc/5.md create mode 100644 doc/README.md diff --git a/README.md b/README.md index 94190ff..dafa58c 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ # honoka-chan -LoveLive! 学园偶像祭、学园偶像季: 群星闪耀 自用私服。 +LoveLive! 学园偶像祭 自用私服。 -## 文档列表(更新中) +## 文档列表 -1. [其一:文件准备](doc/1.md) -2. [其二:SIF 客户端修改](doc/2.md) -2. [其三:AS 客户端修改](doc/3.md) -2. [其四:服务端部署](doc/4.md) -2. [其五:运行测试](doc/5.md) +详见 `doc` 目录。 ## 视频教程 - [合集·SIF、AS 私服(本地服)搭建教程](https://space.bilibili.com/671443/channel/collectiondetail?sid=2148053) diff --git a/doc/1.md b/doc/1.md index 7f43f9b..391212b 100644 --- a/doc/1.md +++ b/doc/1.md @@ -3,7 +3,7 @@ ### 所需文件清单 1. 私服服务端 honoka-chan,也就是本项目以及运行所需的 Go 环境。 -2. 原始客户端,包含 SIF 和 AS 两个游戏,以及相应的 Android 和 iOS 两个平台,根据自己需求决定。 +2. 原始客户端,包含 Android 和 iOS 两个平台,根据自己需求决定。 3. 原始全量数据包,同上。 4. Git,用于同步程序更新。 5. \[Android only] Java JRE (JDK) 提供 keytool,用于生成客户端签名所需要的 keystore 文件。 @@ -24,6 +24,4 @@ Linux 系统直接用包管理工具安装即可,以下为 Windows 用户需 - Android SDK: 由于 Android SDK 官方未提供单独的下载地址,可以使用 Android Studio 下载或者第三方网站下载(安全未知),例如 https://androidsdkmanager.azurewebsites.net/Buildtools - HxD Hex Editor: https://mh-nexus.de/en/downloads.php?product=HxD20 - SIF 客户端: https://0w-my.sharepoint.com/:f:/g/personal/smallfish_hualuoo_com/Ejt_D76BTa9No_JlqwjgpxABHCCV7py25BX0-dD56BN4KQ ,感谢虹原翼大佬提供,两个日文名的是日服的客户端可不管。 - - AS 客户端: https://mega.nz/folder/FtBxSZbR#7JZ0QuX_zdv-WFypIK0Vuw - SIF 全量数据: 同 SIF 客户端下载地址。zhuabao.zip 中的 list_CN_Android 和 list_CN_iOS。 - - AS 全量数据: 链接: https://pan.baidu.com/s/1CDzbtX6d0hgoczNdLCTzqw?pwd=wfzv 提取码: wfzv。 diff --git a/doc/3.md b/doc/3.md index c2d30de..e23624f 100644 --- a/doc/3.md +++ b/doc/3.md @@ -1,45 +1,29 @@ -## 其三:AS 客户端修改 +## 其三:服务端部署 -AS 客户端修改同样分为 Android 和 iOS 两个平台。 +### 主程序部署 -### AS 客户端修改(Android) +首先确认已经安装了 Go 环境以及 Git 工具,然后 `git clone https://github.com/YumeMichi/honoka-chan` 到你需要托管的服务器或者本地。 -Android 客户端修改,分为两个部分: -1. 盛趣相关接口地址的替换 -2. 客户端公钥和请求地址的替换 +进入 `honoka-chan` 文件夹,执行 `go build` 编译,会自动下载依赖。 -#### 盛趣相关接口地址的替换 +编译完成运行 `honoka-chan.exe` 即可,Linux 上可执行文件为 `honoka-chan`。 -参考 [其二:SIF 客户端修改](./2.md) 中的相关部分,完全一样。 +### 下载服务部署 -#### 客户端公钥和请求地址的替换 +#### SIF 数据下载服务 -由于 AS 使用的是 Unity 引擎,所以相关的信息都存放在 `assets\bin\Data\Managed\Metadata\global-metadata.dat` 中,在上述步骤 Apktool 解包后的目录下找到该文件,使用 [MetaDataStringEditor](https://github.com/JeremieCHN/MetaDataStringEditor) 打开该文件。 +下载 [一:文件准备](./1.md) 篇中的 SIF 全量数据,解压出 `list_CN_iOS` 和 `list_CN_Android` 两个文件夹。 -在搜索栏里输入 `/ep` 定位到 `https://prod-llas.jijiagames.com/ep3071`,将该地址修改为你的服务器 IP 或者域名例如 `http://192.168.1.123/ep3071`。注意如果你的服务器不支持 https,请改成 http。 +在本程序目录下的 `static` 目录下新建 `Android` 和 `iOS` 两个文件夹,然后将上面解压的两个文件夹按照对应系统移动到新建的这两个文件夹里,并将 `list_CN_iOS` 和 `list_CN_Android` 都改名为 `archives`。最后目录结构为 `static\iOS\archives` 和 `static\Android\archives`。 -![](./images/20230624200603.jpg) +如果只需要其中一个系统的数据包比如你不用苹果设备,可以删掉不用的。 -继续搜索 `RSAKeyValue` 定位到 `...AQAB`。此处为客户端通信所使用的公钥,格式为 XML,我们本地生成的 base64 需要经过转换后方可使用。 +由于数据包中也包含了盛趣服务器地址,所以为了不再次修改游戏配置文件,可以通过添加一个数据包,其中包含了修改过的服务器地址,并使其最后一个下载,这样会覆盖盛趣的服务器地址。 -![](./images/20230624202154.jpg) +这里以 iOS 为例,进入 `static\iOS\archives`,可以发现 `99` 的数据包最后一个为 `99_0_114.zip`。复制 `99_0_113.zip` 为 `99_0_115.zip`,打开压缩包,删除没用 `client_info.json`,然后将 `server_info.json` 解压出来。 -打开 [RSAKeyConverter](https://raskeyconverter.azurewebsites.net/PemToXml) 网站,将 base64 格式的公钥复制粘贴进去,转换成 XML 格式后,替换上面搜索出来的值。 +按照 [二:客户端修改](./2.md) 中同样的方法解密文件、修改地址、重新加密后替换压缩包内的文件即可。 -![](./images/20230624201042.jpg) +Android 也是同样的操作。 -最后点击另存为,保存为新的文件。替换 `assets\bin\Data\Managed\Metadata\global-metadata.dat` 后重新打包并签名即可。详细打包签名过程参考 [其二:SIF 客户端修改](./2.md) 中的相关部分。 - -### AS 客户端修改(iOS) - -iOS 客户端修改,分为两个部分: -1. 盛趣相关接口地址的替换 -2. 客户端公钥和请求地址的替换 - -#### 盛趣相关接口地址的替换 - -参考 [其二:SIF 客户端修改](./2.md) 中的相关部分,完全一样。 - -#### 客户端公钥和请求地址的替换 - -参考上文 Android 修改方式,完全一样。`global-metadata.dat` 在 `Payload\llas.app\Data\Managed\Metadata` 目录下,修改替换完,重新打包签名即可。详细打包签名过程参考 [其二:SIF 客户端修改](./2.md) 中的相关部分。 +如果要将数据下载服务托管到云服务器,将 `static\Android` 和 `static\iOS` 这两个目录都上传到云服务器,然后自行建个 http 服务器即可,这里就不赘述了。 diff --git a/doc/4.md b/doc/4.md index bb67257..079e220 100644 --- a/doc/4.md +++ b/doc/4.md @@ -1,35 +1,17 @@ -## 其三:服务端部署 +## 其四:运行测试 -### 主程序部署 +如果前面的操作都没问题的话,服务端已经可以使用。 -首先确认已经安装了 Go 环境以及 Git 工具,然后 `git clone https://github.com/YumeMichi/honoka-chan` 到你需要托管的服务器或者本地。 +启动游戏,查看 `honoka-chan` 窗口输出,第一次运行会生成配置文件 `config.json`。打开该文件,设置好 `sif_cdn_server`,如果你是按前面的操作,数据都放在本程序的 `static` 目录下的话,那就改成你的服务器地址+`static` 就行,类似默认生成的 `http://192.168.1.123/static`。如果你有自己的服务器存放更新数据,设置成相应地址即可。 -进入 `honoka-chan` 文件夹,执行 `go build` 编译,会自动下载依赖。 +登录方式为 `手机号密码登录`,都可以随便输。第一次使用的手机号会自动生成账号并记住登录的密码,以及后续的游戏内设置都会保存。 -编译完成运行 `honoka-chan.exe` 即可,Linux 上可执行文件为 `honoka-chan`。 +### SIF 测试 -### 下载服务部署 +按照提示下载数据,确认下载正常。 -分为 SIF 和 AS。 +下载完毕可以进入游戏。 -#### SIF 数据下载服务 +### 补充 -下载 [其一:文件准备](./1.md) 篇中的 SIF 全量数据,解压出 `list_CN_iOS` 和 `list_CN_Android` 两个文件夹。 - -在本程序目录下的 `static` 目录下新建 `Android` 和 `iOS` 两个文件夹,然后将上面解压的两个文件夹按照对应系统移动到新建的这两个文件夹里,并将 `list_CN_iOS` 和 `list_CN_Android` 都改名为 `archives`。最后目录结构为 `static\iOS\archives` 和 `static\Android\archives`。 - -如果只需要其中一个系统的数据包比如你不用苹果设备,可以删掉不用的。 - -由于数据包中也包含了盛趣服务器地址,所以为了不再次修改游戏配置文件,可以通过添加一个数据包,其中包含了修改过的服务器地址,并使其最后一个下载,这样会覆盖盛趣的服务器地址。 - -这里以 iOS 为例,进入 `static\iOS\archives`,可以发现 `99` 的数据包最后一个为 `99_0_114.zip`。复制 `99_0_113.zip` 为 `99_0_115.zip`,打开压缩包,删除没用 `client_info.json`,然后将 `server_info.json` 解压出来。 - -按照 [其二:客户端修改](./2.md) 中同样的方法解密文件、修改地址、重新加密后替换压缩包内的文件即可。 - -Android 也是同样的操作。 - -如果要将数据下载服务托管到云服务器,将 `static\Android` 和 `static\iOS` 这两个目录都上传到云服务器,然后自行建个 http 服务器即可,这里就不赘述了。 - -#### AS 数据下载服务 - -下载 [其一:文件准备](./1.md) 篇中的 AS 全量数据,解压出 `f7f2ac627227500b` 文件夹,将其放入本程序 `static` 目录下即可,压缩包中已包含国服 database 文件。 +SIF 的全量数据下载实际上并不是全量,部分剧情还是需要调用 `/download/getUrl` 接口下载指定的文件。所以还需要维护一份 zip 全部解压后的数据,这部分内容后面再补充吧~ diff --git a/doc/5.md b/doc/5.md deleted file mode 100644 index 943782a..0000000 --- a/doc/5.md +++ /dev/null @@ -1,25 +0,0 @@ -## 其四:运行测试 - -如果前面的操作都没问题的话,服务端已经可以使用。 - -启动游戏,查看 `honoka-chan` 窗口输出,第一次运行会生成配置文件 `config.json`。打开该文件,设置好 `sif_cdn_server` 和 `as_cdn_server`,如果你是按前面的操作,数据都放在本程序的 `static` 目录下的话,那就改成你的服务器地址+`static` 就行,类似默认生成的 `http://192.168.1.123/static`。如果你有自己的服务器存放更新数据,设置成相应地址即可。 - -登录方式为 `手机号密码登录`,都可以随便输。第一次使用的手机号会自动生成账号并记住登录的密码,以及后续的游戏内设置都会保存。 - -### SIF 测试 - -按照提示下载数据,确认下载正常。 - -下载完毕可以进入游戏。 - -### AS 测试 - -AS 和 SIF 共用一套账号系统,所以可以直接用上面的账号密码登录。 - -按照提示下载数据,确认下载正常。 - -下载完毕可以进入游戏。 - -### 补充 - -SIF 的全量数据下载实际上并不是全量,部分剧情还是需要调用 `/download/getUrl` 接口下载指定的文件。所以还需要维护一份 zip 全部解压后的数据,这部分内容后面再补充吧~ diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..65d4805 --- /dev/null +++ b/doc/README.md @@ -0,0 +1,6 @@ +## 文档列表(更新中) + + - [一:文件准备](1.md) + - [二:SIF 客户端修改](2.md) + - [三:服务端部署](3.md) + - [四:运行测试](4.md)