SEKURY 备份、日志和安全管理器

SEKURY 备份、日志和安全管理器

Hytale插件,具备基于网页的用户界面,用于日志管理、调试监控,以及兼容S3的备份系统。

实用

Sekury – 服务器安全与综合管理套件

新用户命令: /report

English | Deutsch

中文说明

Sekury 是一款为 Hytale 服务器打造的全方位安全、备份及管理插件。它整合了网页仪表盘、自动备份、日志记录、反作弊系统、集群支持、玩家背包管理以及完整的权限体系——所有功能集于一身。

⚠️ SSL 警告:若你的集群节点不在同一网络中,请启用 SSL 以保护 API 端点。

数据库支持

支持 MariaDB、MySQL、SQLite 和 MongoDB。内置迁移工具,可在不同数据库类型间切换且不丢失数据。模式更新在启动时自动完成。(MongoDB 为实验性支持)

设置

首次启动时,浏览器中的设置向导将引导你完成数据库配置和管理员用户创建。无需手动编辑配置文件。

认证与安全

  • 双因素认证(TOTP)及恢复密钥
  • BCrypt 密码哈希
  • API 密钥管理,含时序攻击防护
  • Cloudflare Turnstile 机器人防护
  • 可配置的按端点类型速率限制
  • 安全标头(HttpOnly、Secure、SameSite、CSP、X-Frame-Options)
  • 会话管理,支持 Cookie 和 Bearer Token

权限与组

  • 基于角色的系统,支持组继承和循环检测
  • 30 多个细粒度权限键
  • 集群设置的节点级权限
  • 设置项会根据用户权限自动过滤
  • 默认组:管理员、版主、查看者(可自定义)
  • 仪表盘中的可视化权限编辑器

用户管理

创建、编辑、删除用户。分配组、强制修改密码、查看二因素认证状态——全部通过网页界面完成。

备份

  • 定时或手动备份,支持本地或兼容 S3 的存储(AWS、MinIO、R2 等)
  • 分段上传,含重试和指数退避
  • 保留限制及自动清理
  • 通过 SSE 实时显示进度(阶段、百分比、字节数)
  • 完整的备份历史记录,支持过滤(触发方式、状态、服务器)
  • 从仪表盘下载和删除
  • 集群支持——从控制器触发任何节点上的备份

日志记录

  • 系统、聊天、命令、网络和行为日志(方块破坏/放置、物品丢弃/拾取、游戏模式、权限)
  • 通过 REST API 的外部应用日志记录,每个应用拥有独立的 API 密钥
  • 每条日志条目都记录来源服务器
  • 过滤器:日期范围、级别、玩家、关键字、服务器、操作类型
  • 自动刷新(可暂停/恢复),保留滚动位置
  • 按日期范围、类型和服务器批量删除

集群模式

  • 控制器/节点架构,含心跳和自动清理
  • 集中式日志聚合和组合仪表盘
  • 从控制器管理每个节点的设置
  • API 请求的代理穿透
  • 跨所有功能的服务器上下文切换

反作弊

  • X-Ray 检测,每种方块类型可配置阈值
  • 移动反作弊——速度、飞行、穿墙和传送检查,含违规等级、回退、可选踢出以及传送/速度推送后的宽限 tick。配置存储在日志数据库中(SQL 或 MongoDB)
  • 创造模式飞行强制(可选)——启用后,处于创造类游戏模式的玩家需要拥有 sekury.anticheat.motion.allowed.creative_flight 权限,飞行/速度检查才会被视为允许。默认为关闭,以保持向后兼容
  • 被标记玩家概览,含详细的标记历史(方块、原因、世界、坐标、时间戳)——支持 X-Ray 和移动标记类型,并提供深层链接
  • 控制台 + 游戏内工作人员的反作弊标记警报(权限控制,有冷却)
  • 封禁系统——永久或临时封禁,可直接从仪表盘操作
  • Sekury 封禁保护——防止其他系统移除 Sekury 的封禁
  • 通过 ECS 追踪方块事件
  • 聊天过滤器和聊天标记系统
  • 更多检测功能即将推出

玩家背包

  • 从仪表盘查看和编辑玩家背包(安全 → 玩家背包)
  • 支持在线玩家和来自 Hytale 玩家存储的离线 UUID
  • 可检查的格子:快捷栏、存储、护甲、工具、工具和背包
  • 在线编辑在世界线程上运行,并刷新客户端背包数据包
  • 离线编辑加载/保存玩家 BSON 文件(避免在玩家在线时编辑)
  • 物品类型选择器使用服务器注册的物品 ID,并提供可选的图标路径提示
  • 仪表盘权限:security.inventory.view / security.inventory.edit
  • REST API:/api/player-inventory/*

背包审计日志

  • 追踪工作人员操作(来自网页界面的背包编辑)和可选的实时游戏内背包/重复物品监控事件
  • 类别过滤器:全部、背包、重复监控
  • 紧凑表格视图(时间、操作者、操作、目标预览)
  • 详情模态框,含类别、操作者用户 ID、完整目标 UUID 和格式化 JSON 载荷
  • 需要日志数据库和 security.inventory.view 权限
  • 仪表盘:安全 → 背包审计日志
  • REST API:/api/security-tools/audit

系统命令

/system(别名 /sys)——需要 sekury.system 权限

命令 描述
getflags <玩家> 存储的反作弊标记(所有类型,包括移动)
xray list 来自数据库的 X-Ray 方块规则
xray add <方块类型> [最大值] [second|minute] 添加规则
xray remove <ID> 按 ID 移除
motion reload 从日志数据库重新加载移动设置(无需重启)
kick <玩家> [原因…] 仅断开连接(不封禁)
ban <玩家> [时长…] [原因…] 通过 Sekury → Hytale 封禁。无时长 = 永久。令牌:1d24h60m60s2w(可组合,例如 1d 12h
bans [过滤器] 显示活跃的 Hytale 封禁;标明 Sekury 反作弊来源与其他来源
logs [--level 级别] [--limit N] 此服务器实例的系统日志

移动反作弊权限(Hytale,JSON 格式权限)

权限节点 作用
sekury.anticheat.motion.admin 管理 / 重新加载
sekury.anticheat.motion.alerts 游戏内警报消息
sekury.anticheat.motion.bypass 完全绕过(+ bypass.speed.fly.noclip.teleport
sekury.anticheat.motion.allowed.creative_flight 当飞行强制启用时,服务器端 canFly 需要此权限才能被视为“允许”

网页仪表盘

  • Glassmorphism UI,响应式设计
  • 实时监控:状态、运行时间、玩家、世界、内存、 Tick 时间、每世界 TPS
  • 从仪表盘重置世界
  • 含服务器列表的集群概览
  • 安全面板:移动反作弊(设置 + 标记)、玩家背包、背包审计日志
  • 自动刷新,带实时指示器
  • 操作通知系统

文档

仪表盘内包含内置文档,涵盖 API、备份、数据库、权限和翻译。Markdown 渲染并带有语法高亮,跟随你所选的语言。

多语言支持

包含英语和德语。通过一个 JSON 文件和在 index.json 中添加一条记录,即可添加你自己的语言。切换语言无需重新加载页面。

外部应用 API

所有仪表盘端点均受会话保护。唯一的外部 API 用于应用日志记录:

  • POST /api/apps/register — 注册应用,获取 API 密钥
  • POST /api/apps/log/{apiKey} — 发送日志条目
{
  "level": "INFO",
  "keyword": "payment",
  "message": "User purchased item #1234"
}

日志会出现在仪表盘的 日志 → 应用 下。

开发者集成

  • WebServer 需要 XRayService + MotionAnticheatSettingsService
  • SekuryRuntime.initMotionAnticheatSettingsService 作为第四个参数
  • 一个日志后端:logDbType 选择 Mongo 或 SQL。对于 Mongo,getLogDbUrl() 返回的是 URI(非 JDBC)。使用 isLogDatabaseConfigured() 进行检查

安装

  1. sekury.jar 放入 plugins 文件夹
  2. 启动服务器
  3. 打开 http://localhost:8090
  4. 设置向导 → 数据库配置 → 管理员用户
  5. 在网页界面中配置其他所有内容

路线图

  • 玩家管理与分析
  • 服务器诊断与性能监控
  • 插件管理与自动更新
  • 更多反作弊检测
  • Webhook 通知(Discord、Slack)
  • 命令系统 / 自定义命令
  • 网页仪表盘的 SSO 集成

支持

遇到 Bug 或有功能需求?请留下评论或通过 Discord 联系我。通常在 24–48 小时内回复 🙂