daemon auto connect - yumi-furry/AstralGame-cli GitHub Wiki

守护进程自动联网

服务器重启(如断电、系统更新)后,服务会自动加入或创建事先设置好的房间,无需人工操作。

两种模式(二选一)

模式 面板配置 配置文件配置 效果
自动加入已有房间 设置页「开机自动运行 → 自动加入」,打开开关、填入房间邀请后保存 auto_join_enabled = true 与 auto_join_code 服务启动后自动加入预设房间
自动创建预设房间 设置页「开机自动运行 → 自动创建」,点击「选择游戏…」弹出与正常创建房间一致的选游戏弹窗,选好游戏后保存 auto_create_enabled = true、auto_create_game_id 与 auto_create_game_name 服务启动后自动创建预设房间

auto_join_code 支持三种邀请形式:6 位短码(ABC123)、完整邀请链接(https://next.astral.fan/j?c=...)、或 AG1. 开头的离线邀请串。

优先级与互斥

  • 同时启用两者时,自动创建优先;面板与 API 会在保存时强制互斥(启用自动加入则关闭自动创建,反之亦然)。
  • 启用自动加入但邀请为空 → 保存校验失败;启用自动创建但未选游戏 → 保存校验失败。
  • 服务日志出现「守护进程:已自动加入/创建房间」即表示成功。
  • 自动失败不影响 Web 面板使用,可在面板「联机」页手动创建或加入。

启动流程

服务启动时按以下顺序执行联网策略(与 config.toml 配置对应):

  1. 配置了 auto_create_enabled 且 auto_create_game_id 非空 → 调用与 REST 相同的建房核心实现自动创建房间,并广播 room.created 事件;
  2. 否则配置了 auto_join_enabled 且 auto_join_code 非空 → 复用加入核心逻辑自动加入(输入支持短码 / 完整链接 / AG1. 离线串);
  3. 否则若配置文件中直接写了 [network_identity] 等 EasyTier 段(旧配置兼容路径)→ 按该配置启动实例。

自动联网逻辑复用 api.rs 中的 create_room_impl / join_from_input,与 HTTP 接口行为一致,避免分叉。

相关配置字段

字段 类型 说明
auto_join_enabled bool 守护进程:开机自动加入
auto_join_code string 自动加入邀请(短码 / 链接 / AG1. 离线串)
auto_create_enabled bool 守护进程:开机自动创建(与自动加入二选一)
auto_create_game_id string 自动创建预设游戏 ID(与面板创建房间所选 ID 一致)
auto_create_game_name string 自动创建预设游戏名称(面板展示用)

相关页面