• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

ChatControl Pro

来自Minecraft插件百科
Qsefthuopq讨论 | 贡献2019年1月5日 (六) 15:42的版本
跳转至: 导航搜索

欢迎来到ChatControl Pro插件词条

插件名
ChatControl Pro

作者
kangarko

版本
7.11.3

兼容版本
1.7.10-1.13

购买地址
Spigot.png

Ccp1.png

介绍  · Introduction

ChatControl是一款易于理解和配置的多功能聊天管理插件,可以更容易地管理你的服务器聊天消息内容。这款插件最初用于防止刷屏、打广告、脏话和防机器人,但现在这款插件已经蜕变,其功能远超于一般的聊天管理插件。

完全支持强大的正则表达式来减少大量的刷屏信息、广告、脏话等,甚至是防机器人.

不仅初学者可通过带有大量注释的示例配置来创建属于你自己的游戏规则,而且高级用户可以利用正则表达式的强大功能来编辑你的javascript脚本来创建新的变量或事件。消息完全支持JSON。


提醒: 你可以在配置内关闭每一种特性和隐藏每一条消息. ChatControl几乎没有无法更改的硬核代码.一切皆有可能.

特性

Ccp2.png


五层防刷屏


  • 1. 阻止玩家过快地聊天和输入指令.
  • 2. 阻止相似的指令和消息.
  • 3. 阻止不同但重复的消息 (hello, t, hello, t).
  • 4. 自动防刷屏 (7.8.0+) 动态限制一段时间内玩家可发送的消息和指令数!
  • 5. 砸掉复读机 (7.9.0+) 所有玩家都无法复读其他玩家的消息!

以下图片展示了新的自动防刷屏系统:

Ccp3.png
  • 支持 非英语服务器diacritical marks (äôšć).
  • 支持常规表达式白名单.
  • 可用权限关闭 '刷屏'踢出 .
  • 支持警告&计分系统.



美观的聊天格式


让玩家可以设置不同的聊天格式.

  • 支持 范围聊天 - 只有一定距离内的玩家才能听到,全服聊天.
    • 不同世界聊天显示不同
    • 一些世界内的'链接聊天'.
  • 侦查模式管理员聊天频道.
  • 支持BungeeCords, DiscordSRVPlaceholderAPI .
  • 支持所有的placeholders变量和Javascript条件!
  • 颜色和格式菜单!选择你想要的字体颜色和格式.

以下图片展示了颜色和格式菜单,点击对应的颜色即可应用字体颜色和格式. 设置会被保存到文件内所以玩家下次登录时仍可使用之前使用的设置. 提醒: 如果你不喜欢这个特性的话你可在配置内关闭这一特性.


管理员聊天

  • 使用方法: /chc ach (你可以创建如/a 的缩写指令)
  • 支持 BungeeCords, DiscordSRVPlaceholderAPI.


BC跨服聊天

  • 使用方法: /chc g (缩写为/g)
  • 支持 BungeeCords, DiscordSRVPlaceholderAPI.


聊天频道和派对聊天

  • 可创建无限多的 聊天室.
  • 完全支持交互元素和JSON .
  • 保存或记录聊天消息.
  • 范围频道 - 只和一定范围内的玩家聊天.
  • 管理员可用'侦查模式'.
  • 通过如TownyFactions的插件实现派对聊天派对聊天.
  • 支持BungeeCords.
  • 在玩家加入游戏时自动加入聊天频道 (或使玩家侦查聊天频道消息) .
  • 支持DiscordSRV.

清空聊天消息和全服禁言

  • 可通过指令 清除聊天栏消息或控制台消息.
  • 全服禁言,可防止压测机器人刷屏.


广播

  • 可通过 "/chc a" 指令向全服玩家播报 重要的消息.
  • 会对玩家播放音效 (可配置).
  • 支持Bungeecord.


加入、退出游戏和死亡消息

  • 可自定义加入、退出游戏和死亡消息.
  • 支持如 不同世界/权限/游戏模式/杀手/JS条件显示不同的消息!
  • 可设置只在玩家用AuthMe登录后显示退出游戏的消息.


私聊

  • 私聊其他玩家或从控制台发出私聊.
  • 回复 收到的上一条私聊.
  • 支持 JSON交互格式和提醒音效.
  • 管理员可用侦查模式偷窥玩家对话.
  • 支持BungeeCords.
  • 可用/ignore 来忽略不想看到的消息或私聊
  • 可用/togglepm 来关闭接收私聊
  • 支持/me !
  • 对话模式! 在你的聊天对话开头用 @ + 玩家名, 你就会自动进入私聊模式.
  • 额外功能: 只支持1.12+版本

Ccp6.gif


自动广播消息

  • 包括全服各世界两种类型的高级定时消息广播,
  • 三种模式 (按时间顺序、随机、缓存随机).
  • 可设置前后缀 (可设置多行).
  • 支持JSON.


规则

使用正则表达式来创建属于你的规则来管理特定的消息 (或是其中的一部分! 规则包含大概20个operators,其中包括忽略玩家和修改消息.可用处理器来管理多条消息而无需繁复的代码.

你可用用规则来

  • 过滤脏话. (默认阻止50多个英文脏话!)
  • 阻止IP/URL广告
  • 刷屏过滤
  • 阻止unicode /非英语消息
  • 输入校正
  • 添加指令缩写
  • 修改指令/消息
  • 替换为有趣的消息
  • 发送指令到 BungeeCords
  • ...规则取决于你,一切皆有可能!

提醒: 使用构建中的指令可以更简单地添加规则! 请查看指令部分.

提醒: Operators支持 正则表达式补货组,可以让你再次使用捕捉到的部分消息.

标准规则. 支持聊天、指令、告示牌、书本和铁砧修改物品.

发包规则: 捕获并修改任何插件或服务器的消息. 可重写或修改这些消息. 可设置不同世界显示同一条消息不同的修改内容.

聊天忽略: 可以让玩家屏蔽 (由规则捕获) 他们不想看到的内容.这可以让玩家自主过滤脏话或屏蔽某个玩家. 请查看插件WIKI获取详细内容.


减缓机器人攻击


  • 可设置登录冷却.
  • 如果玩家登录后未移动则无法聊天.(防止机器人加入服务器并开始刷屏)
  • 只在玩家用AuthMe登录后显示退出游戏的消息.
  • 禁止 粗俗或非法的昵称.
  • 禁止通过 书本执行指令.


相似度检测

  • 包含白名单、消息长度、相似度和相似消息的高级配置.
  • 忽略玩家名.
  • 支持警告&计分系统.


过滤控制台消息

  • 删除掉不想看到的控制台消息.


告示牌

  • 防止玩家放置多个相同内容的告示牌.
  • 可用规则检测告示牌内容.

分组

提醒: 想要让玩家进入一个分组,只需给予权限 "chatcontrol.group.<组名>" 即可.

  • 创建 无限多的组来使 拥有不同权限的玩家获得不同的设置,如 加入、退出游戏的消息,聊天/指令冷却等.

警告和计分系统

当玩家达到指定分数后会触发一些东西.之后会重置该任务并在一段时间后降低分数(可配置).

可设置直到重置任务得到安排才重复上一个操作,并智能警告玩家,以防止向玩家发送多条消息.

可创建无限多的警告消息,指定要触发的分数和要执行的操作.可给予一个分数不同的警告消息来使用插件的不同功能.


记录器

  • 保存聊天消息到文件内.
  • 可设置保存指令和不保存特定的玩家的聊天消息.

更多特性

- 检测插件的操作时间,如果占用时间过长会发出警告.

- 违法记录. 如果一条消息被规则捕获到就会被记录到控制台.

- 对用户友好的调试模式可以让你查看配置的内容来让你轻松地找出配置的错误并校正.


Bonus 1: @和音效提醒

  • 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: 发包特性

注意:需要ProtocolLib.

  • Tab补全管理器. 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.
  • 发包规则. Catch and control every message, also from internal server messages (from Spigot) or any other plugin you have. (see Packet Rules)

Bonus 3: JavaScript变量

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: 语法校正

  • 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: 新人特性

  • 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!

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特性:

  • 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

效果

Ccl2.gif
Ccl3.gif
Ccl4.gif
Ccl5.gif

指令

用 "/chc list"来显示插件的所有指令.

配置

查看Github或MCBBS搬运帖


可选前置

  • ProtocolLib 用于packet.txt内的自定义规则来防止TAB补全指令.
    • 如果你使用的服务端为 1.8,确认你的ProtocoLib版本至少为#70!
  • EssentialsEssentialsX 来检测暂时离开游戏的玩家.
  • Vault 用于聊天格式和自定义规则中取钱.
  • Multiverse-Core 在聊天格式中显示世界名.
  • Towny 在聊天格式中显示 %nation国家名 和 %town城镇名.
  • SimpleClans 在聊天格式中显示%clan 公会名.
  • AuthMe Reloaded 3.55.1+ 显示更好的加入/踢出/退出游戏的消息.
  • PlaceholderAPI 支持更多变量.
  • NoCheatPlus (这不是前置,但推荐使用) 可以用于防止更多类型的刷屏.

需要帮助?到Issue Tracker反馈你的问题.