AdvancedBan - 高级封禁管理
AdvancedBan 是一款适用于单服务器及服务器网络的封禁插件,拥有美观的封禁提示信息。
Bukkit / Spigot
作者 DevLeoko
支持版本 1.7 - 1.21
服务器使用量
2,917
服务玩家数
4,861
下载量
780,876
插件详细介绍
AdvancedBan 是一款功能全面的 Minecraft 服务器惩罚管理插件,集警告、禁言、封禁、踢出于一体,支持 BungeeCord 与 Bukkit/Spigot 环境,并提供了高度可配置的惩罚时长、原因模板以及完整的消息文件。
核心功能
- 全面的惩罚系统:支持警告、临时警告、禁言、临时禁言、封禁、临时封禁、IP 封禁、临时 IP 封禁以及踢出。
- 玩家历史记录:可查看玩家过往的所有惩罚记录。
- 高度可配置:提供完整的
config.yml、messages.yml和layouts.yml文件,可自定义所有消息、惩罚时长和原因模板。 - 多环境支持:单一插件文件同时支持 BungeeCord 和 Bukkit/Spigot 服务器。
- 数据库支持:支持 MySQL 和本地嵌入式 HSQLDB 数据库,性能优异。
- 自动时长计算:可通过时间模板 (
#LAYOUT) 实现惩罚时长随违规次数自动递增。 - 预定义原因:可通过消息模板 (
@LAYOUT) 快速使用格式化的惩罚原因。 - 检查命令:使用
/check [PLAYER]可查看玩家的 UUID、IP、国家、封禁/禁言状态、警告/备注数量。 - 自动警告操作:可在配置中设置当玩家警告次数达到特定数值时自动执行命令(如踢出或封禁)。
安装与使用
安装步骤
- 从资源页面下载插件。
- 将
AdvancedBan.jar放入服务器的plugins文件夹中(BungeeCord 或 Bukkit/Spigot 端)。 - 重启服务器(BungeeCord 需使用
/end命令重启)。 - 在游戏内或控制台输入
/advancedban检查插件是否成功加载。 - 根据需求配置
config.yml等文件。
基础命令
命令格式说明:[必填] <可选> | = 或 -s = 静默惩罚(不向其他人发送通知)
/kick <-s> [PLAYER] <REASON | @LAYOUT>– 踢出一名玩家/ban//mute//warn//note <-s> [PLAYER] <REASON | @LAYOUT>– 永久封禁/禁言/警告玩家 或 为玩家添加备注/banip <-s> [PLAYER/IP] <REASON | @LAYOUT>– 封禁玩家的 IP(输入名称将使用缓存的 IP)/tempban//tempmute//tempwarn <-s> [PLAYER] [Xmo|Xd|Xh|Xm|Xs|#TIMELAYOUT] <REASON | @LAYOUT>– 临时封禁/禁言/警告玩家/tempipban <-s> [PLAYER/IP] [Xmo|Xd|Xh|Xm|Xs|#TIMELAYOUT] <REASON | @LAYOUT>– 临时 IP 封禁玩家(别名:/tipban)/change-reason [ID] [新原因]– 根据惩罚 ID 修改原因/change-reason [ban/mute] [PLAYER] [新原因]– 修改玩家当前惩罚的原因/unban//unmute [PLAYER]– 解除玩家的封禁/禁言/unwarn//unnote [ID]– 删除一条警告/备注/unwarn//unnote clear [PLAYER]– 清除玩家的所有警告/备注/unpunish [ID]– 删除一条惩罚记录/warns//notes <PLAYER>– 查看自己或玩家的警告/备注列表/check [PLAYER]– 查看玩家状态信息/banlist <页码>– 查看所有当前生效的惩罚/history [PLAYER] <页码>– 查看玩家的惩罚历史(需要权限ab.history)/advancedban reload– 重载消息文件和部分设置/advancedban help– 显示命令帮助列表/systemprefs– 显示系统信息(用于辅助配置)
权限节点
大多数权限遵循 ab.惩罚类型.类别 或 ab.命令 的格式。例如:
/ban命令需要ab.ban.perma/tempwarn命令需要ab.warn.temp
主要权限列表
ab.kick.use– 使用/kickab.kick.exempt– 免于被踢出ab.notify.kick– 接收踢出通知ab.ban.perma– 使用/banab.ban.temp– 使用/tempbanab.ban.undo– 使用/unbanab.ban.exempt– 免于被封禁ab.notify.ban– 接收封禁通知ab.undoNotify.ban– 接收解封通知ab.ipban.perma– 使用/ipbanab.ipban.temp– 使用/tempipbanab.mute.perma– 使用/muteab.mute.temp– 使用/tempmuteab.mute.undo– 使用/unmuteab.mute.exempt– 免于被禁言ab.warn.perma– 使用/warnab.warn.temp– 使用/tempwarnab.warn.undo– 使用/unwarnab.warn.exempt– 免于被警告ab.note.use– 使用/noteab.note.undo– 使用/unnoteab.all.undo– 使用/unpunishab.warns.own– 查看自己的警告ab.warns.other– 查看他人的警告ab.check– 使用/checkab.check.ip– 在/check中查看 IPab.changeReason– 使用/change-reasonab.banlist– 使用/banlistab.history– 使用/historyab.reload– 使用/advancedban reloadab.help– 使用/advancedban helpab.systemprefs– 使用/systemprefs
惩罚时长限制权限
默认情况下,拥有命令权限的用户可以设置任意时长的惩罚。你可以通过权限节点限制最大惩罚时长。
- 在
config.yml的TempPerms部分进行配置。 - 例如,设置
1: 3600,则拥有ab.tempban.dur.1权限的玩家最多只能封禁 3600 秒(1小时)。 - 时间单位为秒。若玩家拥有多个此类权限,则以数值更高的为准。
分层豁免权限
适用于拥有大型团队和复杂权限层级的服务器,以实现“高级别管理员可惩罚低级别成员”的规则。
- 权限格式:
ab.TYPE.exempt.X TYPE可以是:ban, tempban, ipban, tempipban, warn, tempwarn, kick, mute, tempmuteX为 1 到 10 的等级(10 为最高)。- 例如:拥有
ab.ban.exempt.4权限的玩家不能被拥有ab.ban.exempt.2的玩家封禁,但可以被拥有ab.ban.exempt.5的玩家封禁。 - 注意:豁免权限通常仅对在线玩家生效(使用 LuckPerms 时可支持离线玩家)。同级用户之间不能相互惩罚。
BungeeCord 权限说明
在 BungeeCord 上使用时,需在其 config.yml 中或通过专门的 BungeeCord 权限插件定义权限。
- 由于 BungeeCord 不支持
通配符权限,拥有ab.的用户不会获得所有命令权限。 - 为简化设置,AdvancedBan 配置中提供了
EnableAllPermissionNodes选项。启用后,你可以使用.all替代.*。例如,赋予用户ab.all权限即可使用所有 AdvancedBan 命令。
配置文件与模板
config.yml 概览
主要配置选项包括
UseMySQL:是否使用 MySQL 数据库。DefaultReason:未提供原因时的默认原因。TimeDiff:服务器时间与本地时间的时差调整。MuteCommands:禁言玩家时被禁用的命令列表。ExemptPlayers:完全免于惩罚的玩家名单。EnableAllPermissionNodes:是否启用.all权限节点(针对 BungeeCord)。UUID-Fetcher:UUID 查询器的相关设置。WarnActions:根据警告次数自动执行的操作(例如:3: "kick %PLAYER% &c&oYou have received your 3rd warning!")。TempPerms:惩罚时长限制权限的时长定义。
Layouts.yml 模板系统
此文件用于定义预制的消息模板和时间模板,便于快速执行标准化惩罚。
消息模板 (Message Layouts)
- 用于定义惩罚时显示的多行原因消息。
- 变量:
%OPERATOR%,%REASON%,%PREFIX%,%DURATION%,警告中还可使用%COUNT%。 - 使用方法:在惩罚命令的原因部分输入
@模板名称。 - 示例:
Message:
ExampleLayout:
- '%PREFIX% &7Banned for Hacking'
- '&c&oBanned by %OPERATOR%'
- '&cUnban in &8» &7%DURATION%'使用命令:/ban Leoko @ExampleLayout
时间模板 (Time Layouts)
- 用于定义临时惩罚的递增时长序列。
- 使用方法:在惩罚命令的时长部分输入
#模板名称。 - 示例:
Time:
ExampleLayout:
- '30m'
- '2h'
- '1d'
- '1w'使用命令:/tempban Leoko #ExampleLayout Hacking。玩家第一次违规封禁 30 分钟,第二次 2 小时,以此类推。
附加组件与集成
官方 GUI 附加组件
- 依赖 AdvancedGUI 插件。
- 安装后使用
/bangui打开界面(需要权限advancedban.gui)。 - 目前仅支持在 Spigot 端安装,不支持 BungeeCord。
支持的第三方插件
- Discord Ban Announcer – 在 Discord 发布封禁公告
- GUI for Player History – 在菜单中查看惩罚历史
- Auto Ban – 自动封禁关联账户
- AB Sign Addon – 禁止被禁言玩家放置告示牌
- Punishment GUI – 完全可定制的惩罚 GUI
- Discord BansWebhook – 支持 AdvancedBan 的 Discord Webhook
- Addon for Party and Friends System – 永久封禁时删除 PAF 数据
- Negativity (AntiCheat) – 反作弊插件,提供对 AdvancedBan 的显式支持
Web 管理界面
官方 WebInterface(暂不可用)
原为一个在线服务,可注册服务器并生成专属的封禁监控面板。目前建议使用下方独立版本。
独立 WebInterface 替代方案
由社区成员 @mathhulk 开发,可下载并部署在自己的 Web 服务器上。
- 适用场景:MySQL 仅限本地访问、需要深度自定义界面。
- GitHub:https://github.com/mathhulk/ab-web-addon
- 示例:https://whatisin.space/ab-web-addon
- 注意:此版本功能可能不如原版全面,且官方不提供支持。
常见问题与支持
- 遇到问题时,请首先检查控制台是否有错误信息及解决方案。
- 可前往 Discord 的已知问题频道或 GitHub 页面寻求帮助。
- 插件使用 bStats 收集匿名的服务器数据(如玩家数、版本等),用于统计。
使用 AdvancedBan 的服务器示例
- BlizzardCraft Network:
mc.blizzardcraft.net - Craft and play:
craftandplay.ml
API 文档
所有关于 AdvancedBan API 的信息可在 GitHub 仓库找到:https://github.com/DevLeoko/AdvancedBan/
测试支持版本
版本分布
基本信息
插件名称
AdvancedBan
作者
DevLeoko
平台
Bukkit / Spigot
支持版本
1.7 - 1.21
点赞数
未统计
Modrinth 下载
19,029
最近版本
2.3.0
2868
2.1.5-RELEASE
55
2.2.1
10
2.1.4-RELEASE
8
2.2.0
5
2.1.8
4
2.1.3-RELEASE
4
2.4.1
2
2.1.9
2
2.1.7
2