
自动重连
一个面向每小时重启开发服务器二十次的小型客户端Fabric模组。
一个轻量级客户端 Fabric 模组,专为那些每小时就要重启开发服务器二十次的人打造。
它在原版**断开连接**界面添加了两个按钮:
| 按钮 | 功能 |
|---|---|
| `重新连接` | 立即重新加入最后连接的服务器。 |
| `自动重连:开 / 关` | 持久化开关。当它开启**且断开连接界面处于打开状态**时,模组每隔几秒检查服务器是否恢复,一旦恢复便立即开始正常的连接流程。 |
按钮下方有一个状态行会显示当前操作(如 `3 秒后再次检查(第 4 次尝试)`、`服务器已启动 - 正在加入!` 等)。
这样插件的使用流程就变成了:`/stop` → 重新编译 → 启动服务器 → 你已经回到世界中了。
## 行为特性
- **仅在断开连接界面运行。** 按下原版按钮、按 Esc 键或进入其他任何界面都会立即取消重试循环。当你在菜单或其他世界中时,后台不会运行任何操作。
- **检查方式是真正的服务器列表 Ping**,与多人游戏服务器列表使用的握手协议相同,因此端口开放但仍在启动过程中的服务器不会被判定为就绪。DNS `SRV` 记录和客户端的屏蔽服务器列表会像正常连接一样被解析处理。
- **重试的服务器信息是在你仍然连接时捕获的**,因为 Minecraft 会在断开连接时清除当前的服务器条目。直接连接和局域网服务器可用;Realms 会被跳过,因为 Realms 的地址是临时的。
- 检查运行在独立的守护线程上,因此 DNS 查找挂起或主机被防火墙屏蔽时永远不会卡死游戏。
- 被踢出与崩溃没有区别对待:如果你被踢出,说明服务器在线,因此会重新加入。如果你不希望这样,请关闭该开关,或设置 `maxAttempts`。
## 设置
`config/autojoin.json`,首次启动时生成:
```json
{
"autoReconnect": false,
"pingIntervalSeconds": 3,
"maxAttempts": 0,
"pingTimeoutMillis": 3000,
"requireStatusResponse": true,
"playSoundOnReconnect": true
}
```
- `autoReconnect` — 与游戏内按钮切换的值一致。
- `pingIntervalSeconds` — 检查间隔时间,最小值为 1。
- `maxAttempts` — 设为 `0` 则无限重试。
- `pingTimeoutMillis` — 单次检查的连接/读取超时时间。
- `requireStatusResponse` — 设为 `false` 时,只要 TCP 端口开放即可。仅在代理能够在响应状态请求之前接受连接时有用;这可能导致客户端过早重新加入。
- `playSoundOnReconnect` — 重新加入时播放一个小提示音,这样你在切换窗口时也能注意到。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。