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

ChatControl Pro/WIKI

来自Minecraft插件百科
Qsefthuopq讨论 | 贡献2019年1月29日 (二) 16:58的版本
跳转至: 导航搜索

ChatControl Pro WIKI

译者
Qsefthuopq

作者
kangarko

原文
75px


子页面

常见疑问

权限

指令

频道

JSON

分组

格式

Discord

获取帮助

变量

处理器

JavaScript变量

多世界聊天格式

自定义指令缩写

自定义服务器名

监听优先度

聊天忽略

本地化

欢迎查阅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文件的语法来保持配置简明易懂.

文件结构

  • 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请查看:
#    - http://mineplugin.org/ChatControl_Pro/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. 详细用法请查看:
#       - http://mineplugin.org/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 [...]') 存储在语言文件内,详情查看:
#       - http://mineplugin.org/ChatControl_Pro/WIKI/%E6%9C%AC%E5%9C%B0%E5%8C%96
#
# !-------------------------------------------------------------------------------------------------!

# -------------------------------------------------------------------------------------------------
# 缓解假人刷屏
# -------------------------------------------------------------------------------------------------
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,是否只显示玩家退出游戏的消息?
  # [提示] 在 AuthMe的配置内启用 'delayJoinMessage' 即可关闭加入游戏的消息.
  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
 
    # 无视冷却的指令.
    Whitelist_Delay:
    - /spawn
    - /hello
    
    # 视为聊天的指令. 
    # 触发防刷屏、规则、记录器、警告分数、防大写等功能.
    Handle_As_Chat:
    - /me

  # 消息防刷屏.
  Chat:
    
    # 聊天冷却.
    Message_Delay: 1

    # 一段时间内可说话次数上限.
    Limit: 
      Period: 10 seconds
      # 默认10秒内可说8句话.
      Max_Messages: 8

    # 禁止复读.
    Parrot:
      Enabled: true
      
      # 大于该段时间的消息才会被检测复读:
      # [提示] 20 ticks = 1 second
      Delay: 20 ticks
      
      # 复读相似度.默认为85. 
      Minimum_Similarity: 60
      
      # 以下单词开头的句子会被忽略.
      Whitelist: 
        - hello
        - hey

    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置为这样关闭: 'Amount: 0'
    Delay_Points:
      Warn_Set: fastmessages
      
      #  {delay} 为两条消息间的间隔
      Amount: 3 - {delay}

    # 阻止与上一条消息相似的消息发送.
    # 设置为0关闭.默认为80
    Similar_Percentage_Block: 40
    
    # 检测上几条消息. 可增加防刷屏效率,如:
    # <player> t
    # <player> lol
    # <player> t
    # <player> lol
    Similarity_Message_Check_Count: 2
    
    # 警告分数.
    # [提醒] 只在启用警告分数系统时有效. 设置"Amount" 为0来关闭.
    Similarity_Points:
      Warn_Set: spam
      Amount: 4 * ({similarityPercentage} / 2)
    
    # 以下消息开头的消息不会被检测.
    Whitelist_Similarity:
    - hello
    - hey
    - 你好
    - 嗨
    # 以下消息无视消息冷却.
    Whitelist_Delay:
    - test
    
# -------------------------------------------------------------------------------------------------
# 英语语法校正.
# -------------------------------------------------------------------------------------------------
Grammar: 
  
  # 在句子后面加上句号.
  Insert_Dot:
    Enabled: true
    Min_Message_Length: 5

  # 大写句子开头.
  Capitalize:
    Enabled: true
    Min_Message_Length: 5
    
  # 降低第二个字母的错误大写 (如 TRee -> Tree)
  # 必须是大于2个字母的单词才有效.
  Lowercase_Second:
    Enabled: false

# -------------------------------------------------------------------------------------------------
# "/chc clear" 清屏.
# -------------------------------------------------------------------------------------------------
Clear:
  Broadcast: true
  Do_Not_Clear_For_Staff: true

  # 输出端控制台的空白行数.
  Console_Lines: 300

# -------------------------------------------------------------------------------------------------
# "/chc mute" 禁言设置.
# -------------------------------------------------------------------------------------------------
Mute:
  Broadcast: true
  
  # 如果你安装了Essentials , 以下行为会应用Essentials的禁言.
  Apply_Limits_For_Essentials_Mute: true
  
  # 在禁言时禁止以下行为:1.写书、2.放置告示牌.
  Prevent:
    Writing_Books: false
    Placing_Signs: true
    
  # 在禁言时隐藏以下消息.
  Silence:
    Join_Messages: true
    Quit_Messages: true
    Death_Messages: true

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

# -------------------------------------------------------------------------------------------------
# 萌新规则
# -------------------------------------------------------------------------------------------------
Newcomer: 
  
  # 玩家需要在线多久才不再是萌新?
  # 设置为 0 minutes 关闭
  Threshold: 0 minutes
    
  # 启用该特性的世界?
  # 示例: [survival, nether, end]. 设置为 ["*"] 应用于所有世界.
  Worlds: ["*"]
  
  Restrict_Chat: 
    # 是否禁止萌新聊天 ?
    Enabled: true
    
    # 消息白名单. 用 ", "分隔. 示例: [quit, end]
    Whitelist: []
    
  Restrict_Seeing_Chat: 
    # 是否防止新手看到聊天消息?
    Enabled: true
  
  Restrict_Commands:
    # 是否防止新手输入指令?
    Enabled: true
    
    # 是否将白名单转换为黑名单?
    Blacklist: false
    
    # 允许使用的指令
    # 如果启用为黑名单, 则只阻挡以下指令.
    Whitelist: 
      - /login
      - /l
      - /register
      - /reg
      - /helpop
      - /help
      - /?

# -------------------------------------------------------------------------------------------------
# "/chc announce" 广播设置.
# 你可以在语言文件内自定义格式.
#
# 提示: 用 {receiver} 变量来代表受到消息的玩家名!
# -------------------------------------------------------------------------------------------------
Announcer:
  Bungee: true
  Ignore_Self: false
  Log_To_Console: true
 
  # 用法: <bukkitSoundName>, <音量>, <音高> 
  # 对于1.8.8以下的服务器, 请使用音效 'SUCCESSFUL_HIT'
  Sound: ENTITY_ARROW_HIT_PLAYER, 1.0, 0.1

# -------------------------------------------------------------------------------------------------
# "/chc ach" 管理员聊天设置
# -------------------------------------------------------------------------------------------------
Admin_Chat: 
  Bungee: true
  Log_To_Console: true
  
  # 是否记录到 logs/admin-chat.txt ?
  Write_To_File: true
   
  # DiscordSRV关联
  # 接受管理员聊天消息的Discord频道名.
  # 设置为 "none" 或留空关闭.
  Discord_Channel: "admin"

# -------------------------------------------------------------------------------------------------
# "/chc global" 跨服聊天设置.
# -------------------------------------------------------------------------------------------------
Bungee_Chat:

  # 是否在玩家加入游戏后自动启用跨服聊天. 可用'/chc g switch'切换
  Enabled_By_Default: false

  Log_To_Console: true
  
  # 是否记录到 logs/bungee-chat.txt ?
  Write_To_File: true
  
  # DiscordSRV关联
  # 接受管理员聊天消息的Discord频道名.
  # 设置为 "none" 或留空关闭.
  Discord_Channel: "global"

# -------------------------------------------------------------------------------------------------
# 私聊消息设置.
# 目前支持指令: /tell 和 /reply
# [提醒]如果关闭了私聊, 你仍然可以使用其他插件的私聊功能.
# -------------------------------------------------------------------------------------------------
Private_Messages:
  Enabled: false 
  Bungee: false
  
  # 是否防止自言自语?
  Deny_Message_Self: false
  
  # 是否记录用于/reply回复的消息接收者 ?
  Register_Reply_To_Self: true
  
  # 是否把你自己设定为你发送信息的玩家的最后一个回复者?
  # 其他玩家可以用 /r 而不是 /tell 来回复.
  Register_Reply_To_Receiver: true
  
  # 是否无视隐身的玩家和伪装昵称玩家?
  Deep_Search: true
  
  # 以进度的方式发送消息 (需要 Minecraft 1.12)
  # 注意! 因为进度是在主线程内处理的所以这可能会在timings里显示.
  Toast:
    Enabled: true
    # 变量 {dynamic_spaces} 会填满第一行剩下的空格.
    Format: "&6[{sender} &8-> &6你]{dynamic_spaces}&7{message}"
  
  # 当玩家输入 前缀+玩家名 时自动把玩家置于对话模式中, 比如 "@kangarko"
  # 玩家可以输入"End"里的消息来退出对话模式.(默认exit)
  Auto_Start: 
    Enabled: true
    Prefix: "@"
    End: "exit"
  
  # 第一个缩写为主指令, 请勿删除!
  Aliases: 
    Tell: [tell, msg, t, whisper]
    Reply: [reply, r]
    TogglePM: [togglepm, ignorepm, nopm]
  
  # 你可以在formatting.yml内配置格式.
  Format_Sender: Private_Message_Sender
  Format_Receiver: Private_Message_Receiver

# ------------------------------------------------------------------------------------------------- 
# 忽略定时广播.
# -------------------------------------------------------------------------------------------------
Toggle_Broadcast:
  Enabled: false
  Aliases: [togglebroadcast, togglebc, toggletm, ignorebroadcast, ignorebc, ignoretm, nobroadcast, nobc, notc]

# ------------------------------------------------------------------------------------------------- 
# 屏蔽特定玩家的聊天和私聊消息.
# -------------------------------------------------------------------------------------------------
Ignore: 
  Enabled: true
  
  # 请勿删除第一个缩写,这是主指令
  Aliases: [ignore, ign]
  
  # 是否隐藏屏蔽的玩家的私聊?
  Chat: true
  
  # 是否接收屏蔽的玩家的私聊?
  Private_Messages: true

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

# -------------------------------------------------------------------------------------------------
# 发包规则.
# -------------------------------------------------------------------------------------------------
Packets:

  # 是否启用所有特性?需要安装 ProtocolLib
  # 如发包规则、TAB补全
  Enabled: true

  # TAB补全. 这可能会泄露服务器信息.
  Tab_Complete:  
  
    # 是否无法补全出隐身玩家的玩家名?
    Hide_Vanished_Players: 
      Enabled: true
      # 最大补全数. 因为插件必须在每个补全的部分查找玩家
      # 这可能会占用一些资源. 不会检测太长的补全.
      Maximum_Length: 20
    
    # 是否启用防止TAB补全功能
    Enabled: false
    
    # 是否只控制指令补全?
    Only_In_Commands: true
    
    # 是否允许含有指定数量的参数补全消息?
    # 一个参数一般相当于一个空格 ' ' (如: /channel mute kangarko 包含2个空格 = 2 个参数)
    Require_Arguments: 1
    
    # 当消息长度超过这个限制后可使用补全. 
    # 不推荐开启.
    # 设置为-1关闭.
    Require_Length: -1

# -------------------------------------------------------------------------------------------------
# ChatControl最有用的功能: 基于正则表达式并使用过滤器的规则
# 查看 "rules/" 文件夹配置规则.
# -------------------------------------------------------------------------------------------------
Rules:
  # 是否输出 'Rule match [...]' 和消息的警告分数到控制台?
  # 你可以用 "dont verbose" 运算符来隐藏发送到控制台的消息.
  Verbose: true

  # 是否跨服播报警告?
  Bungee: true

  # 是否启用聊天规则?
  Chat: true
  
  # 是否启用指令规则?
  Commands: true
  
  # 是否启用发包规则? 发包规则可以捕获服务器甚至是其他插件的消息.
  # 需要 ProtocolLib.
  Packets: true
  
  # 是否启用告示牌规则?
  Signs:
    Check: true

    # 是否防止放置告示牌?
    Block: true
    
    # 是否以物品形式掉落告示牌?
    Drop: true
  
  # 是否在签名时检测书本?
  Books:
    Check: true
    
    # 如果启用, 非法书名会根据规则被替换 (如: 法克之书 -> ****之书)
    # 如果关闭, 玩家无法创建非法的书.
    Replace: true
  
  # 是否检测用铁砧给物品重命名?
  Anvil: 
    Check: true
    
    # 如果启用, 非法物品名会根据规则被替换 (如: 法克之剑 -> ****之剑)
    # 如果关闭, 玩家无法创建非法名称的物品.
    Replace: true
  
  # 可以让玩家选择想看到的消息(由规则捕获).
  # 详情查看 http://mineplugin.org/ChatControl_Pro/WIKI
  Chat_Ignorer:
    Enabled: false
    
    # 你必须在这里创建分组才能屏蔽玩家. 
    # 你可以给予玩家 'chatcontrol.ignoreset.<组名>' 来限制玩家.
    Sets:
      
      # 这是个使用了所有可用设置的示例配置 (目前只有一个).
      # 拥有 'chatcontrol.ignoreset.swearings' 权限的玩家可以开关这个屏蔽组.
      # 你不需要指定任何参数.
      swear:
        # 默认不启用屏蔽. 玩家需输入 "/chc ignore swearings" 才能启用屏蔽.
        # 默认数值: false
        Ignored_By_Default: false
        
# -------------------------------------------------------------------------------------------------
# 删除你不想要看见的控制台消息.
# -------------------------------------------------------------------------------------------------
Console_Filter:
  Enabled: false
  
  # 是否通过System.out.println对消息应用控制台过滤器?
  # 如果你的聊天消息没有出现在控制台则关闭这项.
  Filter_System_Out: false
  
  # 是否记录控制台消息到 logs/console.txt 内?
  Log: false
    
  # 从控制台删除的消息.
  # 无需输入整条消息, 部分即可.
  Filter_Console_Messages:
  - Reached end of stream for
  - Connection reset
  # 以下内容不兼容Multicraft而加上了注释.
  # 如果你不使用Multicraft你可以加上这些来减少控制台刷屏.
  #  ↓在玩家进入时Essentials显示的玩家信息
  #- UUID of player
  #- lost connection
  #  ↑玩家掉线消息

# -------------------------------------------------------------------------------------------------
# 音效提醒
# -------------------------------------------------------------------------------------------------
Sound_Notify:
  Enabled: true

  # 音效冷却.
  Cooldown: 10 seconds
  
  # 是否只提醒暂时离开游戏的玩家?需要Essentials.
  Require_Afk: false

  # 是否在玩家名开头有特定字符时发送提醒.
  # 如: '你好 @kangarko, 在吗?'
  # 设置为 'none' 为开启常时提醒.
  Require_Prefix: '@'
  
  # 格式: bukkit_sound_name, volume (float), pitch (float)
  # 如果你使用的服务端版本为MC 1.8.x及以下, 请将默认音效改为 'CHICKEN_EGG_POP'
  Sound: ENTITY_CHICKEN_EGG, 1F, 1.5F
  
  # 高亮玩家名. 设置为none关闭.
  # 你可以在分组内创建不同的颜色(详情查看下面的分组设置).
  Color: '&a'
  
  Enabled_In_Commands:
  - /msg
  - /tell
  - /t
  - /w
  - /r

# -------------------------------------------------------------------------------------------------
# 通过给予玩家特定的权限来进行分组.
# -------------------------------------------------------------------------------------------------
Groups:
  Enabled: false

  # 分组列表. 可自行修改.
  # 详情查看 http://mineplugin.org/ChatControl_Pro/WIKI/%E5%88%86%E7%BB%84
  List: 
    vip: 
      Message_Delay: 0
      Command_Delay: 0
      
# -------------------------------------------------------------------------------------------------
# 对违反规则的发送给予警告分数.
# -------------------------------------------------------------------------------------------------
Points:
  Enabled: false
  
  # 玩家是否只受到一条警告信息 (来自警告set) 而不是从规则和警告sets两次发送.
  # 只在警告set内使用了 "warn" 运算符时启用.
  Smart_Warnings: true
  
  # 玩家会在服务器重载或重启后失去警告分数(除非你使用
  # MySQL,同时也会被重置任务清除:
  Reset_Task:
    
    # 减去警告分数的间隔 (单位为秒). 设置为0则只在服务器重载或重启时清空.
    Repeat_Every_Seconds: 20
    
    # 从不同组合减去的分数. 如果你没有指定组合, 则不会减分.
    Remove: 
      global: 5
      spam: 1

  # 你可以创建多个警告组合来惩罚不同的玩家.
  # 如果玩家的行为次数超过了指定的次数则只会执行最近次数的行为.
  Warn_Sets: 
    
    # [提醒] 这是个特殊的组合. 如果你未指定组合名,在删除之前所有分数都将保留.
    # 示例: 你不需要输入 "then points global 5",只需输入 "then points 5" (在规则内)
    global:

      # 设置玩家达到指定分数时执行的指令.
      # 使用 "warn" 运算符来直接发送消息警告玩家,否则将以控制台身份发送指令.
      # 使用 "bungeeconsole" 运算符来直接发送指令到Bungeecords.
      5:
        - "warn &7请勿违反&2规则,&7否则你将受到&4惩罚&7."        
        #- "bungeeconsole tell {player} &c由于你屡次违反服务器规则所以你被封禁了."
      15:
        - "warn &c**** &l嘿, &c{player} ****\n &7-> &c这是&6最后一次 &c警告!"
        - "mute {player} 5m 不要无视警告!"        
      30: 
        - "kick {player} &c由于违反规则你被踢出了服务器"

    swear:
      4:
        - "warn &c因为说脏话你受到了第一次警告."
      6:
        - "warn &c请勿使用粗鄙之语, 否则服务器将采取措施!"
      8:
        - "kick {player} &c粗鄙之语! (最终警告)"
      20:
        - "tempban {player} 30m 由于粗鄙之语你被封禁了"

    spam:
      6:
        - "warn &c请勿刷屏."
      10:
        - "warn &c请勿刷屏,否则你会被封禁."
      12:
        - "kick {player} &c刷屏 (最终警告)"
      26:
        - "tempban {player} 10m 由于刷屏你被自动封禁了"

    fastmessages:
      6:
        - "warn &c你说话太快了.先喝口水吧"
      10:
        - "warn &c慢点说话,否则你会被封禁."
      14:
        - "kick {player} &c说慢点 (最终警告)"
      30:
        - "tempban {player} 10m 由于刷屏你被封禁了" 

# -------------------------------------------------------------------------------------------------
# (placeholder)变量代表了实际的数据
# 示例: {player} 代表玩家名.
# -------------------------------------------------------------------------------------------------
Variables:

  # 用JavaScript创建自定义变量来从任何其他的插件中获取数值.
  # 详情查看variables/javascript.txt.
  Custom_Enabled: false
  
  # 这可以让你使用插件的变量(或是来自PlaceholderAPI的变量.
  Replace_In_Custom: true
  
  # 是否在你的脚本中使用其他脚本变量?
  Replace_Own_In_Custom: false
  
  # 如果安装了Vault ,是否同时显示玩家所在组的前后缀.
  # 限制: 只在玩家有多个组时显示.
  Vault:  
    Multi_Prefix: false
    Multi_Suffix: false

# ---------------------------------------------------------------------------------------------------
# 在你离线时记录聊天消息.
# ---------------------------------------------------------------------------------------------------
Writer:

  # 是否记录聊天消息到 logs/chat.txt?
  Enabled: true

  Ignore_Players:
  - ignoredAdmin

  # 视为聊天的指令而保存. 记录全部内容请设置为 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

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

# -------------------------------------------------------------------------------------------
# 目前可用语言: en (英语), de (德语), sk (斯洛伐克语), cz (Czech), es (西班牙语), pt (葡萄牙语), it (意大利语) 
#                      hu (匈牙利语), fr (法语), nl (荷兰语), cn (汉语), dk (丹麦语), pl (波兰语), ru (俄语)
#                      和 tr (土耳其语)
# 详情查看 http://mineplugin.org/ChatControl_Pro/WIKI/%E6%9C%AC%E5%9C%B0%E5%8C%96
# -------------------------------------------------------------------------------------------
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

# -------------------------------------------------------------------------------------------
# 重置保存玩家数据.
# 启用可以优化性能 (推荐用于经常有玩家出入的服务器,如大厅服务器).
# 这可能会破坏防假人系统.
# -------------------------------------------------------------------------------------------
Reset_Cache_On_Quit: false

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

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

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

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

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

# 不要修改版本号!
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 内.

用于: String

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

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

可用数值: 整数

Range: 100
Bungee

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

用于: Boolean

Bungee: true
组队

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

用于: String

支持:

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