BanSystem 是一款功能全面的 Minecraft 服务器管理插件,它集成了可高度自定义的封禁、禁言、踢出系统,并包含聊天过滤、VPN检测、历史记录等多项实用功能。由于未找到符合我需求的现成插件,我利用业余时间编写了它,目前已包含超过 10,000 行代码。欢迎反馈!
支持平台
本插件支持以下服务器核心
- Spigot / Paper 等(Bukkit 系)
- BungeeCord / Waterfall 等(代理端)
- Velocity(代理端)
安装指南
- 下载插件文件。
- 将插件放入服务器的
plugins文件夹。
- **重要提示**:如果使用 BungeeCord 或 Velocity 等代理,插件**只需安装在代理端**,不要安装在后端子服务器上。- 启动服务器。
针对 1.19.1+ 版本的额外步骤
由于 1.19.1 版本引入了聊天签名验证,需要根据服务器类型进行额外配置:
Spigot/Paper 等(Bukkit 系)
- 无需任何更改。
BungeeCord/Waterfall 等
- 在代理端的 BanSystem 配置文件 (
config.yml) 中,将signdChatBypass选项设置为true。 - 将插件包内附带的
BanSystem-SpigotChatAdapter-X.X-SNAPSHOT.jar文件安装到所有后端子服务器上。
Velocity
- 为 Velocity 代理端和所有后端子服务器下载并安装 SignedVelocity 插件。
功能特性
- 封禁/禁言/踢出系统:完整的惩罚管理。
- 聊天过滤器:可屏蔽违规词汇和广告。
- 聊天延迟:限制玩家发言频率。
- 高度可定制:几乎所有功能和消息文本均可配置。
- IP 自动封禁:自动处理使用相同 IP 的关联账户。
- 自定义 ID 系统:为不同的违规原因创建可升级的惩罚等级。
- 历史记录系统:查看玩家的所有处罚记录。
- 多数据库支持:支持 MySQL 和 SQLite。
- VPN 检测:识别并可选地阻止使用 VPN 连接的玩家。
- Geyser 支持:兼容基岩版玩家。
IP 地址处理机制
当玩家被封禁时,其 IP 地址会被记录在数据库中。如果另一个使用相同 IP 的玩家尝试加入服务器,所有拥有 bansys.notify 权限的团队成员都会收到通知。管理员可以自行决定是否封禁该关联玩家,也可以配置为自动封禁。
自定义 ID 系统
ID 系统完全可自定义,您可以自由添加、修改或删除违规原因 ID。所有 ID 可通过 /ban 命令查看。
- 时间单位:持续时间以秒计算(例如:1天 = 86400 秒,1年 = 31536000 秒)。
- 等级机制:每个 ID 可以设置多个惩罚等级。如果玩家因同一原因再次违规,惩罚时间将根据预设的下一等级延长。如果玩家已触达最高等级,则按最高等级再次惩罚。
VPN 检测 API 密钥
配置文件中的 apikey 项不是必填项。但如果您的服务器每日有超过 100 名新玩家加入,则需要前往 https://vpnapi.io/ 注册账户并获取 API 密钥。
运行要求
- 运行 Spigot、BungeeCord 或 Velocity 的服务器。
- MySQL 数据库(可选,不使用则自动创建 SQLite 本地文件)。
命令与权限
| 命令 | 权限 | 描述 |
| :--- | :--- | :--- |
| /bansystem | bansys.bansys | 显示插件信息。 |
| /bansystem reload | bansys.reload | 重载插件配置。 |
| /bansystem ids create <ID> <Type> <OnlyAdmins> <duration> <reason> | bansys.ids.create | 创建新的惩罚 ID。 |
| /bansystem ids delete <ID> | bansys.ids.delete | 删除一个惩罚 ID。 |
| /bansystem ids edit <ID> add lvl <Duration> <Type> | bansys.ids.addlvl | 为 ID 添加一个惩罚等级。 |
| /bansystem ids edit <ID> remove lvl <lvl> | bansys.ids.removelvl | 移除 ID 的一个惩罚等级。 |
| /bansystem ids edit <ID> set lvlduration <lvl> <Duration> | bansys.ids.setduration | 设置 ID 特定等级的持续时间。 |
| /bansystem ids edit <ID> set lvltype <lvl> <Type> | bansys.ids.settype | 设置 ID 特定等级的惩罚类型。 |
| /bansystem ids edit <ID> set onlyadmins <True/False> | bansys.ids.setonlyadmins | 设置 ID 是否仅管理员可用。 |
| /bansystem ids edit <ID> set reason <reason> | bansys.ids.setreason | 设置 ID 的显示原因。 |
| /bansystem ids show <ID> | bansys.ids.show | 显示指定 ID 的详细信息。 |
| /bansys logs show [site] | bansys.logs.show | 查看操作日志。 |
| /bansys logs clear | bansys.logs.clear | 清空操作日志。 |
| /ban <Spieler> <ID> | bansys.ban(.all/.admin) | 封禁或禁言玩家。 |
| /unban <Spieler> | bansys.unban | 解封玩家。 |
| /unmute <Spieler> | bansys.unmute | 解除玩家禁言。 |
| /check <Spieler> | bansys.check | 检查玩家的当前惩罚状态。 |
| /deletehistory <Spieler> | bansys.history.delete | 删除玩家的历史记录。 |
| /history <Spieler> | bansys.history.show | 查看玩家的历史记录。 |
| /kick <Spieler> [Grund] | bansys.kick(.admin) | 踢出玩家。 |
其他权限节点
bansys.notify- 接收团队通知(如关联 IP、违规聊天警告等)。bansys.kick.bypass- 免疫被踢出。bansys.ban.bypass- 免疫被封禁/禁言。bansys.bypasschatfilter- 绕过聊天过滤器。bansys.bypasschatdelay- 绕过聊天延迟限制。
使用本插件的服务器(部分列表)
- PixelPlayZ.net
- Play.GalaxyVerse.de
- Survivalecke.de
- survivorz.net
- lalura.net
- NexoTime.de
- Etopia-Server.at
- alpha-fox.eu
- jadefalke.de
- Reverox.net
- Craftylon.de
- DonutNetwork.eu
- several-jpeg.gl.at.ply.gg:7490
- gravijet.net
- Elorise.net
- [这里可以展示您的服务器!]
配置文件预览
以下为 config.yml 和 messages.yml 的核心结构预览,所有选项均可按需修改。
config.yml (节选)
# 数据库配置 (启用 MySQL)
mysql:
enable: false
user: root
password: sicherespasswort
database: Bansystem
host: localhost
port: 3306
# IP 自动封禁
IPautoban:
enable: false
banid: 9
onlyNetworkBans: false
# VPN 检测
VPN:
enable: true
autoban:
enable: false
ID: 11
apikey: ''
# 自定义惩罚 ID 示例
IDs:
'1':
reason: Unerlaubte Clientmodifikation/Hackclient
onlyAdmins: false
lvl:
'1':
type: NETWORK
duration: 2592000
'2':
type: NETWORK
duration: -1messages.yml (节选)
# 所有消息均可自定义,支持多行和颜色代码 (& 或 §)
prefix: '§8§l┃ §cBanSystem §8» §7'
NoPermissionMessage: '%P%§cDafür hast du keine Rechte!'
# 封禁提示消息示例
Ban:
Network:
Screen:
- '§8§m---------------------'
- ' '
- '§4Du wurdest §lGebannt!'
- '§7Grund §8» §c%reason%'
- '§7Verbleibende Zeit §8» §3%reamingtime%'---
如果您有新的功能建议,欢迎提出。感谢您对 BanSystem 的关注!
**支持与反馈**
- Discord 服务器:https://discord.gg/PfQTqhfjgA