本项目永久免费,请勿付费购买。 项目主页:kuuhaku1314/kairisei-ma-ch
自行架设多人服务器时,请按活跃人数配置账号缓存池,默认容量为 32 个账号。频繁访问的账号数超过容量时,可能反复淘汰、重新加载账号状态,导致 CPU 占用大幅升高、操作响应变慢。人多时请优先检查 KAIRI_ACCOUNT_CACHE_LIMIT
KAIRI_ACCOUNT_CACHE_LIMIT 的单位是账号数,默认 32,允许 0–4096;0 表示禁用缓存,不是无限容量。建议按高峰期最近 5 分钟活跃账号数留出余量,并观察服务器内存。例如预计约 100 个活跃账号,可先设 256,再根据实际负载调整;这只是配置起点,不代表服务器可承载人数,内存不足时不要盲目设为最大值。
Windows(PowerShell):先停止服务并退出旧启动器,在解压后的服务端目录打开 PowerShell,执行以下两行,再在新启动器中启动服务:
$env:KAIRI_ACCOUNT_CACHE_LIMIT = '256'
.\Kairisei-Launcher.exe该写法只对当前终端及其启动的程序生效;以后从新终端启动时需重新设置。若要直接双击启动,请在 Windows 的“用户环境变量”中保存同名变量,再重新打开启动器。
Linux:在解压后的服务端目录执行,地址换成自己的服务器 IPv4;ARM64 使用 Start-Server-linux-arm64.sh:
KAIRI_ACCOUNT_CACHE_LIMIT=256 sh Start-Server-linux-amd64.sh 192.168.1.100 26020使用 systemd 等托管服务时,应在对应服务的环境配置中设置该变量。配置在服务端启动时读取,修改后必须重启服务端。
这里的“空闲”指账号当前没有请求正在执行,玩家两次请求之间也会占用缓存;它不是在线人数上限。增加容量会增加内存占用,以减少重复加载。淘汰及过期规则见账号缓存容量。
在自己的电脑或服务器上运行服务端,用 Android 手机或模拟器重温国服的卡牌、剧情和副本,也可以和朋友连接同一服务端组队。游戏进度保存在自己的服务器上,无需官方账号。
目前仍在测试,部分演出、设备兼容性和多人场景还需要实际游玩确认。
感谢 Q 群 139146284 群友提供的 BUG 反馈。
群内另有群主无偿部署的 开箱即用服务器,方便直接体验游戏。
感谢 蔡徐花大佬 提供日服数据资源包,为本次日服内容补充提供了重要支持。
需要准备 Android APK 和同一版本的全部服务端 RAR 分卷。将各卷放在同一个文件夹,完整解压出 kairisei-ma-cn602-server 后再启动。Linux 使用支持 RAR5 的解压工具展开同一套分卷。
解压后的 resource-set/ 就是游戏资源目录,保留在 kairi-server.exe、deployment.json 旁边。整个服务端文件夹可放在任意位置;不要单独搬动或拆开里面的资源目录。
一套包同时包含 Windows x64、Linux x64、Linux ARM64 的服务端和启动脚本,共用 resource-set 游戏资源。保留整个解压目录,不能只复制一个 exe。使用发布包无需安装 Go、Python 或 Unity。
- 双击解压目录中的
Kairisei-Launcher.exe。 - 选择使用场景:同一台电脑上的 Android Emulator 选“Android 模拟器”;手机游玩选“局域网”,地址填写电脑的局域网 IPv4。
- 点击“启动服务”,等待右上角显示正在运行,再打开游戏。游玩期间保持服务运行。
- 结束后点击“停止服务”,等待正常停止再关闭电脑或移动存档。
局域网游玩时,手机和电脑应处于同一局域网。默认游戏端口为 TCP 26020,战斗端口为 TCP 26021;Windows 弹出网络访问提示时,允许服务在所用的专用网络中通信。更换主端口后,战斗端口为主端口 +1,后台端口为主端口 +2;后台仅在本机开放。
安装最新版配套 APK,首次打开时按提示授予资源存储权限。可以直接在客户端填写服务器地址,无需先用文件管理器修改配置。 连接朋友的服务器时,向服主获取游戏服务器的 IP 或域名及主端口。
- 打开游戏。若启动加载时无法连接服务器,等待连接超时提示并返回登录标题页。
- 点击标题页右下角的 “服务器设置”。
- 窗口上方会显示当前服务器地址。在输入框中填写要连接的 IP 或域名,需要时加上
:端口。 - 点击 “保存并退出”,保存成功后游戏会自动退出。
- 重新打开游戏,客户端会使用新地址连接、登录并下载资源。
| 游玩方式 | 填写示例 |
|---|---|
| 同一台电脑上的 Android Emulator | 10.0.2.2:26020 |
| 手机连接同一局域网内的电脑 | 192.168.1.100:26020(换成启动器显示的地址) |
| 通过域名连接服务器 | game.example.com:26020(换成服主提供的域名) |
不填端口时默认使用 26020;如果服主修改了主端口,请填写实际端口。只填 IP/域名和端口,不加 http://、https:// 或网址路径。
“服务器设置”仅在启动连接失败后显示,正常连接时会隐藏。 若已能连接但需要切换到另一台服务器,可使用下面的备用方法。
完全退出游戏后,将内部存储中的 Android/data/com.netease.ma.netease/files/local_server.txt 改为一行服务器地址,例如 game.example.com:26020,再重新打开游戏。应用目录通常在首次启动后创建;文件须放在上述目录,放在 Download 中无效。
首次下载资源到最后时,可能会停在进入游戏的页面不动。遇到这种情况,完全关闭游戏后重新打开即可尝试继续进入;无需卸载或清除已下载资源。
每位玩家连接同一台服务端,使用各自的角色。普通多人房至少需要 2 名在线真人 才能开始;缺少职业的 AI 使用房主在开房时选中的对应职业卡组,每套需要配齐 10 张主卡。若点开始没有进入战斗,请先检查人数和这些卡组,改好后重新开房。
标注“自身卡组”的单人副本需要配置自己的其他职业卡组。允许续关的副本每次消耗 50 水晶;标注无法复活的副本不支持续关。
使用配套的 APK 和服务端。标题右下角 “用户中心” 可打开账号窗口;已绑定的角色正常点击标题进入时,会沿用本机登录信息直接进入游戏。
- 第一次玩:选择游客进入,从新手教程开始。
- 保留当前进度:在账号窗口绑定当前角色,或进入游戏后通过 菜单 → 设置 → 用户中心 绑定。账号为 3–32 位字母、数字或下划线,不区分大小写;密码为 8–128 字节(英文、数字和常用半角符号各占 1 字节)。
- 重装或换设备:先配置原服务器地址,在标题账号窗口输入已绑定的账号和密码登录。游戏内的用户中心用于绑定;切换或找回账号请回到标题画面。
找回需要原服务器仍保留账号数据。账号不能恢复已删除的服务器存档;尚未绑定的游客请先绑定再卸载。忘记密码可由该服务器管理员在后台“账号管理”中重置。
一个账号名只能绑定一个角色 UID,一个角色也只能绑定一个账号名。 玩家端不支持换绑;管理员可在“账号管理 → 管理绑定”中解绑,再为该角色绑定账号。解绑保留角色进度,原账号密码失效,但不会强制退出已经登录的设备。不同独立服务器的账号与进度不互通;重装后找回账号仍需重新下载游戏资源。
在完整解压目录中选择对应入口:
| 系统 | 启动入口 |
|---|---|
| Windows x64 | Start-Server.cmd,默认模拟器配置;手机连接建议使用图形启动器 |
| Linux x64 / x86_64 | sh Start-Server-linux-amd64.sh 服务器IPv4 26020 |
| Linux ARM64 / aarch64 | sh Start-Server-linux-arm64.sh 服务器IPv4 26020 |
Linux 将 服务器IPv4 替换成手机能访问到的地址;需要 /bin/sh 和 coreutils。脚本会设置服务端执行权限,前台运行,按 Ctrl+C 或发送 SIGTERM 正常停止;末尾加 --dry-run 可以只检查启动参数。ARM64 版本已构建,尚待 ARM64 主机实测。
Windows 命令行启动后,用 Stop-Server.cmd 停止。不同平台的程序共用资源,但不要同时用多个服务端进程打开同一份存档。
默认从本地服务端下载,无需配置 CDN。也可以使用自己的 Cloudflare R2 或其他 HTTP(S) CDN;自带同步工具支持 S3 兼容存储,无需额外安装软件。登录和战斗仍连接自己的服务端,服务端需保留完整 resource-set。
以 R2 为例,在服务端解压目录中:
- 将
cdn-sync.example.json复制为cdn-sync.json,填写下面五项。 - 在 R2 开启桶的公开读取,访问密钥需拥有该桶的对象读写权限。
- Windows 双击
Sync-CDN.cmd;Linux 运行sh Sync-CDN.sh。 - 等待同步成功,脚本会自动写入
cdn.json;随后重启服务端,客户端重新登录即可。
{
"endpoint_url": "https://你的账户ID.r2.cloudflarestorage.com",
"bucket": "你的桶名",
"access_key_id": "你的访问密钥ID",
"secret_access_key": "你的机密访问密钥",
"public_url": "https://pub-你的编号.r2.dev"
}public_url 填桶的公开下载根地址,不加桶名或 /cn602;脚本会自动添加默认目录。填好的 cdn-sync.json 含密钥,请勿分享。
只更新服务端代码、运营配置或重新打包,无需重传 CDN。 资源或下载路径/版本变化后再运行同步;一致的文件会跳过,中断后可直接重跑。关闭 CDN 时,将 cdn.json 的 base_url 改为空字符串,再重启服务、重新登录。
其他存储、已有 CDN 地址和代理配置见 CDN 配置与同步。
- 存档:服务端目录下的
_local/data/,首次启动时创建;账号、进度和公共运营配置保存在其中的cn602-save-state.sqlite3。备份前正常停止服务,再复制整个目录。 - 后台:Windows 点击“打开 Admin”,默认地址为
http://127.0.0.1:26022/,仅允许在服务端本机访问。可配置除新手池外的内置卡池、活动、副本各部位掉落和商店,批量编辑兑换商品、发放礼物,以及管理账号绑定和重置密码。“全选本页”只选择当前页展示的可用条目。配置保存到数据库,重启保留;详细用法见运营台说明。 - 日志:Windows 点击“查看日志”;服务端运行记录位于
_local/runtime/,Linux 也会在启动终端显示日志。 - 更新:正常停服并备份
_local/data/,再更新服务端程序及配套resource-set;保留自己的存档、启动器连接设置,以及配置过的cdn.json、cdn-sync.json。当前数据库格式为 schema3,同格式更新无需清档;更早格式不支持加载。APK 相同时无需重装;需要更新时优先覆盖安装,保留原应用数据。
后台“公告与奖励”还可调整公告、签到奖励、新手毕业邮件、剧情首通水晶和看板购买价格/开关。普通签到每7次循环,新手签到只发一轮,累计登录独立计算;修改不会重置已领记录。Boss 发布分为“活动/素材”和“往期 BOSS”两个 Tab,分别配置目录开放及展示时间;同一副本的掉落共用一份配置。时间控制目录展示,不是每个 Boss 独立的入场期限。各处“取消本页选择”只取消本页勾选,其他页选择保留。
误发邮件可在 账号管理 → 管理邮件 中搜索,单封或批量删除,无需先领取;已领取的奖励不会回收。
当前配套客户端为 6.0.7(60205),支持上述客户端内服务器设置;已安装该版本无需重复安装。新版服务端要求旧客户端升级后才能登录,并提示前往 GitHub Releases 下载;后续更新内容与客户端也在该页面发布。
没有桌面的 Linux 服务器可通过 SSH 转发访问后台:在自己的电脑运行 ssh -N -L 26022:127.0.0.1:26022 用户名@服务器地址,保持连接,再用浏览器打开 http://127.0.0.1:26022/。若改过后台端口,替换命令中冒号后面的 26022。
卸载游戏或清除应用数据会移除本机登录信息和已下载资源,请勿把它当作常规更新步骤。服务端存档和手机应用数据是两处独立的数据。
- 解压失败:确认所有分卷都已下载完整、来自同一版本,并放在同一目录,从
part1.rar开始解压。 - 连接失败:先确认启动器显示服务已运行,再通过客户端“服务器设置”核对地址和主端口,并检查网络及游戏/战斗两个端口。浏览器能打开主页,只能说明 HTTP 端口可达。
- 更新后进度不见了:先检查是否启动了新目录中的空存档,保留旧目录备份后再核对,避免反复清除数据。
- 安装后仍是旧功能:QQ 可能打开旧的同名 APK。将本次文件下载到本机后,用文件管理器打开安装;不要只凭文件名、大小或显示的版本号判断是否更新。
- 水晶购买显示成功但余额没变:默认关闭购买发放,返回成功但不增加水晶;管理员可在“运营设置”中开启,也可通过后台赠礼发放。
- 卡住、黑屏或功能异常:请在 Issues 中附上版本、设备型号与系统、复现步骤和截图;有服务端报错时附相关日志片段。
本项目原创代码与文档采用 PolyForm Noncommercial 1.0.0,允许按许可条款进行非商业使用、修改和分发,不授权商业用途。分发时请保留许可证及 NOTICE 中的必要声明。完整条件以许可证正文为准。
这是限制商业用途的源码可用项目,不属于 OSI 定义的开源软件。第三方依赖遵循各自的许可证;本许可不授予原游戏 APK、角色、美术、音频、商标等第三方内容的权利。
普通游玩按以上步骤即可。参与开发请从 工程规则、当前状态 和 文档索引 开始;构建与资源准备见 运行资源集,后台操作见 操作说明。源码仓库不包含原 APK、游戏资源或玩家存档。