世界弹射物语(World Flipper)CN(雷霆 Leiting)版本的服务端模拟器。
已实现(部分端点沿用国际服设计,对 CN 的通用性尚未验证):
- 账号:设备自动绑定(
device_id)、Web 管理面板 - 时间系统:全局 / 按存档时间偏移(默认 2024-08-14,规避 CDN 报错)
- 关卡:主线 / 部分活动·Boss / 单人战斗结算
- Gacha:角色·武器卡池、兑换、C3032 动画修复、抽卡种子验证
- 多人联机(NPC 协战):Phase 2 — 建房 + NPC 招募 / 召唤 / 结算
- 系统:狂热激战 · 体力 · 商店 · 漫画 · 邮件群发
- 养成:升级 / 突破 / 魔晶板 / EX / 羁绊;武装:觉醒 / 熔解;编队 · 图鉴 · 教程
- 存档导入 / 导出:已修复 —— 采用 MergedPlayerData 快照格式(仅管理面板备份/恢复,非游戏客户端 load)。
- 漫画资源不随项目分发,需自行导入。
- 多个端点沿用国际服(global)设计,不保证对 CN 客户端通用。
- Node.js ≥ 20 · 打补丁后的 CN 客户端 APK(见"客户端改造")
- 一份 CN CDN 资源,放入
.cdn/cn/
客户端经 EntityLists 的"路径清单文件"获取全部资源路径。服务端对它使用了两套命名且不做归一处理:
src/routes/cn/asset.ts的 version_info →EntityLists/PathFilesrc/cn-server.ts→EntityLists/10939-android_medium.csv
不同来源的 CDN 该文件名 / 位置可能不同(内容一致)。请确保 .cdn/cn/EntityLists/ 下同时存在 PathFile 与 10939-android_medium.csv(复制一份改名即可),否则按命中端点不同可能出现资源 404。
cd starpoint-cn
npm install
cp .env.example .env.env.example 的局域网区块默认激活,cp .env.example .env 后可直接启动:
# 生产模式(build + 启动)
bash scripts/start-cn.sh
# 开发模式(热重载,无需 build)
npm run debug:cn如果客户端在另一台设备上,需编辑 .env:
CN_LISTEN_HOST=你的 LAN IP(如192.168.x.x)CDN_BASE_URL=http://你的LAN_IP:8001/patch/cn
- 按
docs/deployment.md配置 nginx 反向代理 + 防火墙 - 编辑
.env,激活公网区块:
CN_LISTEN_HOST="127.0.0.1" # 仅监听本地
CDN_BASE_URL="https://<你的域名>/patch/cn" # 公网域名 + HTTPS
SESSION_PUBLIC_HOST="<你的域名>" # 联机 TCP 公网地址- 启动:
bash scripts/start-cn.sh| 配置项 | 局域网 | 公网 |
|---|---|---|
CN_LISTEN_HOST |
0.0.0.0 / LAN IP |
127.0.0.1 |
CDN_BASE_URL |
http://<LAN_IP>:8001/patch/cn |
https://<域名>/patch/cn |
SESSION_HOST |
0.0.0.0 |
127.0.0.1 |
SESSION_PUBLIC_HOST |
不设 | 公网域名 |
| 前置层 | 无 | nginx + SSL + 防火墙 |
npm run dev:cn与bash scripts/start-cn.sh经node --env-file=.env会加载.env。npm run debug:cn(ts-node-dev)无--env-file、代码也未引入 dotenv,因此不会自动读.env;调试时需自行 export 环境变量,否则走代码默认值。
CN_LISTEN_HOST/CN_LISTEN_PORT— HTTP 绑定地址 + 联机 TCP 房间显示 IP;客户端在别的设备时设为你的 LAN IP(默认端口 8001)。CDN_BASE_URL—http://<你的LAN_IP>:<端口>/patch/cn。CN_RES_VERSION— 须与客户端 resourceVersion 一致(当前 1.4.54)。DROP_MULTIPLIER/NPC_*— 测试与联机调参。
连接本服务需对官方 APK 打两处改动(免登录 + 重定向到本服),详见 client-patch/:
- 免登录 —
pinball/config/core/DevConfig.as:sdkDummy = false→true - 重定向到本服 —
pinball/config/gbits/DevConfig_gf_android.as:域名 → 你的服务器,"https"→"http"
用 FFDec 导出 APK 的 AS3 后执行:
bash client-patch/apply.sh <AS3_导出目录> <你的LAN_IP>:8001再用 FFDec 回封、重打包签名。完整 APK / 反编译说明见本地环境文档 docs/setup/。
/ 时间设置 · /player 账号·存档·玩家 · /player/:id 玩家详情 · /mail 群发邮件
面板对写入端点做结构安全校验(拒绝未知字段 / 类型错误 / 超 2³¹ 的非法值并明确报错),但不限制游戏平衡数值;重要操作仍建议先用「下载 JSON」导出备份。 若误发非法邮件导致客户端在邮件界面崩溃,可用玩家详情页的清空邮件箱恢复。
H404= 该功能 / 端点尚未实现。
- wdfp-extractor — 资源提取
- wfax — 资源转换 / 修改
- 上游 Duosion/starpoint — 全球服模拟器基础
- starview — APK 打补丁工具(基础;本仓库最小补丁见
client-patch/) - wf-2.1.125-cn-decompiled — CN 客户端反编译参考