主题
这页按 当前实现 汇总 HNSignIn 已可使用的命令入口。
玩家命令
/signin
text
/signin打开签到日历 GUI。
主命令别名实际上也包括:
text
/hnsignin
/hnsi
/signin玩家最常用的是 /signin。
补充说明:
- 玩家可使用
/signin、/hnsignin或/hnsi打开 GUI - 控制台执行不带参数的
/hnsignin不会打开界面,而是提示你改用status或query
需要权限:
hnsignin.command.open
管理命令:/hnsignin
/hnsignin reload
text
/hnsignin reload重载配置与服务。
适合在以下场景使用:
- 改了
config.yml - 调整了奖励模板
- 改了 GUI 文案
权限:
hnsignin.command.reload
/hnsignin status
text
/hnsignin status查看插件运行状态。
当前会输出:
- 插件版本
- Debug 模式
- 时区
- 业务日重置时间
- 当前存储后端
- YAML 数据目录,或 database 连接信息与表前缀
- 补签窗口
- 补签策略摘要
- 补签消耗摘要
- 基础奖励数量
- 周模板奖励数量
- 月模板奖励数量
权限:
hnsignin.command.status
/hnsignin query <player|uuid>
text
/hnsignin query <player|uuid>查询某个玩家当前签到状态。
当前会显示:
- 当前业务日
- 今天是否已签到
- 当前连签 / 累签 / 本月签到
- 当前周 / 当前月模板状态
- 已领取累签档位
- 奖励投递总数与待重试数量
权限:
hnsignin.command.query
/hnsignin template-reset <player|uuid> [scope]
text
/hnsignin template-reset <player|uuid> [all|weekly|monthly|personal|current-weekly|current-monthly]重置模板奖励状态。
scope 含义
all:清空所有模板奖励状态并重置个人循环weekly:清空所有周模板领奖状态monthly:清空所有月模板领奖状态personal:仅重置个人七日循环进度current-weekly:仅清空当前周周期相关模板领奖状态current-monthly:仅清空当前月份相关模板领奖状态
用途:
- 测试模板奖励时反复回放
- 修复玩家模板状态异常
- 只重置当前周期,不影响历史月份或其他周期
权限:
hnsignin.command.template-reset
别名:
text
/hnsignin treset .../hnsignin template-grant <player|uuid> <mode> <rewardKey>
text
/hnsignin template-grant <player|uuid> <fixed-cycle|period-accumulate|personal-cycle|calendar-days|milestones|final-reward> <rewardKey>手动补发模板奖励。
注意:
- 当前要求目标玩家在线
- 命令会先登记奖励待发记录,再执行实际发奖
- 如果部分动作失败,失败记录会保留为待重试状态
- 适合补偿、回放测试或修复漏发奖励
rewardKey 规则
fixed-cycle:1-7personal-cycle:1-7period-accumulate:传配置中的门槛数字calendar-days:传当月日期数字milestones:传配置中的门槛数字final-reward:传final
权限:
hnsignin.command.template-grant
别名:
text
/hnsignin tgrant .../hnsignin retry-rewards <player|uuid>
text
/hnsignin retry-rewards <player|uuid>手动重试玩家当前所有未完成的奖励投递。
说明:
- 目标玩家当前必须在线
- 会处理
PENDING / FAILED状态的奖励记录 - 执行后会返回尝试数、成功数、失败数
- 适合排查“签到状态已写入,但奖励动作执行失败”的场景
开放测试建议:
- 当玩家反馈“奖励没到账”时,优先先跑
query,再决定是否执行retry-rewards - 不建议一上来就用
template-grant补一份新的奖励,否则容易把“已有待重试记录”和“真正漏发”混在一起
权限:
hnsignin.command.retry-rewards
/hnsignin migrate-storage preview [overwrite]
text
/hnsignin migrate-storage preview
/hnsignin migrate-storage preview overwrite预览双向迁移结果,不实际写入。
当前会同时预览:
yaml -> databasedatabase -> yaml
适合场景:
- 刚切换
storage.type - 想知道目标端已有多少玩家会被跳过
- 想先确认覆盖模式会影响多少数据
/hnsignin migrate-storage validate
text
/hnsignin migrate-storage validate校验 YAML 与 database 两侧玩家数据是否一致。
当前会比较:
- 两侧玩家数量
- 仅存在于某一侧的玩家集合
- 公共玩家的摘要是否一致
适合场景:
- 刚做完迁移后的完整核对
- 排查“为什么两边玩家数看起来不一样”
- 想确认某次迁移是否真的收敛了状态
/hnsignin migrate-storage yaml-to-database [overwrite] [confirm]
text
/hnsignin migrate-storage yaml-to-database confirm
/hnsignin migrate-storage yaml-to-database overwrite confirm把 playerdata/*.yml 迁移到当前 database 后端。
说明:
- 不带
overwrite:目标 database 已有记录就跳过 - 带
overwrite:用 YAML 覆盖 database 已有记录 - 不带
confirm:不会真正执行,只会先给出预览与确认提示
/hnsignin migrate-storage database-to-yaml [overwrite] [confirm]
text
/hnsignin migrate-storage database-to-yaml confirm
/hnsignin migrate-storage database-to-yaml overwrite confirm把 database 后端数据迁回 playerdata/*.yml。
说明:
- 不带
overwrite:目标 YAML 已有文件就跳过 - 带
overwrite:用 database 覆盖 YAML 文件 - 不带
confirm:不会真正执行,只会先给出预览与确认提示
迁移相关补充说明
- 迁移与校验现在在后台异步执行,不会把整段扫描/对比过程压在主线程
- 过程中会输出阶段性进度百分比
- 预览、迁移、校验都会导出报告到
plugins/HNSignIn/migration-reports/
权限:
hnsignin.command.migrate-storage
权限汇总
| 权限 | 说明 | 默认 |
|---|---|---|
hnsignin.command.open | 打开签到 GUI | true |
hnsignin.command.reload | 重载配置与服务 | op |
hnsignin.command.status | 查看运行状态 | op |
hnsignin.command.query | 查询玩家签到数据 | op |
hnsignin.command.template-reset | 重置模板奖励状态 | op |
hnsignin.command.template-grant | 手动补发模板奖励 | op |
hnsignin.command.retry-rewards | 手动重试玩家未完成奖励投递 | op |
hnsignin.command.migrate-storage | 预览、迁移与校验玩家数据存储后端 | op |
推荐的管理使用顺序
如果你在测试服排查一名玩家的模板问题,最稳的顺序通常是:
/hnsignin query <玩家>- 先看是否存在待重试奖励投递
- 根据问题决定是否
template-reset - 必要时
retry-rewards或template-grant - 再次
query验证状态
这比直接改 YAML 更稳,也更不容易误伤其他状态。 直接改 YAML 更稳,也更不容易误伤其他状态。
