1 120
收录服务器
1481
注册
34 036
玩家
ChatControl 终极聊天插件
传说中的聊天插件。令人难以置信的解决方案的广告,发誓,上限,垃圾邮件,机器人和更多!
作 者 kangarko
发布时间 2013年12月3日
支持核心 Spigot
原生版本
支持版本 1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16
点此下载

ChatControl是一款用于Bukkit服务器的聊天管理和格式化插件,旨在显著减少服务器上的垃圾信息、广告、脏话和机器人。它允许你创建自定义规则和处理程序,从而完全控制聊天内容。此外,它还提供许多其他独特的功能。

🎉

ChatControl 插件

✨主要功能

  • 规则和处理程序
  • 聊天格式化 (需要 Vault)
  • 反垃圾信息
  • 反大写
  • 反机器人
  • 聊天清理
  • 聊天禁言
  • 消息定制和广播
  • 数据包功能
  • 控制台功能
  • 声音通知
  • 语法修正
  • 聊天记录保存
  • 本地化
  • 分组 (基于权限的设置)
  • 更新器
  • 轻量级 & 安全

规则和处理程序

你可以定义自己的规则,这些规则可以匹配特定的正则表达式,并应用于聊天、命令、告示牌或数据包。

数据包规则允许你编辑来自服务器本身甚至其他插件的消息(或隐藏它们)。支持根据不同的世界替换消息。

处理程序允许你轻松管理大量规则,而无需编写混乱的代码。

聊天格式化

格式化聊天消息,支持以下变量:

  • %pl_prefix%pl_suffix
  • %world (提示:如果想要自定义世界名称,请使用 Multiverse-Core 并在 worlds.yml 中编辑世界别名)
  • %health
  • %player (玩家名称)
  • %town%nation (如果启用了 Towny 插件)
  • %clan (如果启用了 SimpleClans 插件)
  • %countryname%countrycode
  • %regionname%isp (玩家的互联网服务提供商)
  • 支持 PlaceholderAPI

支持全局聊天 (以 "!" 开头) 和本地聊天 (范围模式)。

使用 chatcontrol.chat.overrideranged 权限可以接收世界中的所有消息。

使用 chatcontrol.chat.spy 权限可以接收所有世界中的所有消息 - 间谍模式。

反垃圾信息

  • 阻止相同或相似的消息和命令
  • 去除特殊和重复字符以防止绕过 (可切换)
  • 忽略命令中的第一个参数以防止过于严格的检查
  • 可自定义的百分比
  • 设置消息和命令之间的时间间隔
  • 降低冗长且难以理解的消息的垃圾信息
  • 将命令列入白名单,免受延迟和相似性检查

反大写

  • 高效且智能的 CAPS 预防
  • 自定义最小消息长度、大写百分比、连续大写字母的数量以及忽略单词的白名单
  • 忽略玩家姓名

反机器人

  • 设置再次登录之间的时间间隔
  • 阻止具有相同文本的告示牌 (警告工作人员 + 掉落告示牌) (对"AutoSign"作弊很有用)
  • 阻止聊天,直到玩家在加入时移动 (防止机器人加入和垃圾信息)

聊天清理

清除游戏中的聊天。支持原因和参数:

  • -anonymous (-a) (隐藏清理者的姓名)
  • -silent (-s) (隐藏清理后的整个广播消息)
  • -console (清除控制台)

不清除非特定权限玩家的聊天记录。

聊天禁言

全局禁止聊天和执行禁言下的某些命令。

还隐藏加入/退出/踢出和死亡消息。

支持原因和参数:

  • -anonymous (-a) (隐藏清理者的姓名)
  • -silent (-s) (隐藏整个消息)
  • -console (清除控制台)

消息定制和广播

自定义或隐藏加入/退出和踢出消息。支持变量:

  • %player
  • %pl_suffix%pl_prefix
  • (参见上面聊天格式化程序中的更多变量)

发送虚假的加入或离开消息 (/chc fake)。

按指定的时间间隔广播消息。

  • 3 种模式 - 按顺序、随机和带有缓存的随机,可防止消息重复,直到所有消息都已广播
  • 设置前缀和后缀
  • 支持变量 %player%world
  • 每个世界的不同消息
  • 默认情况下,世界消息继承全局消息,可以通过在第一行插入 - excludeGlobal 来禁用此功能。

数据包功能

如果未给出任何参数,则禁用 Tab 补全,从而泄露服务器信息。

注意:如果使用 Spigot,建议禁用此功能并在 spigot.yml 中配置它!

更改其他插件甚至服务器消息(参见 rules/packet.txt 文件)。

控制台功能

从控制台中删除不需要的消息。

声音通知

当有人在聊天中提及你或你收到 '/tell'、'/r'(或任何指定的消息)时收到通知。

可自定义的声音、音量和音调。

尊重 MC 1.9 及更旧版本中声音名称的差异。

可以指定接收通知所需的前缀(例如 @kangarko)。

仅通知 AFK 玩家(可切换,需要 Essentials)。

语法

  • 自动将句子大写
  • 在末尾插入一个点
  • 尊重域名和 IP 地址
  • 定义大写和标点符号的最小消息长度

聊天记录保存

将整个聊天对话保存到文件。与控制台输出不同,这将仅保存玩家消息和指定的命令。

忽略某些玩家。

本地化

当前可用的位置:

  • 英语 (en)
  • 斯洛伐克语 (sk)
  • 捷克语 (cz)
  • 西班牙语 (es)
  • 德语 (de)
  • 法语 (fr)
  • 荷兰语 (nl)
  • 瑞典语 (se)
  • 匈牙利语 (hu)
  • 保加利亚语 (bg)

要自定义本地化,请在 plugins/ChatControl/localization/messages_LOCALE.yml 中创建一个文件(将 LOCALE 替换为本地化的短名称 - 上面括号中的名称)。

重新加载时,它将填充所有值并与更新的版本保持同步。

分组 (基于权限的设置)

为每个具有特定权限的组(或玩家)应用不同的设置。

示例:允许受信任的玩家快速键入,但将任务的消息延迟设置为 5 秒。

示例 2:为某些玩家/组设置不同的加入/离开/踢出消息。

更新器

  • 自动更新配置
  • 注意:更新时,YAML 注释 (#) 会丢失,因为 Bukkit 处理保存的方式。如果需要参考值或注释,请访问 GitHub 页面
  • 智能地报告错误和非法值
  • 注意:这在高级版本中得到了极大的改进。
  • 通知新版本可用性
  • 自动下载新版本
  • 由于异步处理,因此对性能的影响为零

轻量级 & 安全

  • 极其高效且低 CPU / RAM 使用率
  • 异步更新程序和非阻塞功能
  • 安全检查程序,可防止格式错误的正则表达式运行到无限循环并冻结服务器
  • 自定义语法分析器
  • 你可以关闭每个功能并更改每条消息!

新:Atom 的规则语法高亮显示

你是否想要在 Atom 编辑器中使用 ChatControl 的规则语法?

查看 https://atom.io/packages/language-mc-chatcontrol,作者 @Piepmatz。谢谢!

兼容性

该插件与 Craftbukkit 1.2.5 到最新的 Spigot / Paper(以及两者之间的大多数版本)兼容。

插件不使用 NMS 访问,因此它很可能不会在下一次发布 (1.10.x 等) 时中断。

运行插件的最低 Java 版本:Java 8

与 Cauldron & PaperSpigot 兼容

Minecraft 1.7.10 及更低版本:请在 ChatControl 旁边安装 BungeeChatAPI。

⌨️命令

使用 /chc list 显示插件的所有可用命令。

➕可选依赖项

  • ProtocolLib 用于 packet.txt 文件中的自定义规则和防止 Tab 补全。如果你使用的是 1.8,请确保你至少有 #70 或更新的版本!
  • EssentialsEssentialsX 用于检测 AFK 玩家。
  • Vault 用于聊天格式化并在自定义规则中的“then fine”运算符中收取玩家的钱。
  • Multiverse-Core 用于聊天格式化程序中的彩色世界别名。
  • Towny 用于聊天格式化程序中的 %nation%town 变量。
  • SimpleClans 用于聊天格式化程序中的 %clan 变量。
  • AuthMe Reloaded 用于更好的加入/踢出/退出消息。
  • PlaceholderAPI 用于额外的变量。
  • NoCheatPlus (不是依赖项,但推荐) 提供高级支持,也可防止多种类型的聊天垃圾信息。

⚙️配置示例


# Don't touch this unless you know what are you doing!
config: 3.2

# Set false if you have problem with the plugin loading.
enabled: true

# Toggle debug information to console?
debug: false

# Should we check for the plugin updates?
updater: true

# Automatically download updates from github?
auto_download_updates: false

# Language file, can be any from localization folder (without extension).
# When changing locale, you have to reload plugin using /chc reload
locale: 'en'

# You can execute commands from the console instead of the player.
# Works for all commands except /chc reload and /chc debug, and /chc admin
console_command_sender: 'CONSOLE'

# Here you can set the default encoding you want to save your files with,
# it is highly recommended you use UTF-8 if you are using special characters.
files_encoding: 'UTF-8'

# Set to true to let the plugin load even if some classes are missing (Vault etc.)
ignore_missing_dependencies: false

# Set this to true if you want to keep default configuration values instead of using those
# from /chc set.
#
# NOTE: Turning this off and issuing /chc set will reset your config to defaults!
use_set_values: true

#####################################################################################################################################
# Developer mode:
# Enabling this may cause unexpected issues and is for DEVELOPERS only!
#
# It will attempt to load the plugin in "unsafe" mode,
# enabling support for classes and methods that are normally
# restricted due to security reasons.
developer_mode: false

#####################################################################################################################################
# BStats settings
#
# bstats.org is a service that collects completely anonymous information about servers running this plugin,
# This allows me to understand how the plugin is used and helps me to improve it.
# Set enabled to false if you don't want to allow bStats collect this information.
bstats: true

❓需要帮助?提问?

点击此处向我们发送消息。

我们的目标是在 1-5 个工作日内回复所有客户。