docs: add dedicated DASHBOARD_DEV.md and PLUGIN_DEV.md, simplify README & CONTRIBUTING

This commit is contained in:
2026-07-25 15:38:24 +08:00
parent a46e5d786d
commit 5e177f4514
4 changed files with 438 additions and 181 deletions
+2 -67
View File
@@ -2,73 +2,8 @@
## 贡献方式
### 提交游戏插件 (`.tsp`)
创建一个包含 `manifest.json``parser.py` 的文件夹,压缩为 zip 改后缀:
```
my_game/
├── manifest.json
└── parser.py
```
#### manifest.json
```json
{
"id": "unique_game_id",
"name": "游戏名称",
"parser_type": "forza",
"description": "简短描述",
"author": "你的名字",
"version": "1.0.0",
"default_port": 20777
}
```
#### parser.py 规范
必须实现 `get_parser()` 函数,返回对象包含:
```python
import time
from server.telemetry.data import TelemetryData
def get_parser():
return MyParser()
class MyParser:
def game_id(self) -> str:
return "unique_game_id"
def parse(self, data: bytes, addr: tuple) -> TelemetryData:
td = TelemetryData(game_id="unique_game_id", timestamp=time.time())
td.raw = {"raw_hex": data.hex(), "length": len(data)}
# 填充遥测字段...
return td
```
安装方式:在 TurboSu 设置页面 → 游戏插件管理 → 导入 `.tsp`
### 提交仪表盘主题 (`.tsd`)
创建独立文件夹:
```
my_dashboard/
├── manifest.json # 元信息 (参考下方格式)
└── index.html # 完整独立页面
```
`index.html` 需包含:
- WebSocket 连接:`ws://<host>/ws`
- 接收 `telemetry` 消息类型的数据
-`data-bind="字段名"` 属性绑定数据
- 比例约束渲染逻辑
安装方式:在 TurboSu 仪表盘页面 → 导入 `.tsd`,或右键卡片导出。
- **提交游戏插件** (.tsp) — 见 [游戏插件兼容开发指南](docs/PLUGIN_DEV.md)
- **提交仪表盘主题** (.tsd) — 见 [仪表盘开发指南](docs/DASHBOARD_DEV.md)
### 报告 Bug