
挂机检测器
AfkDetector是一款轻量级、低影响的Hytale服务器挂机检测插件。
查看大图
🛡️ AfkDetector
AfkDetector 是一款轻量级、低影响的 AFK 检测插件,适用于 Hytale 服务器。
它通过 水平移动采样 监控玩家活动,在可配置的闲置时间后标记玩家为 AFK,可选择性地警告玩家,并通过服务器的 原生指令系统 安全地踢出闲置玩家。
设计目标:
- ⚡ 高性能
- 🔄 可重载
- 🧰 管理员友好
✨ 功能
- 基于玩家移动检测 AFK 状态
- 基于秒的配置(无需毫秒级冗余)
- 实时配置重载(
/afk reload) - AFK 状态指令(
/afk) - 重置 AFK 计时器(
/afk reset) - 列出 AFK 玩家(
/afk whois) - 可选的自动踢出功能
- 基于权限的绕过(管理员不会被踢)
- 重载安全的调度(无需重启服务器)
📦 安装
- 构建插件 JAR 文件
- 将 JAR 文件放入服务器的
mods/目录 - 启动服务器
- 编辑插件数据文件夹中的
config.json - 使用命令重载插件:/afk reload
⚙️ 配置(config.json)
所有值均基于 秒,便于阅读并减少服务器影响。
{
"checkEverySeconds": 5,
"afkAfterSeconds": 180, "kickEnabled": false,
"kickAfterSeconds": 600,
"warnBeforeKickSeconds": 30,
"moveEpsilon": 0.08,
"afkMessage": "[AFK] 你现在处于 AFK 状态。",
"backMessage": "[AFK] 欢迎回来!",
"warnMessage": "[AFK] 请移动,否则你将被踢出。",
"kickMessage": "因 AFK 时间过长被踢出。",
"bypassPermission": "afk.bypass",
"reloadPermission": "afk.reload",
"enableCommand": true
}
⌨️ 指令
| 指令 | 描述 |
|---|---|
/afk |
显示你的 AFK 状态 |
/afk reset |
重置你的 AFK 计时器 |
/afk reload |
重载 config.json |
/afk whois |
列出所有 AFK 玩家 |
/afk whois <名称> |
显示指定玩家的 AFK 状态 |
权限
| 权限 | 描述 |
|---|---|
afk.bypass |
免于 AFK 踢出 |
afk.reload |
允许使用 /afk reload 和 /afk whois |
工作原理
- 按可配置的间隔(默认 5 秒)检查玩家
- 超过小阈值的水平移动被视为活动
- 闲置足够长时间后,玩家被标记为 AFK
- 可选的警告和踢出功能使用 原生服务器指令
- 所有逻辑均在 主世界线程 上安全运行
兼容性与设计
- 专为现代 Hytale 服务器构建
- 避免脆弱的 API 依赖
- 在版本间 API 不同时使用反射
- 无需重启服务器即可安全重载。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。