- ◆ 游戏版本
- 全版本
- ◆ 服务端核心
- Paper / Purpur / Spigot(纯 Bukkit API)
MagicPointsLog 点券流水记录插件
作者 Aisen | 联系 QQ 1797950 | 插件交流群 974349582
原创玩法、功能扩展、插件定制,欢迎联系 QQ 1797950 洽谈。
简介
MagicPointsLog 是一款面向 PlayerPoints 点券经济的流水记录与查询插件。
同类记账插件大多只写「谁、变了多少」,真出纠纷还得挨个翻插件日志对时间点。MagicPointsLog 会在每笔流水里写明来源——是指令发的、哪个插件类调的、还是玩家/控制台操作,竖线分栏,方便肉眼扫读和 grep 检索:
2026-10-10 01:15:59 | 获得 | Steve | +100 | 150 | com.example.shop.ShopPlugin:buy(ShopPlugin.java:42)
2026-10-10 01:16:00 | 花费 | Steve | -30 | 120 | 指令
2026-10-10 01:16:01 | 重置 | Steve | 0 | 0 | 玩家或控制台
「氪金没到账」「没买怎么扣了」「奖励没发」「有人刷点券」——翻一眼流水就能定位是哪个插件发的、谁扣的,拿证据说话,也方便审计管理操作。
功能特性
-
来源追踪 — 堆栈分析每笔点券变动的触发方,来源写完整类名+方法,同类少见的排障能力
-
异常告警 — 短时间同一来源狂发点券自动提示管理,从「事后查」变「事前拦」
-
查询筛选 —
check可按天数、来源关键字过滤流水,纠纷取证更准 -
CSV 导出 — 一键导出单人/全服流水,UTF-8 带 BOM,Excel 直接打开
-
PAPI 变量 — 个人收支/排名、榜单占位、全服汇总,计分板全息随便接
-
流水留档 — 每笔获得/花费/重置写入
logs/,竖线分栏:时间 / 类型 / 玩家 / 金额 / 变动后余额 / 来源 -
收支统计 — 按 UUID 累计每人消耗/获取,玩家改名不丢数据,还支持旧名反查
-
查询命令 — 个人流水、消耗榜/获取榜、全服汇总、一键清除,管理对账不用开文件
-
滚动切分 — 按日期或 10M 自动切分旧日志,可选 gz 压缩;纯文件 IO,不绑服务端内部日志实现,升级不炸
-
流水全存 — 记录全量保存可追溯,
check默认只展示最近 10 条 -
榜单可调 — 前 N 名人数在配置里改,默认 5
-
开箱即用 — 默认配置即可运行,提示语、开关全在
config.yml可改
命令
-
/mpl— 查看帮助 -
/mpl check <玩家> [天数] [来源]— 查看收支流水,可按天数/来源筛选 — 权限magicpointslog.check -
/mpl top— 查看消耗/获取榜单 — 权限magicpointslog.top -
/mpl clear <玩家>— 清除玩家记录 — 权限magicpointslog.clear -
/mpl all— 查看全服收支汇总 — 权限magicpointslog.all -
/mpl export [玩家]— 导出流水为 CSV(不带参数=全服) — 权限magicpointslog.export -
/mpl reload— 重载插件配置 — 权限magicpointslog.reload
权限
-
magicpointslog.check— 默认 OP -
magicpointslog.top— 默认 OP -
magicpointslog.clear— 默认 OP -
magicpointslog.all— 默认 OP -
magicpointslog.export— 默认 OP -
magicpointslog.reload— 默认 OP -
magicpointslog.alert— 接收疑似刷点券告警,默认 OP
PlaceholderAPI 变量
-
%magicpointslog_use%— 累计消耗 -
%magicpointslog_get%— 累计获取 -
%magicpointslog_use_rank%— 消耗榜名次(无记录为 0) -
%magicpointslog_get_rank%— 获取榜名次(无记录为 0) -
%magicpointslog_use_top_name_N%— 消耗榜第 N 名玩家名(N = 1~10) -
%magicpointslog_use_top_value_N%— 消耗榜第 N 名数值 -
%magicpointslog_get_top_name_N%— 获取榜第 N 名玩家名(N = 1~10) -
%magicpointslog_get_top_value_N%— 获取榜第 N 名数值 -
%magicpointslog_total_use%— 全服总消耗 -
%magicpointslog_total_get%— 全服总获取
配置示例
完整配置见插件生成的 plugins/MagicPointsLog/config.yml,注释齐全。
options:
log-uuid: false
log-console: true
log-compress: false
log-split-by-date: false
top-size: 5
alert-seconds: 60
alert-points: 1000
alert-cooldown: 60
texts:
no-permission: "&f&l MagicPointsLog &8- &f你没有权限使用该命令"
format-error: "&f&l MagicPointsLog &8- &f指令格式错误"
not-found: "&f&l MagicPointsLog &8- &f没有这个玩家的记录"
clear: "&f&l MagicPointsLog &8- &f该玩家记录已清除"
reload: "&f&l MagicPointsLog &8- &f配置已重载"
alert: "&f&l MagicPointsLog &8- &f疑似刷点券: 玩家 %player% %seconds%秒内从 %source% 获得 %amount% 点券"
安装说明
-
前置安装 PlayerPoints
-
下载
MagicPointsLog-1.1.0.jar,放入plugins/ -
启动服务器,自动生成
plugins/MagicPointsLog/config.yml -
按需调整开关与榜单人数
-
执行
/mpl reload或重启服务器
兼容性
-
游戏版本 — 1.8.8 ~ 1.21.x / 26.x
-
服务端 — Paper / Purpur / Spigot
-
Java — 8+
-
前置依赖 — PlayerPoints
-
可选依赖 — PlaceholderAPI
常见问题
Q:玩家说氪金点券没到账,怎么查?
查 logs/latest.log。有「获得」条目且来源是发卡/商店插件,说明已到账,玩家漏看或在说辞;没有任何记录则说明上游支付/发卡没发货,问题不在点券端,直接拿这个查支付插件。
Q:玩家说没买怎么扣了点券?
查「花费」条目的来源。来源是商店插件即为误触或插件问题;来源是「指令」则为有人用命令扣除,可进一步审计管理操作。
Q:怀疑有插件刷点券怎么办?
开着默认告警(60 秒内同来源发放超 1000 自动提示),也能搜流水里的「获得」条目,看来源是不是集中指向同一个插件类,再顺着那个插件查发奖逻辑。
Q:告警会不会误拦正常发奖?
不会。告警只提示不拦截,点券照常变动。阈值和时间窗可在 options.alert-seconds / alert-points 调整,alert-points: 0 可关闭。
Q:流水会不会无限膨胀?
流水全量保存便于追溯,check 只展示最近 10 条。按日期或 10M 自动切分旧日志,可开启 gz 压缩。
Q:玩家改名会丢统计吗?
不会。统计按 UUID 存储,check / clear 也支持按存档里的旧名反查。
Q:老的 pointslook / PointLogger 数据能迁移吗?
不支持迁移,从零开始记账。旧文件可自行留档备查。
Q:启动有 api-version 警告?
为兼容 1.8.8 故意不写 api-version,警告可忽略,不影响功能。
感谢使用,欢迎反馈建议!