ArcadeLink
下载

文档中心

玩家上手、服务端部署与开发验收的快速入口。深度协议与回归基线见主仓库 docs/

玩家指南

登录与账号

  • 填写服务端提供的地址与访问密钥。
  • 首次使用必须注册;测试环境可能提供 demo 账号。
  • 忘记密码:通过服务端一次性验证码流程重置(有效期以服务端配置为准)。

大厅与房间

  • 每个游戏分区固定 1–200 号房。
  • 双击空房创建(可选 P1/P2、密码);双击等待房加入;对战中房间可观战。
  • 关闭游戏窗口会立即离房。

对战与观战

  • 新对手连接时双方核心复位,从第 0 帧重新选人;同一对手续关不强制复位。
  • 观战端会追赶历史输入后跟随实时对局。
  • 联机录像保存在服务端,可在个人中心回放,支持高级指令显示。

画面与输入

  • 清晰度:自动 / 原生 / 2×–4×;默认平滑高清滤镜,保持宽高比。
  • Tab 切换普通窗口与纯游戏全屏;Enter 打开/发送聊天。
  • 支持键盘与手柄热插拔;组合键最多 10 组。

服务端部署

公网建议只跑服务端;玩家各自运行客户端连接。

  1. 放行 TCP 5188(HTTP API + WebSocket)与 UDP 5190(Match Relay)。
  2. 启动时指定 Relay 对外可达的主机名或公网 IP,并保存生成的访问密钥。
  3. 管理后台路径 /admin/:注册登录审计、聊天、录像、公告与封禁(管理密钥与玩家访问密钥分离)。
  4. 生产环境应在反向代理上启用 HTTPS/WSS,并限制管理入口暴露面。
原型 HTTP 默认可能未强制 TLS。公网测试务必使用强访问密钥,并尽量用防火墙限制玩家来源 IP。

开发者

运行结构(简图)

Qt Desktop Client
 ├─ HTTP/JSON ──────── Platform Server :5188
 ├─ WebSocket ──────── Lobby Event Hub
 ├─ UDP ALNK/1 ──────── Match Relay :5190
 └─ QLocalSocket ────── Emulator Host
                         ├─ FBNeo libretro
                         ├─ ZIP ROM(只读)
                         └─ 共享内存视频 / PCM / savestate

本地启动(示例)

# 主仓库根目录
pip install -r .\src\ArcadeLink.Client.Qt\requirements.txt
Set-ExecutionPolicy -Scope Process Bypass
.\start.ps1
# 可选:指定 ROM 目录
.\start.ps1 -RomDirectory 'E:\ArcadeRoms'

验收

dotnet build .\ArcadeLink.slnx
.\scripts\smoke-test.ps1

双机回归、观战与重连稳定基线请严格遵循主仓库文档,例如 docs/DUAL-PC-REGRESSION-BASELINE.mddocs/QTCPP-V2-REJOIN-STABLE-BASELINE.md。 不要在未明确任务的情况下改动 spectator 主路径或默认开启 mid-resync。

ROM 与合规

  • ROM 不会被复制进项目、上传服务端或随程序分发。
  • FBNeo 核心受其项目许可证约束;请保留完整许可证文件。
  • 游戏版权与 ROM 使用授权由最终用户自行负责。