
EasyVip
一个用于Minecraft 1.21.1 NeoForge的现代服务端VIP管理模组,支持可配置的等级、激活密钥、奖励包、限时VIP、审计日志、WebStore履行,以及可选的LuckPerms/FTB Ranks集成。
EasyVIP
EasyVIP 是一个适用于运行 NeoForge 的 Minecraft 服务器的现代且高度可配置的服务端 VIP 管理模组。
创建临时或永久的 VIP 等级、生成激活密钥、发放可配置的激活礼包、执行命令、管理奖励包、集成您的 WebStore,并对每次激活保持完全控制。
EasyVIP 专为需要可靠 VIP 系统的服务器所有者设计,无需依赖 RCON 或在每次购买后手动执行命令。
主要特性
可配置的 VIP 等级
根据服务器需求创建任意数量的 VIP 等级。
每个 VIP 都可以拥有自己独立的:
- 显示名称
- 颜色
- 优先级
- 默认时长
- 激活模式
- 叠加行为
- 激活命令
- 到期命令
- 激活消息
- 到期消息
- 激活物品礼包
VIP 可以是临时的或永久的,玩家可以同时拥有多个 VIP 等级。
根据您的配置,EasyVIP 可以自动选择最高优先级的 VIP,或允许玩家自行选择其激活的等级。
安全的激活密钥
管理员可以为 VIP 和奖励包生成唯一密钥。
密钥支持:
- 可配置的前缀和长度
- 自定义字符集
- 有限或无限次使用
- 绑定玩家的密钥
- 激活前可选确认
- 命令冷却时间
- 维度限制
- 管理检查与删除
- 实体激活物品
示例:
/easyvip use EVIP-ABC123
也可使用可选的别名:
/activate <key>
/usekey <key>
/vip <key>
当启用确认功能时,玩家必须确认激活后密钥才会被消耗:
/easyvip confirm
实体密钥物品
EasyVIP 可以将配置好的 Minecraft 物品转换为实体激活密钥。
默认情况下,模组使用绊线钩,但可以在配置中更改物品。
实体密钥使用受保护的 EasyVIP 标记和存储在物品自定义数据中的密钥代码,防止普通的重命名物品被接受为有效密钥。
管理员可以使用以下命令给予实体密钥:
/easyvip admin giveitemkey <player> <code>
激活礼包
每个 VIP 等级都可以拥有自己的激活礼包。
礼包支持:
- 原版物品
- 模组物品
- 自定义数量
- 附魔
- 基于百分比的奖励几率
- 通过 SNBT 存储的复杂物品
- 稀有物品全服公告
示例:
[[items]]
item = "minecraft:diamond"
amount = 16[[items]]
item = "minecraft:diamond_pickaxe"
amount = 1
chance = 100
[items.enchants]
efficiency = 10
fortune = 5
unbreaking = 10
[[items]]
item = "minecraft:elytra"
amount = 1
chance = 25
您也可以直接从游戏内物品栏构建 VIP 激活礼包:
/easyvip savevipactivation <tier>
EasyVIP 将自动生成相应的配置文件。
奖励包与变体
除了 VIP 等级之外,EasyVIP 还支持可配置的奖励包。
奖励包可以包含:
- 物品
- 服务器命令
- 随机奖励
- 多个可选择的变体
- 玩家特定的待定选择
- 可配置的选择过期时间
玩家可以使用以下命令选择待定的奖励包变体:
/easyvip variant choose <package> <variant>
管理员也可以直接发放奖励包:
/easyvip admin givepackage <player> <package_id>
随机奖励池
为命令、消息、宝可梦、物品、宝箱、称号或任何其他服务器奖励创建可复用的随机池。
奖励池支持简单值和加权值。
示例:
[pools.shiny_pokemon]
values = [
"Pikachu",
"Bulbasaur",
"Charmander",
"Squirtle"
][pools.rare_pokemon]
[[pools.rare_pokemon.weighted]]
value = "Lucario"
weight = 50
[[pools.rare_pokemon.weighted]]
value = "Garchomp"
weight = 25
奖励池可以在激活命令中使用:
[vips.masterball.commands]
activate = [
"$pokemon = %random(shiny_pokemon)%",
"givepokemon %player% $pokemon shiny",
"broadcast %player% received a shiny $pokemon!"
]
这使得 EasyVIP 能够与 Cobblemon 命令、经济模组、宝箱系统、权限、称号系统以及其他服务端工具集成。
LuckPerms 和 FTB Ranks 集成
EasyVIP 提供与以下内容的可选兼容性:
- LuckPerms
- FTB Ranks
集成通过可配置且经过安全验证的服务器命令执行。
这使得可以:
- 激活 VIP 时添加权限组
- VIP 到期时移除权限组
- 分配称号
- 执行来自其他服务端模组的命令
- 创建完全自定义的激活工作流程
使用 EasyVIP 不强制要求安装 LuckPerms 或 FTB Ranks。
WebStore 集成
EasyVIP 支持通过安全的 HTTPS 轮询进行外部 WebStore 订单履行。
模组可以:
- 检索待处理的购买
- 安全地领取购买
- 发放对应的 VIP 密钥
- 确认成功发放
- 重试临时失败
- 支持多个 Minecraft 服务器
- 同步玩家身份和在线状态
- 使用服务器特定的标识符和密钥前缀
履行流程不需要 RCON,也不会在 Minecraft 服务器内部暴露 HTTP 监听器。
这使得 EasyVIP 适用于与自定义网站和基于 Rails 的 WebStore 集成。
自动过期
EasyVIP 会定期检查活动的 VIP 并自动处理已过期的订阅。
过期检查在以下时机进行:
- 服务器启动时
- 玩家登录时
- 通过自动调度器
- 配置重载后
当 VIP 过期时,EasyVIP 可以:
- 移除活动的等级
- 选择另一个可用的等级
- 执行到期命令
- 移除权限组
- 显示可配置的消息
- 在审计日志中记录操作
管理审计日志
重要的管理操作会记录在 EasyVIP 审计系统中。
管理员可以使用以下命令查看审计历史:
/easyvip admin audit
也可以选择页面:
/easyvip admin audit <page>
审计系统帮助服务器所有者调查密钥生成、VIP 变更、奖励包发放以及其他管理操作。
安全的持久化
EasyVIP 使用 JSON 文件存储其核心数据,具有:
- 原子写入
- 自动备份
- 面向恢复的持久化
- 密钥、VIP 和待定选择的独立存储
WebStore 履行系统也可以使用本地 SQL 存储,以实现可靠的处理和发放控制。
配置与本地化
EasyVIP 使用存储在以下目录中的可读 TOML 配置文件:
config/easyvip/
主要文件包括:
common.toml
messages.toml
tiers.toml
pools.toml
activation_items/
模组目前支持:
- 英语 (
en-us) - 巴西葡萄牙语 (
pt-br)
消息支持 Minecraft 颜色代码和占位符,可以使用以下任一格式:
{player}
%player%
配置可以在不重启服务器的情况下重新加载:
/easyvip reload
您也可以在使用前验证配置文件:
/easyvip config validate
主要玩家命令
/easyvip use <key>
/easyvip confirm
/easyvip info
/easyvip info <player>
/easyvip time
/easyvip select <tier>
/easyvip variant choose <package> <variant>
/easyvip variant pending
/viptime
/activate <key>
/usekey <key>
/vip <key>
主要管理员命令
/easyvip admin addvip <player> <tier> <duration>
/easyvip admin removevip <player> <tier>
/easyvip admin generate vip <tier> <duration>
/easyvip admin generate reward <package>
/easyvip admin givepackage <player> <package>
/easyvip admin giveitemkey <player> <key>
/easyvip createvip <id> <display_name> [color]
/easyvip savevipactivation <tier>
/easyvip key list
/easyvip key info <code>
/easyvip key delete <code>
/easyvip package list
/easyvip package info <id>
/easyvip active set <player> <tier>
/easyvip admin audit
/easyvip reload
/easyvip config validate
需求
- Minecraft 1.21.1
- NeoForge 21.1.226 或更新版本
- Java 21
EasyVIP 目前适用于 NeoForge。
项目结构中存在 Fabric 模块用于未来开发,但目前不支持 Fabric。
安装
- 为 Minecraft 1.21.1 安装兼容的 NeoForge 服务器。
- 将 EasyVIP
.jar文件放入服务器的mods文件夹中。 - 启动服务器一次。
- 打开
config/easyvip/目录。 - 配置您的 VIP 等级、消息、激活礼包和奖励。
- 运行
/easyvip config validate命令。 - 使用
/easyvip reload命令重新加载配置。
源代码与支持
源代码:
https://github.com/pedro-dalben/EasyVip
问题和错误报告:
https://github.com/pedro-dalben/EasyVip/issues
报告问题时,请包含:
- EasyVIP 版本
- Minecraft 版本
- NeoForge 版本
- 相关的配置文件
- 服务器日志
- 重现问题的步骤
许可证
保留所有权利。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。