# 守护进程自动联网 服务器重启(如断电、系统更新)后,服务会自动加入或创建事先设置好的房间,无需人工操作。 ## 两种模式(二选一) | 模式 | 面板配置 | 配置文件配置 | 效果 | |---|---|---|---| | 自动加入已有房间 | 设置页「开机自动运行 → 自动加入」,打开开关、填入房间邀请后保存 | `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 | 自动创建预设游戏名称(面板展示用) | ## 相关页面 - [配置参考](configuration.md) - [联机房间操作](rooms.md) - [快速开始](quick-start.md)