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

ChatControl Pro/WIKI

来自Minecraft插件百科
Qsefthuopq讨论 | 贡献2019年1月28日 (一) 18:54的版本 权限
跳转至: 导航搜索

ChatControl Pro WIKI

译者
Qsefthuopq

作者
kangarko

原文
75px

子页面

ChatControl Pro/WIKI/常见疑问

ChatControl Pro/WIKI/权限

ChatControl Pro/WIKI/格式

ChatControl Pro/WIKI/频道

欢迎查阅ChatControl Pro Wiki! 你可以在这里了解到插件的详细诠释并可以将该插件的功能发挥到极致.

兼容性

在你查看该页面之前,确认你正确地安装了该插件所需的硬件和软件.

ChatControl Pro在开发时插件作者就考虑到了插件的稳定性和性能. 这款插件从2013年诞生至今已经经过了无数次的优化来尽可能地高效运行. 插件作者也会尽可能地考虑与其他插件的兼容性.

插件兼容性

你可以安装以下兼容ChatControl的插件. ChatControl在开服时会自动检测兼容的插件并启用额外的特性.

  • AuthMe 的 {country_name} 和 {country_code} 变量,用于聊天格式和加入/退出/踢出的消息.
  • 用BungeeControlBridge兼容群组服.
  • DiscordSRV关联Discord聊天内容.
  • EssentialsEssentialsX 来检测暂时离开游戏的玩家和支持昵称变量{nick}.
  • Factions MCore, FactionsUUID, FactionsOne 和 LegacyFactions 的派系变量 {faction}. 使用 PlaceholderAPI来获取更多相关变量. PS: 如果你在聊天格式或检测器上遇到了麻烦, 可在setting.yml内设置 Listener_Priority.Checker 为 LOWEST.
  • Feudal的组队聊天频道.
  • MVdWPlaceholderAPI 的第三方变量. 插件作者不保证这些变量能够正常使用.
  • 在聊天格式内显示Multiverse-Core的彩色世界名.
  • Nametags显示玩家前缀 (前缀变量 {nametags_prefix}) (后缀变量 {nametags_suffix}).
  • 获取Nicky的昵称变量 {nick}
  • PlaceholderAPI的第三方变量. 插件作者不保证这些变量能够正常使用.请使用{variable} 用法, 而不是这个插件的 %variable%用法!
  • ProtocolLib实现发包规则和关闭Tab补全.
  • SimpleClans 公会名变量 {clan}.
  • Towny 国家 {nation} 和城镇 {town} 变量.
  • 用Vault在聊天格式中显示玩家的前后缀并可用规则的运算符"then fine"来取钱.

WIKI编辑者的推荐插件

  • Confiscate,不是在打广告(实际上就是),但这是款可以管理ChatControl未管理到的区域并使你的服务器更加安全的插件.
  • NoCheatPlus (不是前置,但推荐使用相关的反作弊插件), 可以防止更多类型的刷屏.

Bukkit服务端

插件支持多种服务端,但在一些服务端内部分功能可能无法正常使用. 请查看以下内容来确认插件是否兼容你的服务端版本.

  • Spigot (所有以下列出的版本). 已经过测试完全兼容.
  • PaperSpigot (所有以下列出的版本). 已经过测试完全兼容.
  • Craftbukkit (所有以下列出的版本).对于1.8以上的版本无法使用可交互聊天信息. 请使用 Spigot 或 PaperSpigot 或是关闭无法使用的功能 (缺失methods).
  • Thermos 1.7.10. 无法正常使用! 不幸的是, Thermos会替代一些Minecraft服务器的基本功能和libraries,所以插件无法正常使用.
  • (K)Cauldron 1.7.10. 也许无法正常使用. 需要安装SpecialSources 和 BungeeChatAPI. Cauldron替换了很多library且这些内容已过期.
  • 其他衍生服务端 (在兼容的Minecraft版本内). ChatControl会占用最小的服务器性能且拥有一些安全机制来防止数据丢失. 插件应该可以使用, 但仍推荐你不时地查看服务器日志来确认是否有报错.

Java版本

Java 8 以及更新的版本.

兼容版本

你可以在以下版本运行 ChatControl Pro . 请注意 x 代表了子版本, 比如 1.11.0 和 1.11.2.

Minecraft版本 兼容性
1.12.x 兼容.
1.11.x 兼容.
1.10.x 兼容.
1.9.x 兼容. 由于缺少API,书本规则无法使用.
1.8.x 兼容.
1.7.10 也许需要BungeeChatAPI .
1.6.4 需要BungeeChatAPI.
1.5.2 需要BungeeChatAPI.
1.4.7 需要BungeeChatAPI.
1.3.2 兼容,但一些功能会缺失.
1.2.5 免费版本兼容,由于太多数据库缺少所以付费版本不兼容.

免费版和专业版的区别

如果你打算购买专业版, 请先查看以下内容.
Ccp17.png
从免费版升级到专业版是可行的.但在此之前我推荐你先备份插件文件夹.

  1. settings.yml 和 chat.yml 无法自动升级. 这些文件会被重命名为 old_settings.yml 和 old_chat.yml file. 你不会失去任何数据.
  2. 你需要手动修改变量, 旧变量用法 (%variable%) 已改为({variable}).详情如下.

用notepad++升级版本

Ccp18.png

  1. 红色: 打开含有变量的文件. 按下 CTRL + F来打开 '寻找和替换'窗口.然后点击 '替换'.
  2. 橙色:修改设置.
  3. 黄色: 填入以下内容:

'查找目标'区域: (%(\w+))

'替换为' 区域: {$2}

  1. 绿色: 点击 '替换' 按钮并重复操作直至替换掉所有的旧变量
  2. 在每个文件内重复该操作 (settings.yml, handlers.yml, chat.yml,和variables/javascript.txt). 这是升级版本最安全的方法,大概需要花费你5分钟的时间.如果你使用了自定义语言文件你还需要在'localization/'内更新变量(汉化配置已修改).

监听器优先级

一个常见的疑问就是不兼容其他聊天插件. 如Towny/EssentialsChat. 甚至是BanManager.查看以下内容来设置插件的兼容性.

基本内容

安装

安装十分简单.步骤如下


  1. 当你购买ChatControl Pro后,下载最新版本.
  2. 拖拽文件到 'plugins/' 内.
  3. 重启服务器.

以下图片图解第一次运行的情况. 你会受到新文件创建的提醒.
Ccp19.png
你需要特别注意开服时在控制台显示的信息. 这些信息包括了如何安装的相关信息并且会告诉你插件更新了什么内容.

屏蔽启动消息

如果你认为开服时显示的信息太多了,你可以在 settings.yml内设置Silent_Startup 为 true 来关闭. 你仍然在更新配置时能够看到更新日志.
Ccp20.png

更新

更新这个插件十分简单方便.只需拖拽新的插件文件到 plugins/内即可.但你需要先删除旧的插件文件.

插件完成更新后,所有的设置都会自动更新.不像其他大多数插件, ChatControl Pro会在控制台显示每次更新的内容.

Ccp21.png

特殊内容

版本 7.5.0

  • 这个版本改变了大量内容并对配置进行了优化,所以这个版本无法自动更新.
  • 文件 chat.yml 分成了 formatting.yml 和 channels.yml, 且会被重命名为old_chat.yml

配置

ChatControl 使用 YAML文件的语法来保持配置简明易懂.

文件结构

当你完成插件安装后, except for the logs/ folder which is created later.

  • logs/ - 记录脏话、广告、违反规则、规则变化和聊天信息等内容的文件夹.
  • rules/ - 存储所有规则文件的地方: global (对任何事物),聊天、书本告示牌等规则...
  • variables/ - 存储你设置的自定义变量的地方.
  • variables/javascript.txt - 你可以在这里用Javascript创建属于你的自定义变量.
  • formatting.yml - 可交互聊天格式设置.
  • handlers.yml - 存储所有的处理器、行为分组.
  • channels.yml - 聊天频道设置.
  • messages.yml - 消息设置.
  • settings.yml - 主配置,详情如下.

settings.yml

这是主要的配置.你可以在这里修改所有的设置.并且这个文件会在你更新插件版本时自动更新(可能会覆盖注释但不会覆盖修改过的配置). 汉化配置请前往MCBBS搬运帖查看

注释可能会在插件更新新版本配置时被覆盖


# !-------------------------------------------------------------------------------------------------!
#                       欢迎来到 ChatControl PRO 主配置
# !-------------------------------------------------------------------------------------------------!
#    翻译:qsefthuopq 中文变成乱码 从90%到0%开始翻译 —— 2019.1.27
#    由于是二次翻译 部分直译注释会适当精简 
#    原WIKI链接已替换为中文WIKI链接 部分页面可能还暂未完成翻译
#    完整的WIKI请查看:
#    - https://github.com/kangarko/ChatControl-Pro/wiki
#
# !-------------------------------------------------------------------------------------------------!
#
#    1)支持颜色代码 '&' 字符. 详情查看
#       - http://minecraftwiki.net/wiki/Formatting_codes
#       [!] When you use them, omit the message with " " or ' '.
#
#    2) 隐藏请设置为'none'.
#
#    3) 对于UNICODE字符 (smileys, symbols, ..), 请以UTF-8编码保存文件详情查看
#       - https://github.com/kangarko/ChatControl-Pro/wiki/Use-Right-Encoding
#
#    4) 支持JSON. 详细用法请查看:
#       - https://github.com/kangarko/ChatControl-Pro/wiki/JSON
#
#    5) 不同版本的音效请查看:
#       - 1.9 +: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
#       - 1.8 -: https://goo.gl/ArzbZA
#
#    PS: 以上信息可应用于插件的所有文件.
#
#    !! 消息 (如 'Please wait 2 seconds [...]') 存储在语言文件内,详情查看:
#       - https://github.com/kangarko/ChatControl-Pro/wiki/Localization
#
# !-------------------------------------------------------------------------------------------------!

# -------------------------------------------------------------------------------------------------
# 缓解假人刷屏
# -------------------------------------------------------------------------------------------------
Anti_Bot:
  
  Cooldown: 
  
    # 重登冷却
    Rejoin: 4
    
    # 登录后多久才能聊天
    Chat_After_Login: 1
    
    # 登录后多久才能输入指令
    Command_After_Login: 1
  
  # 是否禁止未移动的玩家发送消息? 他们仍可以发送指令.
  Block_Chat_Until_Moved: true
  
  # 禁止使用的指令.
  # 设置为这样来关闭: Block_Commands_Until_Moved: '[]'
  Block_Commands_Until_Moved:
    - /afk
    - /me
  
  # 如果你安装了 AuthMe,是否只显示玩家退出游戏的消息?
  # [提示] To disable join message, enable 'delayJoinMessage' in AuthMe's configuration.
  Show_Quit_Message_Only_If_Logged: true
  
  # 玩家是否无法放置相同内容的告示牌.
  Block_Signs_With_Same_Text: true
  
  # 防止使用非法玩家名的玩家加入服务器. 支持正则表达式.
  Disallowed_Nicknames:
    - '(f+(\W|\d|_)*u+(\W|\d|_)*c+(\W|\d|_)*k+(\W|\d|_)*)'
    - bitch
    - asshole
    - admin
    - operator

# -------------------------------------------------------------------------------------------------
# 防止大写字母 对中文基本没用
# -------------------------------------------------------------------------------------------------
Anti_Caps:
  Enabled: true
  Enabled_In_Commands: false
  
  # 检测的指令. 需要启用 'Enabled_In_Commands'.
  # [提示] 对所有指令都启用检测只需设置为 - '/'
  Commands_To_Apply:
    - /msg
    - /tell
  
  # 当玩家触发过滤器时给予的警告分数?
  # [提醒] 只在启用警告分数系统时有效. 设置为这样关闭: 'Amount: 0'
  Points: 
    Warn_Set: spam
    
    # 你可以在这里使用有效的数学表达式.结果取整 (没有小数).
    Amount: 4 * ({capsPercentage} / 2)
  
  # 是否允许玩家名大写? 如果出现了性能问题请关闭这项 (尤其是在大型服务器内).
  Ignore_Usernames: false
  
  Min_Message_Length: 5
  Min_Caps_Percentage: 50
  Min_Caps_In_A_Row: 5
  # 当大写率超过限制时是否只发送警告消息? 
  # 必须≥ Min_Caps_Percentage.
  Warn_If_Caps_Above_Percent: 50
  #大写单词白名单
  Whitelist: 
  - OMG
  - LOL
  - WTF
  - WOW
  - ROFL
  - GG

# -------------------------------------------------------------------------------------------------
# 防刷屏
# -------------------------------------------------------------------------------------------------
Anti_Spam:

  # 这部分应用于指令和消息.
  #
  # 相似度检测会检测玩家这条和上一条消息的相似度,
  # 并阻止玩家发送相同或相似的消息.
  Similarity_Check:
  
    # 如果你的服务器不是英语环境, 关闭这些项来优化性能.
    Ignore_Special_Characters: true
    
    Ignore_Duplicate_Characters: false
  
  # 是否对 相似度白名单、Whitelist_Time 和Parrot的白名单应用正则表达式?
  Regex_In_Whitelists: false
  
  # 防指令刷屏.
  Commands:
  
    # 指令冷却.设置为0关闭
    Command_Delay: 2
    
    # 限制玩家在一段时间内发送的消息数.
    Limit: 
      Period: 10 seconds
      # 默认玩家10秒内可以发送8条指令.
      Max_Commands: 8
    
    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置为这样关闭: 'Amount: 0'
    Delay_Points:
      Warn_Set: fastmessages
      
      #  {delay} 为两条消息间的间隔.
      Amount: 3 - {delay}
    
    # 相似度检测.
    # 设置为0或100关闭.由于指令冷却已经可以很好屏蔽指令刷屏了译者已关闭这个功能.
    Similar_Percentage_Block: 0
    
    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置"Amount" 为0来关闭.
    Similarity_Points:
      Warn_Set: spam
      Amount: 4 * ({similarityPercentage} / 2)
 
    # 如果启用这项, 只有在以下白名单列出的指令会被检测.
    Whitelist_Works_Like_Blacklist: false
 
    # 可重复输入的指令.
    Whitelist_Similarity:
    - /tell
    - /pm
    - /t
    - /w
    - /r
    - /togglepm
    - /togglebroadcast
 
    # Commands that the player is not forced to wait before executing them next time.
    Whitelist_Delay:
    - /spawn
    - /hello
    
    # Commands to handle as chat. 
    # Includes anti-spam, rules, writer, points, anti-caps, capitalizing and punctuation.
    Handle_As_Chat:
    - /me

  # Anti-spam section for messages.
  Chat:
    
    # How many seconds must the player wait between their next message? Set to 0 to disable.
    Message_Delay: 1

    # Limit how many messages the player can send within a certain time frame.
    Limit: 
      Period: 10 seconds
      # By default they can send up to five messages within a ten seconds period.
      Max_Messages: 8

    # Block players repeating what others said.
    Parrot:
      Enabled: true
      
      # When scanning for others' messages, only take in account messages newer than the specified period:
      # [提示] 20 ticks = 1 second
      Delay: 20 ticks
      
      # How similar must the message be (in percent from 0 to 100) to be blocked? 
      Minimum_Similarity: 85
      
      # A message that starts with the following will be ignored from the similarity check.
      Whitelist: 
        - hello
        - hey

    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置为这样关闭: 'Amount: 0'
    Delay_Points:
      Warn_Set: fastmessages
      
      # The {delay} is the delay between the current and last message (in seconds)
      Amount: 3 - {delay}

    # Block repetitive messages if they are similar to the previous one, in percent.
    # Set to 0 or 100 to disable.
    Similar_Percentage_Block: 80
    
    # Amount of previous messages to check. Increases effectiveness and preventing spam like so:
    # <player> t
    # <player> lol
    # <player> t
    # <player> lol
    Similarity_Message_Check_Count: 2
    
    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置"Amount" 为0来关闭.
    Similarity_Points:
      Warn_Set: spam
      Amount: 4 * ({similarityPercentage} / 2)
    
    # A message that starts with the following will be ignored from the similarity check.
    Whitelist_Similarity:
    - hello
    - hey
    
    # A message that starts with the following will be ignored from the delay check.
    Whitelist_Delay:
    - test
    
# -------------------------------------------------------------------------------------------------
# Correct player's grammar.
# -------------------------------------------------------------------------------------------------
Grammar: 
  
  # Punctualize every sentence (insert a dot at the end).
  Insert_Dot:
    Enabled: true
    Min_Message_Length: 5

  # Capitalize sentences (make the first letter uppercased).
  Capitalize:
    Enabled: true
    Min_Message_Length: 5
    
  # Lowercase the second character if accidentally misspelled (如 TRee -> Tree)
  # The sentence must have 2+ letters, with the 1st being uppercase and only the 2nd lowercase.
  Lowercase_Second:
    Enabled: false

# -------------------------------------------------------------------------------------------------
# Remove all messages from the chat with the "/chc clear" command.
# -------------------------------------------------------------------------------------------------
Clear:
  Broadcast: true
  Do_Not_Clear_For_Staff: true

  # Amount of blank lines to be printed to the console.
  Console_Lines: 300

# -------------------------------------------------------------------------------------------------
# Stop people from writing to the chat with the "/chc mute" command.
# -------------------------------------------------------------------------------------------------
Mute:
  Broadcast: true
  
  # If you have Essentials installed, the actions below will apply to players muted from there as well.
  Apply_Limits_For_Essentials_Mute: true
  
  # Deny following actions while the chat is muted.
  Prevent:
    Writing_Books: false
    Placing_Signs: true
    
  # Hide the following messages while the chat is muted.
  Silence:
    Join_Messages: true
    Quit_Messages: true
    Death_Messages: true

  Disabled_Commands: 
  - /me
  - /tell
  - /msg
  - /r
  - /w

# -------------------------------------------------------------------------------------------------
# Apply chat rules differently for new players on your server.
# -------------------------------------------------------------------------------------------------
Newcomer: 
  
  # How much time must a player spend on the server to no longer be considered as a newcomer?
  # Set to 0 minutes to disable
  Threshold: 0 minutes
    
  # In which worlds should we enable this feature? Useful when you have a newbie world.
  # Example: [survival, nether, end]. Set to ["*"] to enable in all worlds.
  Worlds: ["*"]
  
  Restrict_Chat: 
    # Block newcomers from chatting ?
    Enabled: true
    
    # What messages should we allow anyways? Case-insensitive. Split by ", ". Example: [quit, end]
    Whitelist: []
    
  Restrict_Seeing_Chat: 
    # Prevent newcomers from seeing chat messages?
    Enabled: true
  
  Restrict_Commands:
    # Prevent newcomers from using commands?
    Enabled: true
    
    # Reverse the functionality of the Whitelist?
    Blacklist: false
    
    # What commands to allow anyways?
    # If Blacklist is enabled, only the commands here will be blocked.
    Whitelist: 
      - /login
      - /l
      - /register
      - /reg
      - /helpop
      - /help
      - /?

# -------------------------------------------------------------------------------------------------
# Announce important messages with the "/chc announce" command.
# You can customize the format in localization.
#
# TIP: Use {receiver} variable in the message to replace it to each player's name!
# -------------------------------------------------------------------------------------------------
Announcer:
  Bungee: true
  Ignore_Self: false
  Log_To_Console: true
 
  # Usage: <bukkitSoundName>, <volume>, <pitch> 
  # For Minecraft 1.8.8 and older, it is recommended to use 'SUCCESSFUL_HIT'
  Sound: ENTITY_ARROW_HIT_PLAYER, 1.0, 0.1

# -------------------------------------------------------------------------------------------------
# Let staff communicate together with the "/chc ach" command.
# -------------------------------------------------------------------------------------------------
Admin_Chat: 
  Bungee: true
  Log_To_Console: true
  
  # Write to logs/admin-chat.txt ?
  Write_To_File: true
   
  # Integration with DiscordSRV
  # The channel name on your Discord server that will receive admin messages.
  # Set "none" or leave empty to disable.
  Discord_Channel: "admin"

# -------------------------------------------------------------------------------------------------
# Send messages over Bungee with the "/chc global" command.
# -------------------------------------------------------------------------------------------------
Bungee_Chat:

  # Enable bungee chat for players after login automatically. They can turn it off with '/chc g switch'
  Enabled_By_Default: false

  Log_To_Console: true
  
  # Write to logs/bungee-chat.txt ?
  Write_To_File: true
  
  # Integration with DiscordSRV
  # The channel name on your Discord server that will receive global messages.
  # Set "none" or leave empty to disable.
  Discord_Channel: "global"

# -------------------------------------------------------------------------------------------------
# Private messages allow you to secretly message another player without everyone else seeing.
# There are currently following commands: /tell and /reply
# [提醒] If disabled, you can still use commands with the same label from other plugins/server.
# -------------------------------------------------------------------------------------------------
Private_Messages:
  Enabled: false 
  Bungee: false
  
  # Prevent from private messaging yourself?
  Deny_Message_Self: false
  
  # When you send a message, register the receiver to your /reply ?
  Register_Reply_To_Self: true
  
  # Set yourself as the last replier of the player to whom you send your message? They can 
  # then message you back with simply typing /r instead of /tell <yourname> <message>.
  Register_Reply_To_Receiver: true
  
  # Ignore vanished players and support nicknames? May impose a performance penalty.
  Deep_Search: true
  
  # Send message as an advancement (requires Minecraft 1.12)
  # NB! This may show in your timings because advancements (Toasts) must be handled on the main thread.
  Toast:
    Enabled: true
    # The variable {dynamic_spaces} will fill up the rest of the first row in the notification.
    Format: "&6[{sender} &8-> &6you]{dynamic_spaces}&7{message}"
  
  # Automatically put a player into conversation mode when he types Prefix + a player's name, for example "@kangarko" in the chat?
  # They could exit this conversation mode by typing the phrase in "End" section.
  Auto_Start: 
    Enabled: true
    Prefix: "@"
    End: "exit"
  
  # The first alias is the main label, that must be set!
  Aliases: 
    Tell: [tell, msg, t, whisper]
    Reply: [reply, r]
    TogglePM: [togglepm, ignorepm, nopm]
  
  # You can configure the formats in formatting.yml file.
  Format_Sender: Private_Message_Sender
  Format_Receiver: Private_Message_Receiver

# ------------------------------------------------------------------------------------------------- 
# Ability to ignore timed broadcasts.
# -------------------------------------------------------------------------------------------------
Toggle_Broadcast:
  Enabled: false
  Aliases: [togglebroadcast, togglebc, toggletm, ignorebroadcast, ignorebc, ignoretm, nobroadcast, nobc, notc]

# ------------------------------------------------------------------------------------------------- 
# Ability to ignore chat and private messages from certain players.
# -------------------------------------------------------------------------------------------------
Ignore: 
  Enabled: true
  
  # 请勿删除第一个缩写,这是主指令
  Aliases: [ignore, ign]
  
  # 是否隐藏屏蔽的玩家的私聊?
  Chat: true
  
  # 是否接收屏蔽的玩家的私聊?
  Private_Messages: true

# ------------------------------------------------------------------------------------------------- 
# /me 可以以与众不同的方式发送消息.
# -------------------------------------------------------------------------------------------------
Me: 
  Enabled: true
  
  # 请勿删除第一个缩写,这是主指令
  Aliases: [me, shout, status]
  
  # Send to bungee?
  Bungee: true

# -------------------------------------------------------------------------------------------------
# Features involving packets that require ProtocolLib.
# -------------------------------------------------------------------------------------------------
Packets:

  # Enable all features that require ProtocolLib
  # 如 packet rules, tab complete
  Enabled: true

  # Prevent using TAB to complete a message. Tab completing may reveal server information.
  Tab_Complete:  
  
    # Should we remove vanished players in tab completions?
    Hide_Vanished_Players: 
      Enabled: true
      # Maximum amount of tab completions to review. Since we must lookup the player in each
      # tab completion part, this can be resource demanding. Oversized completions won't be checked.
      Maximum_Length: 20
    
    # Enable tab-blocking functionality
    Enabled: false
    
    # Only control tab-complete in commands?
    Only_In_Commands: true
    
    # Allow if the message contains the specified amount of arguments or more?
    # One argument usually equals to one space ' ' (example: /channel mute kangarko has 2 spaces = 2 arguments)
    Require_Arguments: 1
    
    # Allow when the message length is above a certain limit. 
    # Not recommended as it might still reveal your server setup.
    # Set to -1 to disable.
    Require_Length: -1

# -------------------------------------------------------------------------------------------------
# Most popular feature of ChatControl: Rules are user-defined filters that catch messages
# based on regular expressions. See "rules/" folder for configuration and examples.
# -------------------------------------------------------------------------------------------------
Rules:
  # Print the 'Rule match [...]' and messages about 警告分数 into the console?
  # You can hide rules from appearing individually with "dont verbose" operator.
  Verbose: true

  # Broadcast warning messages from rules and handlers to Bungeecords?
  Bungee: true

  # Check chat with rules/rules.txt file and rules/chat.txt file?
  Chat: true
  
  # Check commands with rules/rules.txt file and rules/commands.txt file?
  Commands: true
  
  # Check messages against rules/packets.txt? Can catch messages from server itself, or even other plugins.
  # Requires ProtocolLib.
  Packets: true
  
  # Check signs with rules/rules.txt file and rules/signs.txt file?
  Signs:
    Check: true

    # Prevent the sign creation?
    Block: true
    
    # Drop as an item?
    Drop: true
  
  # Check books when signed, with rules/rules.txt file and rules/books.txt file?
  Books:
    Check: true
    
    # 如果启用, the banned title of the book will get its name changed by the rule (for example: Fuck book -> **** book)
    # 如果关闭, player will be disallowed to create the book completely.
    Replace: true
  
  # Check the name of items renamed by anvil with rules/rules.txt file and rules/items.txt file?
  Anvil: 
    Check: true
    
    # 如果启用, the banned item will get its name changed by the rule (for example: Fuck sword -> **** sword)
    # 如果关闭, player will be disallowed to create the item completely.
    Replace: true
  
  # Let players choose which messages (caught be a rule) they want to see.
  # Read more at https://github.com/kangarko/ChatControl/wiki
  Chat_Ignorer:
    Enabled: false
    
    # 你必须在这里创建分组才能屏蔽玩家. 
    # 你可以给予玩家 'chatcontrol.ignoreset.<组名>' 来限制玩家.
    Sets:
      
      # 这是个使用了所有可用设置的示例配置 (目前只有一个).
      # 拥有 'chatcontrol.ignoreset.swearings' 权限的玩家可以开关这个屏蔽组.
      # 你不需要指定任何参数.
      swear:
        # 默认不启用屏蔽. 玩家需输入 "/chc ignore swearings" 才能启用屏蔽.
        # 默认数值: false
        Ignored_By_Default: false
        
# -------------------------------------------------------------------------------------------------
# Remove unwanted messages from the console.
# -------------------------------------------------------------------------------------------------
Console_Filter:
  Enabled: false
  
  # Apply the console filter for messages sent via System.out.println ?
  # Set to false if your chat messages are not logged to the console anymore.
  Filter_System_Out: false
  
  # Save messages that were caught and hidden to logs/console.txt?
  Log: false
    
  # Remove certain messages from console.
  # Does not need to be whole message, just a part of the message you want to block.
  Filter_Console_Messages:
  - Reached end of stream for
  - Connection reset
  # The following is commented out as it causes issues with Multicraft.
  # If you don't use Multicraft you can comment them out to lower console spam.
  #- UUID of player
  #- lost connection

# -------------------------------------------------------------------------------------------------
# Play a sound to a player that has been mentioned.
# -------------------------------------------------------------------------------------------------
Sound_Notify:
  Enabled: true

  # The time before they player will receive sound notify again.
  Cooldown: 10 seconds
  
  # Only notify if the player is afk? Requires Essentials.
  Require_Afk: false

  # Only notify when  player's name in the chat starts with the specific character.
  # Example: 'Hello @kangarko, are you there?'
  # Set to 'none' to always allow.
  Require_Prefix: '@'
  
  # Format: bukkit_sound_name, volume (float), pitch (float)
  # If you are on MC 1.8.x or older, the default sound name was 'CHICKEN_EGG_POP'
  Sound: ENTITY_CHICKEN_EGG, 1F, 1.5F
  
  # Highlight the name of the notified player. Set to none to disable.
  # You can create individual colors by using Sound_Notify_Color key in Groups (see above).
  Color: '&a'
  
  Enabled_In_Commands:
  - /msg
  - /tell
  - /t
  - /w
  - /r

# -------------------------------------------------------------------------------------------------
# Set different settings from this file for people with certain permissions.
# -------------------------------------------------------------------------------------------------
Groups:
  Enabled: false

  # The group list. You can add, edit or remove existing groups here.
  # For tutorial, read https://github.com/kangarko/ChatControl-Pro/wiki/Groups
  List: 
    vip: 
      Message_Delay: 0
      Command_Delay: 0
      
# -------------------------------------------------------------------------------------------------
# Give player 警告分数 for violating rules/actions.
# -------------------------------------------------------------------------------------------------
Points:
  Enabled: false
  
  # Should player only get ONE warning (the one from warning set) and not both from rules and warning sets.
  # Only applies if the action in the warning set has "warn" operator.
  Smart_Warnings: true
  
  # Players will loose their 警告分数 when you reload or shut down the server (unless you use
  # MySQL, and, once upon a time, in the reset task:
  Reset_Task:
    
    # The delay between taking points (in seconds). Set 0 to only reset points on plugin or server reload.
    Repeat_Every_Seconds: 20
    
    # How much points to take from different sets. If you do not specify a set, no points will be taken from it.
    Remove: 
      global: 5
      spam: 1

  # To punish the player in different ways for doing a specific thing, you can create multiple warning sets.
  # If the player more more points then more actions, only the last relevant action will be executed.
  Warn_Sets: 
    
    # [提醒] This is a special set. Unless removed, all points will go there if you do not specify the set name.
    # example: you don't need to write "then points global 5", but just "then points 5" (in rules)
    global:

      # Specify the commands to execute if the player reaches a specific points threshold.
      # Use operator "warn" to send the message directly to the player, otherwise, run commands as the console.
      # Use operator "bungeeconsole" to send commands to Bungeecords directly.
      5:
        - "warn &7Please obey the &2rules &7otherwise you will be &4punished&7."        
        #- "bungeeconsole tell {player} &cYou have been warned for not respecting the server rules."
      15:
        - "warn &c**** &lHey &c{player} ****\n &7-> &cThis is your &6final &cwarning!"
        #- "mute {player} 5m Do not observing warnings" # Only works if you have a mute plugin        
      30: 
        - "kick {player} &cKicked for breaking the rules"

    swear:
      4:
        - "warn &cYou have received first warning for swearing."
      6:
        - "warn &cPlease do not swear, otherwise an action will be taken!"
      8:
        - "kick {player} &cInappropriate language (last warning)"
      #20:
      #  - "tempban {player} 30m autoban for swearing" # This requires compatible third party plugin installed

    spam:
      6:
        - "warn &cPlease do not act like spammer."
      10:
        - "warn &cPlease do not spam, otherwise you will be banned."
      12:
        - "kick {player} &cSpamming the chat (last warning)"
      #26:
      #  - "tempban {player} 10m autoban for chat spam" # This requires compatible third party plugin installed

    fastmessages:
      6:
        - "warn &cPlease slow down chat messages."
      10:
        - "warn &cSlow down chat, otherwise you will be banned."
      14:
        - "kick {player} &cSlow down chat (last warning)"
      #30:
      #  - "tempban {player} 10m autoban for chat spam" # This requires compatible third party plugin installed

# -------------------------------------------------------------------------------------------------
# A variable (placeholder) is a string in brackets {}, which is replaced by
# the actual data. Example: {player} is replaced with the player name.
# -------------------------------------------------------------------------------------------------
Variables:

  # Create own placeholders using JavaScript to get properties from any other plugin or even server itself.
  # See variables/javascript.txt file for their management and creation.
  Custom_Enabled: false
  
  # This allows you to use native variables (or those from PlaceholderAPI) in your custom javascript variables.
  Replace_In_Custom: true
  
  # Use other script variables in your script? May impose a slight performance penalty.
  Replace_Own_In_Custom: false
  
  # If Vault is installed, display players' prefix/suffix from each of their group together.
  # Limitation: Only displayed if the player has multiple groups, NO when a group inheritances multiple prefixes from other.
  Vault:  
    Multi_Prefix: false
    Multi_Suffix: false

# ---------------------------------------------------------------------------------------------------
# Save chat communication to see what happened in chat while you were offline.
# ---------------------------------------------------------------------------------------------------
Writer:

  # Write chat messages to logs/chat.txt?
  Enabled: true

  Ignore_Players:
  - ignoredAdmin

  # Commands that will be saved along with the chat messages. To log all, set Write_Commands: []
  Commands: 
  - /me
  - /msg
  - /m
  - /tell
  - /t
  - /reply
  - /r
  - /mail

# ---------------------------------------------------------------------------------------------------
# 欢迎萌新的消息
# ---------------------------------------------------------------------------------------------------
Motd: 
  Enabled: false
  
  # 登录多久后显示? 用于防止被其他消息覆盖.
  Delay_Ticks: 2
  
  # 指令缩写. 第一个为主指令,请勿删除
  Command_Aliases: [motd, welcome]
  
  # 播放的音效. 格式: <bukkitSoundName>, <音量>, <音高> 
  Sound: ENTITY_FIREWORK_LAUNCH, 1F, 0.1F
  
  # 以下为发送给玩家的示例消息.
# 开头加上
可自动居中消息.
  Message: 
  - '&8*--------------------------------------------------*'
  - '&f你好 {player}, 欢迎您来到 &e{server_name}&f ,祝你游戏愉快 :)'
  - 
  - '&6版本: &f{nms_version}'
  - '&6更新记录:'
  - ' &7- &f添加ChatControl Pro插件'
  - 
  - '&6帮助 &7- &f/help &6设置 &7- &f/menu &6网站 &7- &f/web'
  - '&8*--------------------------------------------------*'

  # 发送给第一次进入服务器的萌新. 格式同上.
  # 设置为 []会发送上面的消息.
  Message_First_Time: []
  
  # 发送给低于指定门槛的玩家.
  # 详情查看萌新门槛部分.
  # 设置为 []会发送上面的消息.
  Message_Newcomer: []

# ---------------------------------------------------------------------------------------------------
# 侦查模式详细设置
#
# [提示] 给予管理员 chatcontrol.spy.autoenable 权限可以在登录后自动进入侦查模式.
# ---------------------------------------------------------------------------------------------------
Spy:   
  Enabled: true
  
  # 是否侦查其他服务器的广播消息? 同时开关是否接受
  # 这个服务器的侦查消息
  Bungee: true
  
  # 指令缩写. 第一个为主指令,请勿删除
  Command_Aliases: [spy, socialspy]
  
  Format: "&8[&5侦查&8] &7{player}: &7{message}"
  
  Format_PM: "&8[&5侦查&8] &7[{player}] -> [{receiver}]: &7{message}"
  
  # 侦查模式前缀
  # 需要启用频道系统
  Channel_Prefix: "&8[&5侦查&8] "
  
  # 如果启用, 不会监控以下指令. 不推荐启用.
  # 如果关闭, 只有以下指令会被监控. 
  Command_List_Works_Like_Blacklist: false
  
  # 是否侦查mcmmo组队聊天? 需要安装mcMMO.
  McMMO: true
  
  # 是否输出mcmmo组队聊天内容到控制台?
  Log_McMMO: false
  
  # 是否侦查书本 ?
  Books: true
  
  # 是否侦查告示牌 ?
  Signs: false
  
  Command_List: 
    - /tell
    - /msg
    - /t
    - /whisper
    - /r
    - /reply

# -----------------------------------------------------------------------------------------------------
#  关联BungeeCords
#  你需要安装 BungeeControlBridge. (https://spigotmc.org/resources/13079)
# -----------------------------------------------------------------------------------------------------
BungeeCords:

  # 是否启用跨服聊天? 在配置内搜索 "Bungee" 查看相关配置.
  #
  Enabled: false
  
  # 跨服聊天前缀
  Prefix: "&8[&5Bungee/{server_name}&8] &7"
  
# -----------------------------------------------------------------------------------------------------
# MySQL 存储数据.
# -----------------------------------------------------------------------------------------------------
MySQL:
  
  # 是否在玩家退出服务器时保存数据并在加入服务器后加载数据?
  Enabled: false
  
  # 在你使用Bungeecords且出现同步问题时启用.
  # 如果关闭, mysql只在玩家加入和退出服务器时更新.
  # 如果启用, mysql 只在玩家更新他们的选秀时更新 (如 /ignore list)
  Aggressive: false
  
  # 警告: 不要在开服时修改这些配置. 也不要重载, 请重启.
  Connection:
    Host: 'localhost'
    Database: 'minecraft'
    Port: '3306'
    User: 
    Password: 
    # 提醒: 这里不会在插件更新是自动更新.
    Table_Prefix: 'ChatControl_'
    # 对于硬核用户, 你可以在这里设置MySql的连接器语法.
    Connector_Advanced: "jdbc:mysql://{host}:{port}/{database}?autoReconnect=true"

# --------------------------------------------------------------------------------------------------
# 高级配置: 格式检测顺序. 无需更改.
# 详情查看 https://github.com/kangarko/ChatControl-Pro/wiki/Listener-Priorities.
# 
# 可能需要更改优先度的插件: FactionsChat, BanManager 加入 WorldGuard.
# 你需要自行修改为适合你的服务器的优先度. 
#
# 注意! *请重启服务器!*
# --------------------------------------------------------------------------------------------------
Listener_Priority:

  # 检测防刷屏、防大写、规则和其他. 
  Checker: NORMAL

  # 发送的消息格式优先度.
  # 这一项应该拥有最高优先度.
  Formatter: NORMAL
  
  # 用于检测非法告示牌.
  Signs: HIGHEST

# -------------------------------------------------------------------------------------------
# 打开菜单的指令 (separated by a comma ,)?
# 如果你安装了 ChestCommands或其他有相同指令的插件, 你可以在这里移除重复的缩写指令. 
# * 第一个缩写为主指令,请勿删除. *
# -------------------------------------------------------------------------------------------
Command_Aliases: [chatcontrol, chc, cc]

# -------------------------------------------------------------------------------------------
# 目前可用语言: en (英语), de (德语), sk (斯洛伐克语), cz (Czech), es (西班牙语), pt (葡萄牙语), it (意大利语) 
#                      hu (匈牙利语), fr (法语), nl (荷兰语), cn (汉语), dk (丹麦语), pl (波兰语), ru (俄语)
#                      和 tr (土耳其语)
# 详情查看 https://github.com/kangarko/ChatControl-Pro/wiki/Localization .
# -------------------------------------------------------------------------------------------
Locale: cn

# -------------------------------------------------------------------------------------------
# 你可以在这里更改插件前缀:
# -------------------------------------------------------------------------------------------
Prefix: "&8[&3ChatControl&8]&7 "

# -------------------------------------------------------------------------------------------
# 用于 {server_name} 变量的服务器名称. 默认使用server.properties的服务器名.
# 主要用于关联BungeeCords. 支持.
# -------------------------------------------------------------------------------------------
Server_Name: default

# -------------------------------------------------------------------------------------------
# 处理非法字符 (如 รก 变为 a)? 
# 可以使规则和防刷屏在非英语服务器更高效运行.
# -------------------------------------------------------------------------------------------
Translate_Diacritical_Marks: true

# -------------------------------------------------------------------------------------------
# 删除data.db的不活跃的玩家数据.
# 设置为0关闭.
# -------------------------------------------------------------------------------------------
Clear_Data_If_Inactive: 300 days

# -------------------------------------------------------------------------------------------
# 防止正则表达式卡服.最大处理时间 (单位为毫秒).
# -------------------------------------------------------------------------------------------
Regex_Timeout_Milis: 100

# -------------------------------------------------------------------------------------------
# 检测一些插件操作的延迟. 并对超时的操作 
# 发送到控制台. 设置为0关闭.
# -------------------------------------------------------------------------------------------
Log_Lag_Over_Milis: 100

# -------------------------------------------------------------------------------------------
# 减少开服启动消息.
# -------------------------------------------------------------------------------------------
Silent_Startup: false

# -------------------------------------------------------------------------------------------
# 删除检测到的消息的颜色来防止未被规则检测到.
# 如果你想要在被规则替换后保留消息的颜色的话请关闭.
# -------------------------------------------------------------------------------------------
Regex_Strip_Colors: true

# -------------------------------------------------------------------------------------------
# 重置保存玩家数据.
# 启用可以优化性能 (推荐用于经常有玩家出入的服务器,如大厅服务器).
# Breaks anti-bot.
# -------------------------------------------------------------------------------------------
Reset_Cache_On_Quit: false

# -------------------------------------------------------------------------------------------
# 如果换行运算符 \n 无效的话请启用这项.
# 在此之前, 请确认你已将文件编码改为UTF-8.
# -------------------------------------------------------------------------------------------
Enforce_New_Line: false

# -------------------------------------------------------------------------------------------
# 更新提醒.
# -------------------------------------------------------------------------------------------
Notify_Updates: true

# -------------------------------------------------------------------------------------------
# 是否支持插件开发者推销广告 ?
# 每日最多发送一次.
# -------------------------------------------------------------------------------------------
Notify_Promotions: true

# -----------------------------------------------------------------------------------------------------
# 是否输出更多调试信息?
#
# 一般你不需要打开这项除非你遇到了问题.
# 可用参数: pm (私聊)
# -----------------------------------------------------------------------------------------------------
Debug: []

# 内部序列化编号,不要更改!
Serialization: ""

# Do not change this value, otherwise it will corrupt your plugin installation!
Version: 22

指令

指令是拓展该插件用途的最重要的功能.
这部分内容尚未更新到7.5.0之后的版本.


点击查看


权限

用你最喜欢的权限插件来给予玩家自定义权限.

点击查看

常见疑问

点击查看

有疑问?

插件作者和译者欢迎您的提问.但在询问之前请确认你已经阅读WIKI的常见疑问.发送报错信息给插件作者可以获得插件作者最快的回复.

进阶内容

频道

点击查看

格式

介绍: 消息外观如何?

Accepts: String

可在 formats.yml 内设置:

Format: Some_Format

或直接输入格式:

Format: '{pl_prefix}{player}:{pl_suffix} {message}'

控制台格式

介绍: 消息外观如何?

Accepts: String

可在 formats.yml 内设置:

Format: Some_Format

或直接输入格式:

Console_Format: '{channel} {player}: {message}'
日志格式

介绍: 消息会被记录到 ChatControl/logs/{channel}.yml 内.

Accepts: String

Log_Format: '{player}: {message}'
范围

介绍: 其他玩家收到消息的范围 (和范围聊天差不多)?

可用数值: 整数

Range: 100
Bungee

介绍: 是否发送消息到BungeeCords?

Accepts: Boolean

Bungee: true
组队

介绍: 是否只对队伍内玩家有效?

Accepts: String

支持:

  • town [发送者所在Towny的城镇 .]
  • nation [发送者所在Towny的国家.]
  • faction [发送者所在的派系Factions.]
  • feudal [发送者所在的Feudal聊天模式(包括王国或盟友).]
  • kingdom [发送者所在的Feudal的王国.]
  • feudal_ally [发送者所在的Feudal的王国及其盟国.]
  • plot [发送者所在的PlotSquared地皮内所有玩家.]
Party: town