SAFK

SAFK

SAFK 是一个轻量可靠的 Minecraft Fabric 服务器挂机管理模组,具有玩家挂机状态、可见挂机指示、自动孤岛清理、管理控制以及多语言支持等功能。

SAFK

SAFK 是一个轻量级的 Minecraft Fabric 服务器挂机管理模组。

它提供了一个简单可靠的挂机系统,具备自动玩家检测、可见挂机指示器、管理控制、自动语言支持,以及针对断连、重启或意外服务器崩溃后遗留指示器的保护机制。

该模组旨在保持轻量并仅需极少配置。

主要功能

自动挂机检测

SAFK 会自动检测玩家在配置的时间内是否处于非活动状态。

当玩家进入挂机状态时:

  • 其挂机状态由服务器记录
  • 玩家上方会出现可见的挂机指示器
  • 其他玩家可以轻松识别他们当前已离开

当再次检测到活动时,挂机状态会自动移除。

玩家也可以手动更改其挂机状态,使用:

/afk

挂机指示器

挂机玩家会在其角色上方显示一个可见指示器。

每个指示器在内部与玩家的 UUID 关联,而不仅仅依赖于玩家名称。

这使 SAFK 能可靠地确定每个活动指示器的归属,并防止无关或重复的指示器残留在世界中。

自动孤立清理

SAFK 包含一个自动清理系统,旨在防止悬浮的挂机指示器永久卡在世界中。

服务器会持续验证现有的 SAFK 指示器。

在以下情况下,指示器会被自动移除:

  • 其玩家不再在线
  • 其所有者不再处于挂机状态
  • 关联的玩家 UUID 无效
  • 玩家断开连接
  • 玩家重生
  • 指示器与其所有者脱离
  • 服务器重启后遗留了旧的指示器
  • 意外服务器崩溃后遇到旧的指示器

这也适用于未加载区块中先前保存的指示器。

当这些区块再次加载时,SAFK 会验证指示器,若不再有有效的挂机玩家与之关联,则将其移除。

服务器重启与崩溃恢复

SAFK 并非完全依赖正常的断连事件。

这一点很重要,因为诸如以下意外情况:

  • 服务器崩溃
  • 进程强制终止
  • 机器关机
  • 意外的托管重启

可能会阻止正常清理事件运行。

SAFK 在服务器启动时以及服务器运行期间执行额外验证。

不再属于有效挂机玩家的旧挂机指示器会被自动丢弃。

管理控制

服务器管理员可以使用以下命令管理 SAFK:

/adminafk

还提供一个手动清理命令:

/adminafk cleanup

葡萄牙语别名:

/adminafk limpar

清理过程会移除已加载的 SAFK 指示器,并仅恢复当前应为有效挂机玩家存在的指示器。

这为管理员提供了额外的恢复选项,而无需重启服务器。

命令

命令 权限 功能
/afk 玩家 更改玩家的挂机状态
/adminafk 管理员 打开 SAFK 管理控制
/adminafk cleanup 管理员 清理并验证挂机指示器
/adminafk limpar 管理员 清理命令的别名

自动语言检测

SAFK 会自动使用每个玩家在 Minecraft 中选择的语言。

模组内部没有单独的语言设置。

当前包含的语言:

语言 Minecraft 代码
英语 en_us
葡萄牙语,巴西 pt_br
西班牙语 es_es
日语 ja_jp
简体中文 zh_cn
印地语 hi_in
阿拉伯语 ar_sa

连接到同一服务器的不同玩家可以同时以不同语言接收 SAFK 消息。

如果玩家选择的语言不受支持,SAFK 会自动回退到 en_us。

轻量设计

SAFK 专为长期运行的 Minecraft 服务器设计。

挂机系统避免不必要的复杂性,同时仍持续验证玩家状态和挂机指示器。

清理系统自动运行,无需管理员不断管理遗留实体。

数据可靠性

挂机指示器与玩家 UUID 关联并由服务器验证。

SAFK 在允许指示器保持活动之前,会验证其是否仍拥有有效所有者。

这有助于防止:

  • 重复的指示器
  • 没有玩家的指示器
  • 崩溃后遗留的旧指示器
  • 断连后残留的指示器
  • 重生后错误的挂机状态
  • 没有有效所有者的持续悬浮文本

兼容性

SAFK 适用于:

Minecraft 1.20.1
Minecraft 1.21.1

加载器:

Fabric

该项目为每个受支持的 Minecraft 版本维护单独的版本构建,同时保持相同的 SAFK 行为与配置。

项目信息

模组: SAFK

作者: Silas T.

Minecraft: 1.20.1 / 1.21.1

加载器: Fabric

许可协议: 保留所有权利