No description
- HTML 67%
- Python 23%
- JavaScript 10%
- client/server.py -> backend/server.py - 添加 backend/__init__.py - 更新 README.md 反映新结构 - static/ 目录本地存在,不提交到git |
||
|---|---|---|
| backend | ||
| client | ||
| docs | ||
| website | ||
| .gitignore | ||
| README.md | ||
赛尔号私服客户端 (SelfSeer)
基于 Electron + Ruffle 构建的赛尔号私服客户端,包含完整的游戏资源和开发文档。
项目结构
SelfSeer/
├── client/ # 前端 - Electron客户端
│ ├── main.js # Electron主进程
│ ├── index.html # 游戏页面 (Ruffle)
│ ├── preload.js # 预加载脚本
│ └── package.json # 依赖配置
│
├── backend/ # 后端 - 服务代码
│ ├── server.py # HTTP资源服务器
│ └── __init__.py
│
├── static/ # 静态资源 (SWF/XML/MP3等)
│ ├── resource/ # 游戏资源 (精灵, 地图, 技能等)
│ ├── module/ # 模块文件 (AppModule等)
│ ├── dll/ # DLL文件
│ ├── config/ # 配置文件
│ └── version/ # 版本文件
│
├── website/ # 首页 - 下载客户端的网页
│ └── index.html # 下载页面
│
├── docs/ # 文档
│ ├── README.md # 资源爬取报告
│ ├── API.md # 开发接口说明
│ ├── codegraph.md # Flash调用逻辑图
│ └── resource_urls.md # 资源URL清单
│
├── _temp/ # 临时文件 (不提交)
│ ├── analysis/ # 分析数据
│ ├── SwfSrc/ # AS脚本源码
│ └── report/ # 报告
│
└── README.md # 本文件
快速开始
1. 克隆仓库
git clone https://git.y-redxin.cn/redxin/SelfSeer.git
cd SelfSeer
2. 安装依赖
cd client
npm install
3. 启动游戏
# 方式1: 使用Electron客户端
npm start
# 方式2: 使用本地服务器 + 浏览器
cd ../backend
python server.py
# 然后打开 http://localhost:8080
4. 调试模式
# 启动带DevTools的客户端
npm start -- --debug
资源统计
| 类型 | 数量 |
|---|---|
| 总文件数 | 29,364 |
| SWF | ~27,000 |
| XML | 49 |
| MP3 | 2,485 |
精灵资源
| 类型 | 数量 | ID范围 |
|---|---|---|
| 战斗精灵 | 2,876 | 1-5498 + 隐藏ID |
| 组队精灵 | 2,847 | 1-5498 + 隐藏ID |
| 精灵头像 | 5,007 | 1-5498 + 隐藏ID |
| 精灵声音 | 2,480 | 1-2568 |
| 战斗技能 | 12,795 | 10001-18042 + 20001-24409 + 100001-100081 |
| 组队技能 | 88 | 19属性 × 3-4个 |
| 地图 | 1,587 | 1-11925 |
| NPC | 564 | multi/dialog/newOneSide/npc |
| AppModule | 3,381 | 各类面板模块 |
技术栈
- 前端框架: Electron 28
- Flash模拟器: Ruffle (Rust/WebAssembly)
- 资源服务器: Python HTTP Server
- 反编译工具: JPEXS FFDec
- 版本管理: Git
文档
- 资源爬取报告 - 完整的资源统计和分析
- 开发接口说明 - ClientConfig.as方法表、资源URL规则
- Flash调用逻辑图 - 启动流程、资源加载流程
- 资源URL清单 - 所有资源的URL格式
快捷键
| 快捷键 | 功能 |
|---|---|
| F12 | 切换调试面板 |
| F5 | 刷新游戏 |
| Ctrl+Shift+I | 打开DevTools |
开发说明
资源服务器
本地资源服务器 (backend/server.py) 提供:
- CORS支持
- 多线程处理
- 缓存控制
- 请求日志
# 自定义端口和资源目录
python server.py --port 9090 --dir /path/to/resources
资源替换
将修改后的资源放到 static/ 目录对应位置即可。
AS脚本分析
反编译的AS脚本在 _temp/SwfSrc/ 目录 (不提交到git),可以:
- 分析资源URL构造逻辑
- 查找隐藏资源
- 理解游戏机制
许可证
本项目仅供学习研究使用。原版游戏版权归淘米网络所有。
致谢
- Ruffle - Flash模拟器
- JPEXS FFDec - SWF反编译工具
- 淘米网络 - 原版游戏