- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
ChatControl Pro
介绍 · Introduction
ChatControl是一款易于理解和配置的多功能聊天管理插件,可以更容易地管理你的服务器聊天消息内容。这款插件最初用于防止刷屏、打广告、脏话和防机器人,但现在这款插件已经蜕变,其功能远超于一般的聊天管理插件。
完全支持强大的正则表达式来减少大量的刷屏信息、广告、脏话等,甚至是防机器人.
不仅初学者可通过带有大量注释的示例配置来创建属于你自己的游戏规则,而且高级用户可以利用正则表达式的强大功能来编辑你的javascript脚本来创建新的变量或事件。消息完全支持JSON。
提醒: 你可以在配置内关闭每一种特性和隐藏每一条消息. ChatControl几乎没有无法更改的硬核代码.一切皆有可能.
特性
五层防刷屏
- 1. 阻止玩家过快地聊天和输入指令.
- 2. 阻止相似的指令和消息.
- 3. 阻止不同但重复的消息 (hello, t, hello, t).
- 4. 自动防刷屏 (7.8.0+) 动态限制一段时间内玩家可发送的消息和指令数!
- 5. 砸掉复读机 (7.9.0+) 所有玩家都无法复读其他玩家的消息!
以下图片展示了新的自动防刷屏系统An image showing the new adaptive anti-spam, one among five (!) anti-spam layers we offer to absolutely eliminate any kind of misbehaviour:
- Supports non-English servers and diacritical marks (äôšć).
- Whitelist with regular expressions support.
- Disable 'disconnect.spam' kicking by permission.
- Supports Warn&Point system.
Beautiful Chat Formatter
Turn the default boring chat into a high grade beautiful chat that interacts with the player itself.
- Supports ranged chat - speak to a certain distance, or override and speak globally.
- Per world chat.
- Linked chat in several worlds.
- Spy mode and admin chat for staff.
- BungeeCords, DiscordSRV and PlaceholderAPI support.
- Unlimited possibilities with thousands of placeholders and Javascript conditions you can make some parts of a message (dis)appear dynamically!
- Color and decoration menu! Select the desired color and decoration any time, independently of your permission plugin.
An image showing the Color & Decoration menu, where you can easily choose your chat color and decoration. The setting is written to a disk file so it remembers you next time you log-in, unless you reset it. Notice: If you hate this feature you can completely cut it off. It will never show up.
Admin Chat for Your Staff
- Easy access: /chc ach (using this article you can create alias like /a)
- BungeeCords, DiscordSRV and PlaceholderAPI support.
Bungee Chat for All of Your Servers
- Easy access: /chc g (using this article you can create alias like /g)
- DiscordSRV (both ways) and PlaceholderAPI support.
Chat Channels and Party Chat
- Create unlimited amount of chatting rooms.
- JSON and interactive elements are fully supported.
- Save or log the messages.
- Ranged channel - speak only to a certain distance.
- Spy mode for administrators.
- Party chat via for example Towny or Factions.
- BungeeCords support.
- Automatically put players into channel (or make them spy a channel) when they join.
- DiscordSRV support both ways.
Clearing and Muting the Chat
- Commands to clear the chat or the console.
- Mute the chat globally, preventing spam messages f.x. from bot attacks.
Announcing Important Messages
- Broadcast important messages manually with the "/chc a" command to everyone on the server.
- Plays a sound to players (configurable).
- Bungeecord is supported.
Join, Quit & Death Messages
- Customize join/quit/kick and death messages.
- Supports advanced conditions for different messages per world, per permission, game-mode, killer, or a JavaScript condition and much more!
- An option to only show quit message if player is logged using AuthMe.
Private Messages
- Secretly message other players or console.
- Reply to the last received message.
- Supports interactive JSON formatting and notify sound.
- Social spy for administrators to watch conversations.
- BungeeCords support.
- /ignore command to ignore unwanted messages or private messages
- /togglepm command to disable receiving private messages
- /me command!
- Conversation mode! Start your message with @ + receiver's name, and you will be put in a private conversation automatically.
Bonus: Minecraft 1.12 and higher supports toast
notification for private messages:
Automatic Message Broadcaster
- Advanced timed message broadcaster with parameters, global and per world messages.
- Three modes (chronological, random, random with cache).
- Set both prefix and suffix (can be multi-line).
- JSON support.
Rules (supplies anti-swear, anti-ad, etc...)
Create your own rules using regular expressions to deal with certain messages (or parts of them! Rules include almost 20 operators, including ignoring players or modifying messages. Use handlers to manage multiple rules and prevent repetitive code.
You Can Use Rules To
- Curse/swear word filtering. (Almost 50 curse words are blocked by default!)
- IP/URL advertisements blocking
- Filter spam, repetitive characters
- Block unicode / non-english messages
- Correct typo/slang
- Command aliases
- Utility commands/messages
- Fun message replacements
- Send commands to BungeeCords
- ...rules are entirely up to you, and the possibilities are endless!
TIP: Use inbuilt command to easily add new rules! See Commands section.
TIP2: Operators support regex capturing groups, allowing you to reuse parts of the caught message.
Standard Rules. Support chat, commands, signs, books and items edited on anvil.
Packet Rules: Catch and modify any plugin or server message. Rewrite or cancel them. Option to rewrite one message differently over multiple worlds.
Chat Ignorer: Let players choose which messages (caught be a rule) they want/do not want to see. This can be used for example to allow players decide if they will see swear words, and hide them for those who do not wish to see them. Please review the following article on the Wiki for more information.
Lower Bot Attacks
- Set a DELAY between logging in again.
- Block chat and commands until the player has moved.
- Only show quit message if player was logged in using AuthMe.
- Prevent VULGAR or ILLEGAL nicknames.
- Prevent running commands from books.
Prevent CAPS
- Advanced configuration including white-list, message length, PERCENTAGE, caps in a row.
- Ignore player names.
- Supports Warn&Point system.
Console Filter
- Remove unwanted messages from the console.
Signs
- Prevent placing multiple signs with same text.
- Check signs for rules.
Groups
TIP: To allocate a player into a group, give them "chatcontrol.group.<group>" permission (replace <group> with the group name).
- Create infinite amount of groups where players with specified permission will have different settings, e.g. join/quit/kick messages, chat/command delay, etc.
Warn & Point System
An excessive warning point system with actions to be executed when players reach certain amount of points. Includes a reset task which will subtract some points upon certain time (configurable). An option to repeat last action until the reset task gets scheduled and smart warnings to prevent multiple messages to be sent to the player.
Create infinite amount of warning sets specifying points level to trigger and actions to execute. Give points to different warning sets independently from different parts of the plugin.
Writer
- Save chat communication to file.
- An option to also specify which commands will be saved and a white-list of excluded players.
Miscellaneous Features:
- Measure plugin's operations and print a warning if they take too long.
- Verbosing rules. If a message is caught by a rule, log it in the console.
- User-friendly debug allowing you to understand how plugin sees what you have configured and thus enabling you to fix own errors easily.
Bonus 1: Tagging and Sound Notify
- Tag players with specified character (e.g. "Hey @kangarko!") and make the tag colorful.
- Alert players when they receive a private message (/tell, /msg, /r) or any other defined command. Customizable sound, volume and pitch.
- Alert only players AFK (via Essentials) or to alert players only prefixed with specified character (e.g. "@").
Bonus 2: Packet Features
NOTICE: Requires ProtocolLib.
- Tab-Complete Manager. Prevent revealing your server configuration by disabling tab completion. An option to disable only in commands, to only allow if the message contains a white-space or to set a minimum message length.
- Packet Rules. Catch and control every message, also from internal server messages (from Spigot) or any other plugin you have. (see Packet Rules)
Bonus 3: JavaScript Variables
It is impossible to hook into all plugins and fetch their properties, because there are thousands of different plugins out there. That is why I decided to create a new, unique variable system which allows you can create your own variables!
This is a exclusive feature in ChatControl, that allows you to get any variable from any other plugin or even server itself, such as player's ping (without NMS access) or other properties. You use JavaScript to fetch any variable to your likings, and, possibly, modify it.
There are example files shipped in the documentation, so it should be easy to learn from the examples.
Bonus 4: Correct Player's Grammar
- Automatically insert a dot at the end of a sentence.
- Capitalize chat messages.
- Lowercase accidentally misspelled second letter (example: TRee becomes Tree).
- Configurable message length.
- Respects domains and ip-adresses.
Bonus 5: Newcomer's Features
- We offer special settings for your new players! You specify how much time spent on the server must a player have in order to be categorized as newcomer or not.
- Newcomers (can) have the following limitations:
- Custom message when they log-in.
- Disabled sending chat messages (whitelist supported).
- Disabled sending commands (whitelist supported).
- Disabled seeing messages from other players!
- Worlds in which the newcomer feature function, so you can disable all limitations instantly when your players go to a different world.
BungeeCords is supported!
The only thing you need to do is to allow it in settings.yml by settings 'BungeeCords.Enabled' to 'true' and installingBungeeControlBridge on your network.
NOTICE: Please do not put ChatControl on a bungee server, it is a Bukkit plugin. The only thing you need to put on the bungee is BungeeControlBridge.
BungeeCords features:
- Alert messages from rules and handlers over all servers.
- Admin chat with '/chc ach' and global chat with '/chc global'.
- Execute commands on bungee with the 'then bungeeconsole' operator in rules and handlers. Supports multiple commands.
- Chat channels.
- Private messages including '/tell' and '/reply'.
- Join, quit, kick and death messages.
- Messages when player joins or leaves the network, or switches between servers.
ChatControl speaks your language!
Currently available localizations:
English, German. Slovak and Czech + exclusive cases support (pády), Spanish, Chinese, Dutch, Hungarian, Russian, Portuguese, Italian, Polish, Turkish and many more! (See the top of this page)
TIP: To customize a localization, please see this article in the Documentation.
If you make a localization, it would be appreciated if you send it to me via a PM. Thanks!
JSON messages are fully supported. Everywhere.
The message automatically loses JSON when sent to console. Colour codes with & are still supported in JSON messages. SeeDocumentation for tutorials.
The possibilities are endless
Engage the power of regular expressions, Java's Reflections or JavaScript to create unlimited amount of rules, variables or events.
Developer API
Developers can take advantage of ChatControl's API to manipulate and edit channel-related features. Click here for the full documentation.
Smart Configuration
Settings file and localization warn you and repair themselves from incorrect values (e.g. a text instead of a number) and will be automatically upgraded when you install a new version.
NOTICE: When configuration updates, all YAML comments (#) are lost. This is due to how Bukkit handles the saving. If you need reference values and comments, open the plugin JAR file and see the latest versions of the files.
Reliable and Stable
ChatControl has been around here since 2013, the features has been tested on a production server and are thus stable and reliable.
Lightweight & Safe
ChatControl has efficient and optimized threads and memory usage. Updater runs asynchronously to prevent server freeze, and regular expressions are prevented into running an infinite loop and freezing the server.
Java 8
Minecraft 1.4.7 or newer *
* BungeeChatAPI required for Minecraft 1.7.10 or older. Packet features may not be available in Minecraft 1.6.4 and older.
You are allowed to buy this plugin only if you have:
1) Finished reading this page and understood its content. Do not make a blind purchase.
2) Acknowledged known cave acts and bugs. Please respect that the plugin is not perfect. Although it will work by drag & dropmethod, the settings are just examples and you are highly encouraged to review them and adjust to your needs, and on a regular basis.
3) Agreed with Terms of Service.
Thank you. I wish you the best experience using this plugin.
§1 I retain all rights and do not permit distribution, reproduction, or derivative works.
§2 The software is provided as it is, without any warranties on its functionality nor customer support.
§3 Refunds/chargebacks are prohibited, as one does not have a right to get a refund for such digital item as it has been used.
§4 One purchase is valid for one (1) Minecraft server, or one (1) instance of a bungee network.
§5 You may edit the source code as long as they are private changes, but you may not use the code in any other plugin. No support will be given to modified versions. No help is provided towards altering plugin's internals.
§6 You may not change the plugin to where it is unidentifiable within the game.
§7 I only give support on this forum, GitHub and occasionally Discord servers id 360404674219737100 and 465369859086090250. Be aware of fraud attempts.
§8 I can't physically prevent you from putting the plugin on the internet, but you may receive a significant amount of stress from legal issues and it's scientifically proven that stress shorten man's life and causes heart attack.
Community Contributions
Rules
If you have created rules that you think might be found useful for many, PM me and they will be posted here. We provide NO warranty on their functionality, effectiveness or false catches.
Author: ridalarry
Description: A compilation of swear and miscellaneous rules.
Link: http://pastebin.com/7gd9U2Dv [last update 17.06.2018]
Syntax Highlight for Atom
Do you want ChatControl's Rules Syntax in your Atom editor?
Check out https://atom.io/packages/language-mc-chatcontrol by @Piepmatz. Thank you!
F.A.Q
Why premium?
ChatControl has been free and open source for years. Despite being the most downloaded plugin on Spigot, very few donations (last in 2013) and praise have come in over the years. The decision to put it premium wasn't made lightly. I hope that putting a low price will make this plugin affordable for most people, while motivating me and enabling to cover costs of the countless hours of coding and giving support.
What about the support?
As some of you have noticed, I am not available everyday. Despite putting this premium, I still have to attend school and do the same everyday things. That is to say, please respect that sometimes I am not able to give support within 24 hours. Keep in mind I provide the plugin without any warranties. However, I will try to do my best and come at least once a day to check the forums and answer (mostly afternoon; as my timezone is UTC +1).
Can I upgrade from the free version?
Yes, please see this Documentation article.
聊天格式
- 需要Vault
- 聊天格式变量:
- %pl_prefix 和 %pl_suffix
- %world (提示: 如果你想要显示自定义世界名, 请使用Multiverse-Core 并在worlds.yml内编辑alias自定义世界名)
- %health
- %player (玩家名)
- %town 和 %nation (Towny的城镇和国家名)
- %clan (SimpleClans的公会/帮派名)
- %countryname 和 %countrycode
- %regionname 和 %isp (玩家的IP)
- 支持PlaceholderAPI的变量.
- 支持 全服 聊天 (开头加上 "!") 和本地聊天 (ranged模式)
- 用 chatcontrol.chat.overrideranged 权限来收听全世界的对话消息
- 用 chatcontrol.chat.spy权限来查看所有世界的消息 - 监察模式
防刷屏
- 阻挡 相同或相似的 消息和指令
- 删除特殊和重复字符(可开关)
- 忽略指令中的第一个参数以防止插件检测过于严格
- 自定义几率
- 设置聊天和输入指令的 冷却
- 缩短过长的 非人话 的刷屏消息
- 冷却和相似性检测的指令白名单
智能拦截
- 有效并智能地阻止相似的消息、指令
- 设置一行消息的最小消息长度,相似度、数量和忽略单词的白名单
- 忽略玩家名
防机器人
- 设置登录间隔
- 防止放置相同内容的告示牌 (告知管理员并掉落牌子) (用于防止 "AutoSign"作弊功能)
- 如果玩家登录后未移动则无法聊天 (防止机器人加入服务器并开始刷屏)
清空聊天
- 清空聊天栏. 支持以下参数:
- -anonymous (-a) (隐藏清空者的名字)
- -silent (-s) (隐藏清空后播报的消息)
- -console (清空控制台消息)
- 不会清除有权限的玩家的聊天消息
全服禁言
- 在禁言期间玩家无法聊天和输入特定的指令.
- 并且会隐藏这名玩家的加入/退出/踢出和死亡消息.
- 支持以下参数:
- -anonymous (-a) (隐藏清空者的名字)
- -silent (-s) (隐藏清空后播报的消息)
- -console (清空控制台消息)
自定义消息 & 广播
- 自定义或隐藏 加入/退出 和踢出玩家的消息. 支持变量:
- %player
- %pl_suffix and %pl_prefix
- (更多变量请查看上面的聊天变量)
- 发送 假的加入或退出游戏的消息 (/chc fake)
- 定时广播
- 3种模式 - 顺序、随机和缓存随机
- 可设置一个 前缀 和 后缀
- 支持变量 %player 和 %world
- 不同世界不同消息
- 默认情况下,世界消息继承全局消息,可以通过在第一行插入-excludeglobal来禁用
发包特性
- 如果没有参数则关闭 tab补全指令 , 防止泄露服务器插件信息.
- 提醒: 如果你使用的是 spigot,推荐关闭这个功能并在spigot.yml内修改配置!
- 改变其他插件甚至是服务器的消息 (详情查看 rules/packet.txt 文件)
控制台特性
- 删除不想看到的消息
提醒音效
- 当有人@你的时或你收到了 '/tell', '/r' 的回复(或任意指定的消息)会有提醒音效
- 自定义的声音、音量和音高.
- 支持不同MC版本的音效名
- 可以设置受到提醒时的前缀 (如 @kangarko)
- 只会提醒 双手离开键盘的(AFK) 玩家 (需要 Essentials,可关闭)
语法
- 自动大写句子开头(英文)
- 自动在句子结尾加上句号.
- 显示地区和IP地址
- 设置大写和加句号的句子所需最小长度
聊天记录
- 把聊天消息保存到文件内. 这并非如控制台那样记录日志,这只会保存玩家的消息和特定的指令
- 忽略特定的玩家
本地化
- 目前可用语言:
- 英语 (en)
- 斯洛伐克语 (sk)
- 捷克语 (cz)
- 西班牙语 (es)
- 德语 (de)
- 法语 (fr)
- 荷兰语(nl)
- 瑞典语 (se)
- 匈牙利语 (hu)
- 保加利亚语 (bg)
分组(特定权限设置)
不同分组不同设定
- 示例: 允许特定的玩家无视冷却.
- 示例 2: 设置 不同的加入/离开/踢出服务器消息.
更新提醒
- 自动更新插件配置(会覆盖插件注释)
- 注意: 更新后,YAML的注释会丢失. 你可以到github 页面来查看注释
- 智能检测报错和非法数值
- 注意: 这一功能已在付费专业版大幅改善.
- 新版本更新
- 自动下载新版本
- 高效的异步处理
轻量 & 安全
- 插件性能高效,只占用少量的 CPU / RAM
- 异步更新插件和特性
- 防止控制台无限刷屏d1安全检测器
- 自定义语法解析器
你可以开关 每个 特性和改变 每一条 消息!
Atom的高级语法规则
你想要 ChatControl的语法规则in your Atom editor?
查看@Piepmatz制作的 https://atom.io/packages/language-mc-chatcontrol
兼容性
- 插件兼容 Craftbukkit 1.2.5 至最新的spigot版本 .
- 插件不使用 NMS access 所以不大可能会因更新服务端版本而失效 (1.10.x之类的版本)
- 插件至少需要JAVA版本: Java 8
- 兼容Cauldron & PaperSpigot
效果
指令
用 "/chc list"来显示插件的所有指令.
配置
查看Github或MCBBS搬运帖
可选前置
- ProtocolLib 用于packet.txt内的自定义规则来防止TAB补全指令.
- 如果你使用的服务端为 1.8,确认你的ProtocoLib版本至少为#70!
- Essentials 或 EssentialsX 来检测暂时离开游戏的玩家.
- Vault 用于聊天格式和自定义规则中取钱.
- Multiverse-Core 在聊天格式中显示世界名.
- Towny 在聊天格式中显示 %nation国家名 和 %town城镇名.
- SimpleClans 在聊天格式中显示%clan 公会名.
- AuthMe Reloaded 3.5 或5.1+ 显示更好的加入/踢出/退出游戏的消息.
- PlaceholderAPI 支持更多变量.
- NoCheatPlus (这不是前置,但推荐使用) 可以用于防止更多类型的刷屏.
需要帮助?到Issue Tracker反馈你的问题.