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

ChatControl Pro/WIKI

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

ChatControl Pro WIKI

译者
Qsefthuopq

作者
kangarko

原文
75px

子页面

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搬运帖查看


指令

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

如何使用指令

很多指令支持额外的参数,详情往下看.

  • [] = 可选参数
  • <> = 必选参数

提醒: /chatcontrol 的缩写指令是 /chc /ch 的所需指令是 /channel.

主要指令

提醒: 清除和禁言指令支持沉默参数(-s),可以防止发送消息, anonymous 参数(-a)可以对玩家隐藏指令发送者.

清空聊天框

  • 指令: /chatcontrol clear [-silent] [-anonymous] [-console] [原因]
  • 描述: 移除游戏内或控制台的所有消息.
  • 拓展功能: 忽略管理员和清除控制台. 可配置清空控制台多少行的消息.

全服禁言

  • 指令: /chatcontrol mute [-silent] [-anonymous] [reason]
  • 描述: 完全禁止玩家发言.
  • 拓展功能: 关闭特定指令、加入/退出/踢出游戏和死亡消息. 管理员仍可以发送消息.

广播消息

  • 指令: /chatcontrol announce
  • 描述: 对每位玩家发送广播.
  • 拓展功能: 播放音效、忽略控制台或不发送给自己. {dynamicLine}变量可以将消息延伸至10行 (整个聊天框).

管理员聊天

  • 指令: /chatcontrol ach <消息> 或 /chatcontrol ach switch
  • 描述: 管理员聊天.
  • 拓展功能: 支持控制台、保存消息到文件内和可交互的聊天格式. 可以切换让所有的消息都发送到该频道.

跨服聊天

  • 指令: /chatcontrol g <消息> 或 /chatcontrol g switch
  • 描述: 跨服聊天. 发送消息到所有的群组服.
  • 拓展功能: 支持控制台、保存消息到文件内和可交互的聊天格式. 分为两个权限, 一个是发送消息,另一个是接收消息(chatcontrol.notify.globalchat), 默认拥有该权限. 可以切换让所有的聊天消息都发送到所有的群组服.

虚假的加入/退出游戏消息

  • 指令: /chatcontrol fake <join/leave/kick> [玩家名]
  • 描述: 发送.虚假的加入/退出游戏消息
  • 拓展功能:如果指定了在线的玩家,消息会根据玩家的分组来发送.

创建规则

  • 指令: /chatcontrol addrule <处理器>
  • 描述: 运行RuleCreat或 Wizard 来让你在游戏内创建规则.
  • 提醒: 输入"/chc addrule"查看可用规则.

开关忽略的消息.

  • 指令: /chatcontrol ign或e <set>
  • 描述: 开关对玩家忽略的消息.

查看玩家的警告分数.

  • 指令: /chatcontrol points <player>
  • 描述: 查看玩家的警告分数.

导入规则

  • 指令: /chatcontrol imp或t <handler> <file>
  • 示例: /chatcontrol imp或t swear w或ds.txt
  • 描述: 从文件中导入规则. 这会创建全服规则.这个文件在ChatControl插件文件夹内,每行包括一个规则示例(你可以把这些内容放到words.txt ,如):
    banana
    apple
    lemon
    orange

数学计算器

  • 指令: /chatcontrol math <数学表达式>
  • 示例: /chatcontrol math 4 + (5 - 2) * 8
  • 描述: 用于测试构建中的计算器功能.

检验类别

  • 指令: /chatcontrol inspect <methods/fields> <classPath>
  • 描述: 允许您枚举插件class中的所有字段或方法.
  • 警告: 这个功能十分专业,如果错误使用该指令可能会对你的服务器造成毁灭性打击.

重载插件

  • 指令: /chatcontrol reload
  • 描述: 重载插件配置. 如果你想要保证服务器稳定性的话不推荐使用.

指令帮助

  • 指令: /chatcontrol list
  • 描述: 显示所有的插件指令.

私聊指令

提醒:查看 settings.yml来创建指令缩写.如果你安装了有相同指令的其他插件(如Essentials), ChatControl将会覆盖这些指令.

发送一条消息

  • 指令: /tell <player> <消息>
  • 描述: 发送私聊消息.

恢复消息

  • 指令: /reply <消息>
  • 描述: 回复上一条私聊消息.

侦查消息或指令

  • 指令: /spy
  • 描述: 开关侦查模式. 用于监视私聊消息,也可以在配置内加入监视指令. 支持Bungee.

频道指令

加入频道

  • 指令: /频道 join <频道> <模式>
  • 描述: 以指定的模式加入一个频道 (write, read或spy).

离开频道

  • 指令: /频道 leave <频道>
  • 描述: 停止接收该频道内的消息.

直接发送消息到频道内

  • 指令: /频道 send <频道> <message>
  • 描述: 直接发送消息到频道内而无需加入该频道.

侦查频道消息

  • 指令: /频道 spy <频道>
  • 描述: 侦查一个频道内而无需加入该频道.7.5.0之后的版本你需要输入 /ch join <频道> spy .

帮助指令

  • 指令: /频道 list [频道]
  • 描述: 列出所有的频道.如果你指定了频道名,就会列出该频道内的所有玩家.

权限

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

常见疑问

点击查看

有疑问?

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

进阶内容

频道

玩家可以随意加入或退出一个聊天频道 (玩家需要有频道权限).可在channels.yml设置频道. 分成多个聊天频道可以减少大服的刷屏现象 (比如普通频道、求助管理频道、交易频道和管理员频道).

创建/删除频道

创建或删除频道十分简单,只需在配置内修改.以下示例为 'standard' 和 'global'的频道配置:

Channels: 
  #
  # 这是普通频道 - 默认所有玩家都加入的频道.
  #
  standard: 
    #
    # 频道设置:
    # 格式可在 formatting.yml 更改
    #
    Format: Chat    

  #
  # 默认该频道支持跨服聊天.
  #
  global: 
    #
    # 格式可在 formatting.yml 更改
    #
    Format: Global_Chat
    #
    # 这个频道可进行跨服聊天.
    #
    Bungee: true

自动加入频道

如果你想要在玩家登录后自动加入频道,只需给予以下权限:

chatcontrol.channel.{频道}.join.{模式}
chatcontrol.channel.autojoin.{频道}.{模式}


第一个权限可以让玩家以指定的模式加入指定的频道, 第二个权限则为自动加入.

当玩家手动离开频道后,他就不会再自动加入频道直至服务器重启、重载除非配置内 Reset_Cache_On_Quit 选项 settings.yml 已启用.

频道配置

你只需指定 '格式', . 所有选项都为可选选项

格式

Info: 消息外观如何?

Accepts: String

可在 formats.yml 内设置:

Format: Some_Format

或直接输入格式:

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

控制台格式

Info: 消息外观如何?

Accepts: String

可在 formats.yml 内设置:

Format: Some_Format

或直接输入格式:

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

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

Accepts: String

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

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

可用数值: 整数

Range: 100
Bungee

Info: 是否发送消息到BungeeCords?

Accepts: Boolean

Bungee: true
组队

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

Accepts: String

支持:

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