游戏时间追踪器 + 用户界面 + 排行榜!

游戏时间追踪器 + 用户界面 + 排行榜!

PlaytimeTracker 是一款专为现代 Hytale 服务器设计的高性能游戏时长插件。具备完全交互式的自定义用户界面、实时会话追踪、排行榜、权限管理以及优化的缓存机制——专为可扩展性和稳定性而构建。

实用

PlaytimeTracker

PlaytimeTracker 是一款为 Hytale 服务器开发的高性能游戏时间追踪插件,支持实时追踪、离线支持、动态奖励和整洁的自定义 UI 页面——且不会因每刻运算造成卡顿。

它通过基于会话的计时方式(加入→退出计算 + 智能缓存)来追踪游戏时间,能在极低的服务器开销下提供准确的统计数据。

PlaytimeTracker 未与任何其他模组或开发者关联。 引用其他模组仅出于兼容性或数据迁移目的。 只有由 Ardent 创建和发布的项目才与 PlaytimeTracker 有官方关联。


PlaytimeTracker 1.0.9 —— 排行榜隐私与奖励UI更新

本次更新增加了对排行榜显示人员的更好控制,并让玩家更容易访问奖励 UI。

服务器所有者和管理员现在可以将选定玩家从排行榜排名中隐藏,同时仍保留对其游戏时间的完整追踪。

新增

排行榜隐私

现在可以将玩家从排行榜中隐藏,而无需禁用游戏时间追踪。

被隐藏的玩家仍保留:

  • 总游戏时间
  • 当前会话时间
  • 每日、每周、每月和每年的统计数据
  • 奖励进度
  • 奖励领取
  • 正常仪表盘访问

被隐藏的玩家现在会在其仪表盘上显示未排名

被隐藏的玩家不再出现在:

  • /playtime top
  • Playtime UI 排行榜
  • 排名计算中
  • 排名占位符中

被隐藏的玩家不再占据排行榜位置。

排行榜可见性更改会立即生效,并在服务器重启后持久保持。

隐藏或显示玩家时,不会删除、重置或修改任何现有的游戏时间数据。

直接奖励 UI 命令

玩家现在可以使用以下命令直接打开奖励页面:

/playtime rewardsui

这会跳过主仪表盘,并立即打开现有的面向玩家的奖励 UI。

该命令使用现有的 UI 权限:

playtime.use
playtime.ui

原始命令保持不变:

/playtime ui

打开 PlaytimeTracker 主仪表盘。

/playtime rewards

显示现有的基于聊天的奖励进度信息。

新命令也已在奖励管理员关于/帮助页面中记录。

新的管理员命令

/playtime leaderboard hide <玩家>
/playtime leaderboard show <玩家>
/playtime leaderboard status <玩家>

这些命令适用于在线玩家以及之前被追踪过的离线玩家。

新权限

playtime.leaderboard.manage

允许受信任的管理员使用排行榜管理命令。

playtime.leaderboard.hidden

在追踪玩家的同时将其排除在排行榜排名之外。

普通玩家无法访问新的管理命令,除非被授予所需的权限。

说明

/playtime leaderboard hide <玩家> 将该玩家添加到 PlaytimeTracker 保存的隐藏玩家列表中。

/playtime leaderboard show <玩家> 将该玩家从 PlaytimeTracker 保存的隐藏玩家列表中移除。

如果某个玩家在使用 show 命令后仍然拥有确切的权限,则该玩家可能仍会保持隐藏状态:

playtime.leaderboard.hidden

show 命令不会从 Hytale 的权限系统中移除权限。

通配符权限如 *playtime.* 不会自动隐藏管理员或工作人员。

被隐藏的玩家会正常继续获得和保存游戏时间。

隐藏或显示玩家不会删除、重置、暂停或修改其现有游戏时间。

只要离线玩家之前已被 PlaytimeTracker 追踪过,就可以对其进行管理。

使用以下命令检查玩家当前被隐藏或可见的原因:

/playtime leaderboard status <玩家>

推荐设置

授予受信任的管理员以下权限:

playtime.leaderboard.manage

使用 hide 和 show 命令进行常规的排行榜管理。

仅当希望某个玩家通过直接权限或权限组保持隐藏时,才使用 playtime.leaderboard.hidden

说明

  • hide 命令使用 PlaytimeTracker 自身持久化的隐藏玩家列表,并会立即生效。
  • show 命令仅移除 PlaytimeTracker 保存列表中的排除项。
  • 如果某个玩家拥有确切的 playtime.leaderboard.hidden 权限,则该玩家可能仍会保持隐藏状态。
  • show 命令不会从 Hytale 的权限系统中移除权限。
  • 通配符权限如 *playtime.* 不会自动隐藏管理员或工作人员。
  • 只要离线玩家之前已被 PlaytimeTracker 追踪过,就可以对其进行管理。
  • 被隐藏的玩家会正常获得游戏时间。
  • 隐藏或显示玩家不会重置或移除其保存的游戏时间。
  • 使用 /playtime leaderboard status <玩家> 查看玩家是被保存列表、确切权限还是两者共同隐藏。
  • 本次更新未重新设计现有 UI。

版本 1.0.8 新内容

针对最新的 Hytale 服务器版本进行更新

PlaytimeTracker 已更新以兼容最新的 Hytale 服务器变更。

本次更新修复了在最近的 Hytale 服务器更新后出现的几个与 API 相关的问题,并恢复了服务器所有者和玩家的插件正常功能。

Hytale 兼容性修复

已修复以下问题:

  • 修复了由更新的 Hytale 权限处理导致的 /playtime 命令错误
  • 修复了由更新的玩家名称 API 变更导致的玩家加入错误
  • 修复了 Hytale 在线玩家 API 变更后的自动奖励循环问题
  • 针对最新支持的 Hytale 服务器 API 重建了插件
  • 恢复了稳定的游戏时间追踪、奖励检查和菜单访问

更新的游戏时间仪表盘

/playtime 仪表盘已获得视觉刷新。

变更包括:

  • 更简洁的深海军蓝和炭黑色布局
  • 改进的间距和对齐
  • 更新的游戏时间统计部分
  • 改进的服务器排名显示
  • 更简洁的玩家搜索部分
  • 改进的按钮样式
  • 菜单内更好的视觉一致性

玩家可以使用以下命令打开仪表盘:

/playtime

更新的奖励菜单

玩家奖励菜单也已获得视觉刷新。

变更包括:

  • 更简洁的奖励行布局
  • 改进的状态可见性
  • 更新的领取按钮
  • 改进的间距和底部导航
  • 与主仪表盘更好的视觉一致性

奖励状态现在更清晰:

  • READY 奖励以绿色显示
  • LOCKED 奖励以柔和的灰蓝色显示
  • CLAIMED 奖励以柔和的金色显示

玩家可以使用以下命令打开奖励菜单:

/playtime rewards

更新的排行榜菜单

游戏时间排行榜已获得视觉刷新。

变更包括:

  • 更简洁的玩家行
  • 改进的排名可见性
  • 清晰的在线和离线状态标签
  • 改进的游戏时间显示
  • 更新的导航按钮
  • 更好的间距和布局一致性

玩家可以使用以下命令打开排行榜:

/playtime top

更新的奖励管理面板

奖励管理面板也已获得视觉更新。

服务器管理员可以继续:

  • 创建奖励
  • 编辑现有奖励
  • 删除奖励
  • 配置奖励要求
  • 配置奖励周期
  • 配置重置或一次性奖励
  • 更新奖励描述
  • 直接从管理面板保存更改

管理员面板可以使用以下命令打开:

/playtime adminui

现有的管理员追踪开关

服务器管理员可以在不重启服务器的情况下启用或禁用管理员游戏时间追踪。

该设置可在以下位置更改:

plugins/PlaytimeTracker/config.yml
tracking:
  track-ops: true

更改值后,运行:

/playtime reload

行为:

  • 启用时,管理员立即开始追踪游戏时间
  • 禁用时,管理员立即停止被追踪
  • 该更改会立即应用于已在线的玩家

简要说明

我为更新之间的延迟表示歉意。

我目前在建筑行业工作,通常周一至周五不在家,这使得我难以像我希望的那样及时跟进更新。

我最近购买了一台笔记本电脑,以便在外出工作期间也能继续开发 PlaytimeTracker。展望未来,我计划更频繁地发布兼容性修复和改进。

感谢您的耐心等待和使用 PlaytimeTracker。

版本 1.0.8 完整摘要

  • 针对最新的 Hytale 服务器版本进行更新
  • 修复了 /playtime 命令的兼容性错误
  • 修复了玩家加入的兼容性错误
  • 修复了自动奖励循环
  • 更新了玩家名称处理
  • 更新了权限处理
  • 更新了在线玩家迭代
  • 刷新了主游戏时间仪表盘
  • 刷新了奖励菜单
  • 修复了奖励状态颜色
  • 刷新了排行榜菜单
  • 刷新了奖励管理面板
  • 保留了现有配置和奖励行为

-----------------------------------------------

版本 1.0.6 新内容

实时管理员追踪开关

服务器管理员现在可以实时切换管理员游戏时间追踪,无需重启服务器。

该设置可在以下位置更改:

plugins/PlaytimeTracker/config.yml
tracking:
  track-ops: true/false

更改值后,只需运行:

/playtime reload

行为:

  • 启用时,管理员立即开始追踪游戏时间
  • 禁用时,管理员立即停止被追踪
  • 该更改会立即应用于已在线的玩家

这确保了游戏时间追踪的准确性,无需玩家重新连接。


完全可自定义的 UI 文本

所有 PlaytimeTracker 界面现在都可以直接在 config.yml 中进行配置,允许服务器自定义或翻译插件 UI,而无需编辑插件文件。

现在可以修改以下 UI 文本:

  • 仪表盘 UI
  • 奖励 UI
  • 排行榜 UI
  • 奖励管理 UI

服务器所有者可以自定义:

  • UI 标题和页眉
  • 按钮标签(NEXT、PREV、BACK、CLOSE、CLAIM 等)
  • 奖励状态文本(READY / LOCKED / CLAIMED)
  • 搜索占位符和验证消息
  • 排名格式和前缀
  • 要求和奖励标签
  • 管理员编辑器字段描述
  • 导航标签和页面指示器

由于 UI 文本现在完全可通过配置文件进行配置,服务器可以轻松:

  • 将插件翻译成任何语言
  • 调整措辞以匹配服务器主题
  • 为工作人员团队自定义管理工具
  • 修改按钮标签或描述以提高清晰度

所有 UI 自定义选项位于:

plugins/PlaytimeTracker/config.yml

改进的重载行为

/playtime reload 命令现在可以安全地刷新配置更改,而不会中断玩家会话。

追踪设置和 UI 自定义等配置更新在插件重载时立即生效。

无需服务器重启。

版本 1.0.5 新内容

命令别名

已添加简短的命令别名,以便更快地使用命令。

这些别名完全支持所有 PlaytimeTracker 命令和子命令。

别名:

/pt
/ptime

示例:

/pt help
/pt ui
/pt rewards
/pt claim
/ptime top
/ptime import

所有权限和管理员限制保持不变。

导入系统

PlaytimeTracker 支持从以下来源导入游戏时间:

Advanced Playtime & Rewards SQLite 数据库(自动检测)

来自导入文件夹的通用导入文件(CSV / JSON / YAML)

请参阅下面的导入详细信息

导入系统(部分)

↓↓↓↓↓↓↓↓↓↓


内置帮助命令

添加了游戏内帮助系统,以便快速查看可用命令。

玩家帮助:

/playtime help

管理员帮助:

/playtime help admin

/playtime help 显示所有可用的玩家命令。

/playtime help admin 显示管理命令,包括奖励管理、导入和系统工具。

管理员帮助仅限于拥有 playtime.admin 权限的用户。


图片 / 展示

(推荐:仪表盘、排行榜、奖励通知弹窗、奖励 UI、管理 UI)

游戏时间 UI 游戏时间 UI

排行榜 UI 排行榜 UI

奖励 UI 奖励 UI

管理 UI 管理 UI


主要特性

性能优先

基于会话的追踪(无刻级垃圾操作) 自动保存批处理(默认:每 5 分钟) 排行榜缓存(默认:每 60 秒刷新) 高效的内存查找 + 安全的磁盘保存 无每刻级处理


玩家 + 离线支持

检查在线或离线玩家的游戏时间 基于 UUID 的存储(长期稳定) 持久的 JSON 存储 如果缺失,安全地自动重新创建玩家记录


交互式自定义 UI

专为 PlaytimeTracker 设计的更新 UI 页面: 带有实时会话时间和排名的仪表盘 UI 带有分页和排序的交互式排行榜和奖励 UI 内置玩家搜索 + HOME 按钮 排行榜和默认 UI 视图上的前三名高亮 在线/离线指示点 扩展的颜色支持和改进的视觉样式


高级奖励系统

奖励系统完全可配置,并且可通过游戏内命令和管理 UI 由管理员控制:

/playtime adminUI

奖励周期类型

每日 每周 每月 每年


奖励模式

reset → 玩家可以在周期重置后再次获得该奖励 once → 仅限一次性奖励

(默认模式:reset)


奖励领取系统

玩家可以:

领取所有可用奖励:

/playtime claim

按 ID 领取特定奖励:

/playtime claim <id>

通过 /playtime ui(奖励页面)领取奖励

玩家在完成时也会收到弹窗通知。

奖励支持带占位符的控制台执行。


多命令奖励支持

每个奖励可以执行多个控制台命令。

管理员命令格式

/playtime admin addReward (id) (period) (minutes) ("command1, command2") --mode=reset 或 once

示例

/playtime admin addReward AnnounceTest3 daily 1 "ha broadcast totalplayers, eco give 10000 %player%" --mode=reset

逗号分隔 命令用引号括起来 支持命令内的空格 向后兼容单命令用法 推荐:使用 /playtime adminUI 进行奖励管理。


命令

玩家命令

/playtime
/playtime help
/playtime check <玩家>
/playtime ui
/playtime top
/playtime top <页码>
/playtime rewards
/playtime claim
/playtime claim <奖励ID>

命令别名:

/pt
/ptime

管理员命令

/playtime adminUI

打开交互式奖励管理 UI。

管理员可以: 查看所有奖励 查看周期 + 所需时间 编辑奖励设置 创建新奖励 管理奖励模式 无需编辑文件即可组织奖励

其他管理员命令:

/playtime help admin
/playtime reload
/playtime sounds
/playtime reset <玩家>
/playtime set <玩家> <时间>
/playtime admin addReward
/playtime admin listRewards
/playtime admin removeReward <id>

/playtime set 时间格式

支持的格式:

10h
2h30m
1d4h
3d
45m
1d2h30m15s

单位: d = 天 h = 小时 m = 分钟 s = 秒


导入系统

PlaytimeTracker 支持从以下来源导入游戏时间:

Advanced Playtime & Rewards SQLite 数据库(自动检测)

来自导入文件夹的通用导入文件(CSV / JSON / YAML)


命令

默认导入(首先自动检测 AdvancedPlaytime 数据库,否则使用导入文件夹):

/playtime import

支持的导入标志

此命令支持现代参数标志。

设置模式

/playtime import --mode=keep-highest
/playtime import --mode=overwrite
/playtime import --mode=add

干运行预览(不保存)

/playtime import --dryrun=true

从导入文件夹导入特定文件

/playtime import --file=yourfile.csv

导入模式

keep-highest(默认) 保留现有游戏时间和导入游戏时间中的较高值。

overwrite 用导入的值替换现有游戏时间。

add 将导入的游戏时间添加到现有游戏时间总额中。


导入文件夹

如果要导入非数据库文件,请将数据放在以下位置:

plugins/PlaytimeTracker/import/

支持的文件类型:

.csv .json .yml .yaml

这些文件应包含来自之前游戏时间插件的玩家到游戏时间数据。

将文件放入文件夹后,运行:

/playtime import

PlaytimeTracker 将自动检测并处理这些文件。


自动 AdvancedPlaytime 数据库导入

如果服务器上存在 AdvancedPlaytime & Rewards SQLite 数据库,PlaytimeTracker 将自动检测并直接导入数据。

在这种情况下,您只需运行:

/playtime import

无需手动放置文件。


迁移步骤(推荐)

从其他游戏时间插件迁移时,请遵循以下步骤。

步骤 1 确保先前游戏时间模组/插件的数据文件夹仍存在于服务器上。 不要删除数据文件夹。

步骤 2 将 PlaytimeTracker 安装到服务器的 Mods 文件夹中。 删除旧的游戏时间插件 .jar 文件,但保留先前插件的数据文件夹。

步骤 3 在安装 PlaytimeTracker 的情况下启动一次服务器。

步骤 4 如果之前的插件使用了 SQLite 数据库(DB 文件): 运行:

/playtime import

PlaytimeTracker 将自动检测并导入数据库。

步骤 5 如果之前的插件使用 CSV / JSON / YAML 数据文件而不是数据库: 将游戏时间文件放入:

plugins/PlaytimeTracker/import/

然后在游戏中运行:

/playtime import

步骤 6(重要)

成功导入后,删除所有旧的数据库文件和之前游戏时间插件的遗留文件。

这包括:

SQLite .db 文件

旧游戏时间插件数据文件夹

之前游戏时间模组/插件的任何剩余文件

如果这些文件保留在服务器上,PlaytimeTracker 可能会再次检测到它们,并将服务器视为迁移环境,这可能导致 UI 显示玩家离线或未追踪。

删除旧的数据库/文件可确保 PlaytimeTracker 正常开始追踪游戏时间。


导入备份

在应用导入时(不使用干运行模式),PlaytimeTracker 会自动创建现有游戏时间数据的备份。

备份位置:

plugins/PlaytimeTracker/data/

这确保了在需要时可以恢复您的数据。


此版本现在: ✔ 保留您的整个原始部分完整 ✔ 清晰解释数据库与文件导入 ✔ 添加安全迁移步骤(对服务器所有者非常重要) ✔ 防止管理员意外删除其旧数据

如果需要任何帮助,请随时在 DISCORD 上评论或私信我!


权限

权限 描述
playtime.use 基本 /playtime 命令
playtime.check 检查其他玩家
playtime.ui 打开仪表盘 UI
playtime.top 打开排行榜
playtime.admin 所有管理员工具
playtime.rewards 访问奖励命令

兼容:

  • LuckPerms
  • permissions.json
  • 标准 Hytale 权限系统

占位符支持

内置占位符引擎,可用于:

  • 奖励命令
  • UI 文本
  • 配置文件
  • 未来的 HUD 系统

支持的占位符:

  • %player%
  • %playtime_total%
  • %playtime_total_short%
  • %playtime_total_seconds%
  • %playtime_session%
  • %playtime_session_short%
  • %playtime_session_seconds%
  • %playtime_rank%
  • %playtime_online%
  • %playtime_online_dot%

配置

配置文件:

  • plugins/PlaytimeTracker/config.yml

包括:

  • 自动保存间隔
  • 时间格式样式
  • 排行榜页面大小
  • 缓存持续时间
  • 奖励弹窗图标
  • 奖励弹窗声音
  • 调试模式
  • 奖励完成消息开关

奖励通知设置(示例)

rewards:
  messages:
    reward-completed-enabled: true
  notification:
    icon: 'Ingredient_Ice_Essence'
    sound-enabled: true
    sound: 'SFX_Discovery_Z1_Medium'
    sound-category: 'UI'

允许的声音文件:

  • plugins/PlaytimeTracker/sounds_allowed.txt

完全可编辑的消息系统

文件:

  • plugins/PlaytimeTracker/data/messages.json

可自定义的消息包括:

  • 领取成功
  • 已领取
  • 奖励未找到
  • 无权限
  • 奖励进度
  • 管理员反馈
  • 重置消息
  • 清除确认

支持:

  • & 颜色代码
  • § 代码
  • HEX 颜色

无需重启 — 使用 /playtime reload


数据存储

配置:

  • plugins/PlaytimeTracker/config.yml

数据文件:

  • plugins/PlaytimeTracker/data/playtime.json
  • plugins/PlaytimeTracker/data/messages.json
  • plugins/PlaytimeTracker/rewards.json
  • plugins/PlaytimeTracker/reward_claims.json
  • plugins/PlaytimeTracker/rewards_pending.json

安装

  1. 下载最新的 .jar 文件
  2. 将其放入服务器的 mods 文件夹
  3. 重启一次服务器
  4. 文件将自动生成
  5. 将来的配置编辑使用 /playtime reload

支持

CurseForge 评论受支持 — 欢迎提供反馈,这有助于插件不断改进。

Discord: ardent6971 (发消息时请介绍自己。)


更新日志

版本 1.0.6

发布日期:2026年3月6日

重要说明

如果安装新的 .jarconfig.yml 未更新,只需删除现有的 config.yml 并运行:

/playtime reload

插件将自动生成新的 config.yml


追踪配置

tracking.track-ops 选项现在在插件重载时立即更新。

服务器管理员现在可以通过在以下位置设置 truefalse 来实时切换管理员追踪:

Server/plugins/PlaytimeTracker/config.yml

tracking.track-ops 更改时:

  • 启用时,管理员将立即开始追踪游戏时间
  • 禁用时,管理员将立即停止被追踪

此更新还确保更改正确地应用于已在线的玩家,防止错误的游戏时间追踪直到下次重新连接。


附加说明

如果管理员或工作人员在禁用追踪之前已经累积了游戏时间,您应该重置他们的游戏时间,以便追踪正确开始。

示例:

/playtime reset <玩家>

UI 自定义系统

所有 PlaytimeTracker 用户界面现在都可以通过 config.yml 完全配置。

服务器所有者可以自定义 UI 文本、标签、按钮和消息,而无需编辑插件文件或重新编译插件。

这允许直接从以下位置进行完整的本地化和特定服务器的措辞:

plugins/PlaytimeTracker/config.yml

以下 UI 系统现在支持完全自定义:

  • 仪表盘 UI
  • 奖励 UI
  • 排行榜 UI
  • 奖励管理 UI

服务器所有者现在可以修改:

  • UI 标题
  • 按钮标签(NEXT、PREV、BACK、CLOSE、CLAIM 等)
  • 状态文本(READY / LOCKED / CLAIMED)
  • 页面指示器和导航文本
  • 搜索占位符和验证消息
  • 会话状态文本(如“离线”)
  • 排名显示格式和前缀
  • 奖励 UI 中的要求和奖励标签
  • 管理 UI 编辑器字段标签和帮助描述

由于 UI 文本现在完全通过 config.yml 控制,服务器可以:

  • 将插件翻译成任何语言
  • 调整措辞以匹配服务器主题
  • 为工作人员团队自定义管理工具
  • 修改按钮标签和描述以提高清晰度

该系统确保 PlaytimeTracker 中的每个主要 UI 页面都可以本地化或自定义,而无需修改插件本身。


性能与稳定性

改进了内部追踪刷新逻辑,使配置重载能够安全地更新游戏时间系统,而不会中断玩家会话。

未更改任何权限节点或命令结构。


版本 1.0.5

发布日期:2026年3月3日

导入系统

添加了完整的游戏时间迁移/导入系统,允许服务器安全地从其他游戏时间插件迁移。

支持从以下来源导入:

  • Advanced Playtime & Rewards SQLite 数据库(自动检测)
  • 通用 CSV / JSON / YAML 导入文件

导入命令:

/playtime import

导入命令标志

为灵活的导入添加了现代参数标志。

模式选择:

/playtime import --mode=keep-highest
/playtime import --mode=overwrite
/playtime import --mode=add

预览导入而不保存:

/playtime import --dryrun=true

从导入文件夹导入特定文件:

/playtime import --file=<文件名>

导入模式

keep-highest(默认) 绝不会降低玩家的游戏时间。使用导入值和现有总额中的较高值。

overwrite 用导入的值替换现有游戏时间。

add 将导入的游戏时间添加到现有游戏时间总额中。


导入文件夹支持

添加了通用导入文件夹支持:

plugins/PlaytimeTracker/import/

支持的文件格式:

  • .csv
  • .json
  • .yml
  • .yaml

允许管理员从自定义插件或手动导出迁移游戏时间。


自动数据库检测

PlaytimeTracker 在存在时自动检测 AdvancedPlaytime SQLite 数据库文件。

如果检测到,数据库会自动使用以下命令导入:

/playtime import

无需手动放置文件。


导入安全备份

在应用导入时(不使用 --dryrun),PlaytimeTracker 现在会创建现有游戏时间数据的备份。

备份位置:

plugins/PlaytimeTracker/data/

这确保了如果需要回滚迁移,可以安全恢复。


迁移改进

为从其他游戏时间插件切换的服务器添加了推荐的迁移工作流程。

迁移过程: 保留之前游戏时间插件的现有数据文件夹。 安装 PlaytimeTracker 并移除旧的游戏时间插件 .jar 文件。 在安装 PlaytimeTracker 的情况下启动一次服务器。 运行:

/playtime import

PlaytimeTracker 将自动检测并导入数据库。

如果之前的插件使用 CSV / JSON / YAML 文件而不是数据库,将文件放入:

plugins/PlaytimeTracker/import/

然后运行:

/playtime import

重要迁移说明

成功导入后,服务器必须删除所有旧的数据库文件和之前游戏时间插件的遗留文件。

这包括:

  • SQLite .db 文件
  • 旧游戏时间插件数据文件夹
  • 之前插件的任何剩余文件

如果旧数据库文件保留在服务器上,PlaytimeTracker 可能会再次检测到它们,并将环境视为迁移状态,这可能导致 UI 显示玩家离线或未追踪。

删除旧的数据库/文件可确保 PlaytimeTracker 正常开始追踪游戏时间。


命令别名

已添加简短的命令别名,以便更快地使用命令。

别名:

/pt
/ptime

示例:

/pt help
/pt ui
/pt rewards
/pt claim
/ptime top
/ptime import

所有权限和管理员限制保持不变。


内置帮助命令

添加了游戏内帮助系统,以便快速查看可用命令。

玩家帮助:

/playtime help

管理员帮助:

/playtime help admin

/playtime help 显示所有可用的玩家命令。 /playtime help admin 显示管理命令,包括奖励管理、导入和系统工具。

管理员帮助仅限于拥有 playtime.admin 权限的用户。


版本 1.0.4

发布日期:2026年3月2日

重大奖励扩展

添加了多命令奖励支持 添加了领取特定奖励:/playtime claim 添加了奖励模式支持(reset / once) 添加了 --mode= 标志解析 改进了带引号条目的命令解析 奖励的内部命令列表存储 改进了奖励执行可靠性

管理 UI

添加了 /playtime adminUI 交互式奖励管理系统 奖励编辑器和奖励列表之间的清晰分离 改进了布局组织

消息系统升级

扩展了 messages.json 自定义 添加了奖励领取结果消息 添加了错误反馈消息 改进了管理员反馈格式

稳定性改进

修复了奖励自动领取边缘情况 改进了奖励就绪验证 改进了离线奖励处理 优化了奖励周期计算 改进了重载安全性

奖励系统

/playtime rewards 进度 UI /playtime claim /playtime admin addReward /playtime admin listRewards /playtime admin removeReward 控制台命令执行支持 奖励弹窗通知系统 可配置的图标和声音 声音浏览系统(/playtime sounds)


版本 1.0.3

发布日期:2026年2月下旬

维护更新

将构建更新到最新的兼容服务器 jar 版本 为稳定性一致性进行了小幅打包更新


版本 1.0.2

发布日期:2026年2月18日

新增 – 交互式 UI 仪表盘 (/playtime ui)

总游戏时间显示 当前会话时间(实时更新) 服务器排名 在线/离线状态指示点 直接访问排行榜 UI 内置玩家搜索系统 HOME 按钮返回个人资料 完全风格化的自定义界面

玩家搜索系统(仪表盘)

在仪表盘 UI 内搜索任何被追踪的玩家 GO 按钮或按 Enter 键 将仪表盘切换到被搜索的玩家 HOME 返回自身 搜索栏下方内联验证消息(无聊天刷屏) 不区分大小写 适用于在线和离线玩家

实时在线状态指示器

绿色 = 在线 红色 = 离线 实时更新 状态颜色与前三名高亮颜色分离

交互式排行榜 UI

/playtime top 打开交互式自定义 UI 分页支持 排序模式:总计 / 会话 / 周 实时“最后更新”指示器 在线/离线状态指示器 前三名高亮(独特的颜色系统) 仪表盘和排行榜之间一致的样式

权限系统

playtime.use playtime.ui playtime.check playtime.top playtime.admin

重载命令

添加了 /playtime reload(管理员) 重载 config.yml 安全刷新排行榜缓存 无需重启

性能改进

改进了排名缓存性能 优化了 UI 更新 tick 处理 减少了不必要的 UI 重绘

内部改进

为扩展提供了更清晰的命令结构 更好的 UI 逻辑和后台分离 稳定了计划任务 UI 更新执行器


版本 1.0.1

发布日期:2026年2月12日

改进

排行榜缓存的后端优化 改进了排行榜格式的一致性 轻微的内部性能清理 离线玩家数据处理稳定性改进


版本 1.0.0 – 初始发布

发布日期:2026年2月4日

功能

基于会话的游戏时间追踪,零性能影响 /playtime 命令查看自己的游戏时间 /playtime check <玩家> /playtime top [页码] 排行榜,支持分页 离线玩家支持 可配置的排行榜缓存(默认:60 秒) 可配置的时间格式(详细或简单) 自动保存系统(默认:每 5 分钟) 重启间的持久数据存储