- 版权类型
- 原创
- 插件中文名称
- FreeCodeKey
- 插件英文名称
- FreeCodeKey
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- #
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
给自己的服务器打个广告,QQ群975130355,想要体验我的插件的也可以进来看看
FreeCodeKey 兑换码插件简介
FreeCodeKey 是一款专门为 Minecraft 服务器设计的兑换码插件,适用于节日礼包、维护补偿、活动奖励等发放场景。通过简单的配置,你就可以让玩家在游戏内输入兑换码,自动领取对应奖励。
一、核心特性
1. 多内核支持
支持 Spigot、Paper、Folia、Purpur、PufferFish、Leaves 等主流服务端。
2. 多数据库支持
支持 h2、MySQL、SQLite 等多种数据库,适合单服或多服集群部署。
3. 多种兑换码模式
支持口令兑换码和随机兑换码:
- 口令兑换码:所有玩家输入同一口令即可领取奖励
- 随机兑换码:每个兑换码只能被使用一次,适合大规模发放
4. 过期与背包检查
支持为兑换码设置过期时间,并在兑换前检查玩家背包空余格子,避免物品丢失。
5. 高性能与多服同步
数据库操作全部异步执行,对主线程影响极小;使用 MySQL 时可实现多服务器之间的兑换数据同步。
6. 多语言与现代文本格式
内置多语言消息结构,支持使用 MiniMessage 编写彩色文本、渐变、RGB 等现代聊天效果。
7. Folia 友好实现
对 Folia 做了专门适配,使用区域任务调度,保证线程安全和兼容性。
二、指令说明
玩家指令:
- 使用兑换码:/cdk <兑换码>
管理员指令(主指令为 /FreeCodeKey):
- 重载配置文件:/FreeCodeKey reload
- 管理员强制使用兑换码:/FreeCodeKey forceUse <玩家> <兑换码>
- 玩家自用强制使用:/FreeCodeKey forceUse <兑换码>
- 添加指定数量的随机兑换码:/FreeCodeKey add <分组名> <数量>
- 清理某个分组的随机兑换码:/FreeCodeKey clear <分组名>
- 导出某个分组的随机兑换码:/FreeCodeKey output <分组名>
权限节点:
- 允许玩家使用 /cdk 指令:freecodekey.command.cdk
- 管理员权限:freecodekey.admin
三、基础配置示例(config.yml)
四、限频与防刷
为了防止脚本暴力撞码和刷日志,FreeCodeKey 对 /cdk 指令提供了可配置的限频机制。
config.yml 中的相关配置示例:
说明:
你可以根据服务器在线人数和压力情况,灵活调整上述参数。
五、MiniMessage 提示文本
插件所有文本均支持 MiniMessage,你可以直接在 config.yml 中修改:
- 支持渐变、RGB、加粗、斜体等效果
- 可使用在线编辑器进行预览:https://webui.advntr.dev/
通过 FreeCodeKey,你可以快速配置一套稳定、可控、可拓展的兑换码系统,为服务器活动和长期运营提供便利。
FreeCodeKey 兑换码插件简介
FreeCodeKey 是一款专门为 Minecraft 服务器设计的兑换码插件,适用于节日礼包、维护补偿、活动奖励等发放场景。通过简单的配置,你就可以让玩家在游戏内输入兑换码,自动领取对应奖励。
一、核心特性
1. 多内核支持
支持 Spigot、Paper、Folia、Purpur、PufferFish、Leaves 等主流服务端。
2. 多数据库支持
支持 h2、MySQL、SQLite 等多种数据库,适合单服或多服集群部署。
3. 多种兑换码模式
支持口令兑换码和随机兑换码:
- 口令兑换码:所有玩家输入同一口令即可领取奖励
- 随机兑换码:每个兑换码只能被使用一次,适合大规模发放
4. 过期与背包检查
支持为兑换码设置过期时间,并在兑换前检查玩家背包空余格子,避免物品丢失。
5. 高性能与多服同步
数据库操作全部异步执行,对主线程影响极小;使用 MySQL 时可实现多服务器之间的兑换数据同步。
6. 多语言与现代文本格式
内置多语言消息结构,支持使用 MiniMessage 编写彩色文本、渐变、RGB 等现代聊天效果。
7. Folia 友好实现
对 Folia 做了专门适配,使用区域任务调度,保证线程安全和兼容性。
二、指令说明
玩家指令:
- 使用兑换码:/cdk <兑换码>
管理员指令(主指令为 /FreeCodeKey):
- 重载配置文件:/FreeCodeKey reload
- 管理员强制使用兑换码:/FreeCodeKey forceUse <玩家> <兑换码>
- 玩家自用强制使用:/FreeCodeKey forceUse <兑换码>
- 添加指定数量的随机兑换码:/FreeCodeKey add <分组名> <数量>
- 清理某个分组的随机兑换码:/FreeCodeKey clear <分组名>
- 导出某个分组的随机兑换码:/FreeCodeKey output <分组名>
权限节点:
- 允许玩家使用 /cdk 指令:freecodekey.command.cdk
- 管理员权限:freecodekey.admin
三、基础配置示例(config.yml)
JSON:
storage:
type: h2
address: localhost:3306
database: inseki
username: root
password: ""
table-prefix: "inseki_code_key"
lang: zh
codes:
"2024新年快乐":
type: command
expire-at: "2024-01-01 13:00:00"
min-slots: 3
actions:
- "console:say %player% 你好! 2024年快乐!"
"2099新年快乐":
type: command
expire-at: "2099-01-01 13:00:00"
min-slots: 3
actions:
- "console:say %player% 你好! 2099年快乐!"
- "console:say %player% 这是第二个指令"
"6480点券":
type: random
min-slots: 0
length: 10
actions:
- "console:playpoints give %player% 6480"
- "console:say %player% 获得了 6480 点券!"
messages:
zh:
code-expired: "<red>兑换码已过期"
code-not-exists: "<red>兑换码不存在"
code-used: "<red>您已经使用了该兑换码了"
help: "<red>请输入 /cdk 兑换码"
please-enter-code: "<red>请输入兑换码"
not-enough-slots: "<red>请确保背包至少拥有 <var:limit> 格空间"
too-fast: "<red>你点击太快了,请稍后再试"
四、限频与防刷
为了防止脚本暴力撞码和刷日志,FreeCodeKey 对 /cdk 指令提供了可配置的限频机制。
config.yml 中的相关配置示例:
JSON:
rate-limit:
player:
window-ms: 1000
max-per-window: 1
ip:
window-ms: 1000
max-per-window: 3
说明:
- player 段控制单个玩家在指定时间窗口内最多尝试多少次兑换操作。
- ip 段控制同一 IP 下所有玩家在指定时间窗口内总共可尝试多少次。
- 当任意一项超过限制时,玩家会收到 “你点击太快了,请稍后再试” 提示。
你可以根据服务器在线人数和压力情况,灵活调整上述参数。
五、MiniMessage 提示文本
插件所有文本均支持 MiniMessage,你可以直接在 config.yml 中修改:
- 支持渐变、RGB、加粗、斜体等效果
- 可使用在线编辑器进行预览:https://webui.advntr.dev/
通过 FreeCodeKey,你可以快速配置一套稳定、可控、可拓展的兑换码系统,为服务器活动和长期运营提供便利。