Skip to content

配置说明

KamiHub 详细配置指南

本页面详细介绍KamiHub的所有配置选项,帮助您根据服务器需求进行个性化设置。

配置文件结构

plugins/KamiHub/
├── config.yml          # 主配置文件
├── messages.yml        # 消息文本配置文件
├── modules.yml         # 模块配置文件
├── spawns.yml          # 出生点配置文件
└── data/               # 数据存储目录

该插件支持 PlaceholderAPI!
详情请参阅:#PlaceholderAPI

该插件 99% 可显示文本使用MiniMessage格式
注:该插件完全弃用了以&§字符实现的颜色模式

主配置文件 (config.yml)

yaml
# 配置文件版本号,并不等于插件版本
# 请不要更改此项,插件会自动检测并更新配置文件版本
# 如果你更改了此项,插件可能无法正常工作
config-version: 1.0

# 自动检查更新
check-for-updates: true

# 数据存储设置
datasource:
  # 数据驱动类型
  # 目前支持:MySQL,H2
  storage: H2
  table-prefix: 'kh_'
  mysql:
    host: 'localhost'
    port: 3306
    database: 'minecraft'
    username: 'kamihub'
    password: 'UrPasswdHere'
    params: '?useSSL=false&useUnicode=true&characterEncoding=UTF-8'
  h2:
    # H2连接(文件模式)
    file: './plugins/KamiHub/data/storage'
    username: 'kamihub'
    # H2模式允许(默认)不设置密码
    # 如果您希望启用密码以提升安全性,请在params值后面添加:;CIPHER=AES;IFEXISTS=TRUE
    password: ''
    params: ';MODE=MySQL;FILE_LOCK=SOCKET;TRACE_LEVEL_FILE=0;DATABASE_TO_UPPER=FALSE'
  connection-pool:
    # 连接池控制
    # 最大连接数(推荐公式:CPU核心数*2 + 磁盘数)
    maximum-pool-size: 20
    # 最小空闲连接(推荐设为max-pool-size的1/4)
    minimum-idle: 5
    # 连接超时时间(毫秒,建议3000-5000)
    connection-timeout: 3000
    # 空闲超时(毫秒,5分钟)
    idle-timeout: 300000
    # 连接最大存活时间(毫秒,30分钟)
    max-lifetime: 1800000
    # 验证超时(毫秒)
    validation-timeout: 1000
    # 泄漏检测
    # 泄漏检测阈值
    leak-detection-threshold: 30000
    # 推荐关闭自动提交
    auto-commit: false

语言配置文件 (messages.yml)

yaml
prefix:
  enabled: true
  text: '<aqua>[KamiHub]</aqua> '
general:
  no-permission: '<red>你没有权限执行此命令: <yellow>{0}'
  reload-success: '<green>插件重载成功!'
  invalid-usage: '<red>未知的命令!请使用 <yellow>/kh help <red>查看命令用法!'
  no-console: '<red>该命令只能由玩家执行!'
  unknown-command-help: '<red>未知的命令!'
command-help:
  - |-
    <white>------------ <aqua>KamiHub 命令帮助 <white>------------
    <green>/kh help [页数] <gray>查看帮助页
    <green>/kh reload <gray>重载插件配置
    <green>/kh module list <gray>列出所有模块状态
    <green>/kh info <gray>显示插件信息
    <green>/kh update <gray>检查插件更新
    <green>/spawn <gray>传送至出生点
    <green>/spawn list <gray>列出出生点
    
    <hover:show_text:'<gray>上一页'><gray>◀</hover>                <gray>1<white>/<green>2                <click:run_command:'/kh help 2'><hover:show_text:'<green>下一页'><green>▶</hover></click>
  - |-
    <white>------------ <aqua>KamiHub 命令帮助 <white>------------
    <green>/spawn add <gray>添加当前位置为出生点
    <green>/spawn set <gray>设置当前世界出生点
    <green>/spawn remove <gray>移除出生点
    <green>/agreement accept <gray>接受玩家协议
    <green>/agreement reject <gray>拒绝玩家协议
    <green>/agreement change <gray>标记协议已更改
    
    
    <click:run_command:'/kh help 1'><hover:show_text:'<green>上一页'><green>◀</hover></click>                <green>2<white>/<gray>2                <hover:show_text:'<gray>下一页'><gray>▶</hover>
modules:
  not-found: '<red>未找到该模块!'
  list: '<green>当前所有的模块:{0}'
  enabled: '<yellow>{0} 模块已启用!'
  disabled: '<yellow>{0} 模块已禁用!'
  agreement:
    accept: '<green>你已同意本服务器的协议!'
    reject: '<red>你已拒绝本服务器的协议!'
    change: '<green>已重置每个玩家的协议状态!'
  anti-attack: '<red>你不能攻击其他玩家!'
  anti-break: '<red>你不能破坏方块!'
  anti-drop: '<red>你不能丢弃物品!'
  anti-use: '<red>你不能在这里交互!'
  anti-place: '<red>你不能在这里放置方块!'
  anti-projectile: '<red>你不能发射投掷物!'
  spawn:
    not-found: '<red>未找到该出生点!'
    teleport: '<green>你已传送到出生点!'
    add: '<green>已添加出生点!'
    set: '<green>已设置出生点!'
    remove: '<green>已移除出生点!'
    list: '<green>当前所有的出生点:{0}'
  void-tp: '<green>虚空保护已生效!'

模块配置文件 (modules.yml)

yaml
# 各模块配置
modules:
  # 动作栏信息
  # 需要权限:kamihub.action-bar(默认拥有)
  action-bar:
    # 是否启用,后同
    enabled: true
    # 刷新间隔,以tick为单位
    # 在Minecraft中,1秒流逝20ticks
    # 也就是1tick = 0.05秒
    interval: 2
    # action bar显示的文本,按照顺序依次显示
    # 本插件所有的文本格式都为MiniMessage,详参 https://docs.advntr.dev/minimessage/format.html
    # 你可以在这里在线编辑和预览MiniMessage格式的文本:https://webui.advntr.dev
    worlds:
      world:
        - ''
        - '<rainbow>V'
        - '<rainbow>Vi'
        - '<rainbow>Vis'
        - '<rainbow>Visi'
        - '<rainbow>Visit'
        - '<rainbow>Visit '
        - '<rainbow>Visit w'
        - '<rainbow>Visit ww'
        - '<rainbow>Visit www'
        - '<rainbow>Visit www.'
        - '<rainbow>Visit www.e'
        - '<rainbow>Visit www.ex'
        - '<rainbow>Visit www.exa'
        - '<rainbow>Visit www.exam'
        - '<rainbow>Visit www.examp'
        - '<rainbow>Visit www.exampl'
        - '<rainbow>Visit www.example'
        - '<rainbow>Visit www.example.'
        - '<rainbow>Visit www.example.c'
        - '<rainbow>Visit www.example.co'
        - '<rainbow>Visit www.example.com'
        - '<rainbow>isit www.example.com'
        - '<rainbow>sit www.example.com'
        - '<rainbow>it www.example.com'
        - '<rainbow>t www.example.com'
        - '<rainbow> www.example.com'
        - '<rainbow>www.example.com'
        - '<rainbow>ww.example.com'
        - '<rainbow>w.example.com'
        - '<rainbow>.example.com'
        - '<rainbow>example.com'
        - '<rainbow>xample.com'
        - '<rainbow>ample.com'
        - '<rainbow>mple.com'
        - '<rainbow>ple.com'
        - '<rainbow>le.com'
        - '<rainbow>e.com'
        - '<rainbow>.com'
        - '<rainbow>com'
        - '<rainbow>om'
        - '<rainbow>m'
        - ''

  # 玩家协议
  agreement:
    enabled: true
    # 在玩家加入且还未同意协议的时候打开协议
    on-join: true
    # 在玩家每次加入的时候打开协议
    on-every-join: false
    # 在协议发生更改的时候打开协议
    # 此项需要有权限的玩家/控制台使用指令 /agreement change
    on-change: true
    # 从玩家进入服务器到打开协议的间隔,以tick为单位
    delay: 100
    # 如果玩家签订协议超时,是否踢出
    kick-on-timeout: true
    # 签订协议超时的时间,以tick为单位
    timeout: 1200
    # 如果玩家拒绝协议,是否踢出
    kick-on-reject: true
    # 如果踢出玩家,踢出的原因(信息)
    kick-message: |-
      <red>你还没有接受玩家协议
      <red>请阅读并接受玩家协议以继续游玩
    # 协议以书本形式展示的每一页内容
    pages:
      - |-
        <bold><shadow:aqua:0.5><blue>▄玩家协议▄</blue></shadow></bold>
        <gray>欢迎加入服务器!
        请仔细阅读并同意:
        -------------------
        <white>► 遵守当地法律法规
        ► 尊重其他玩家
        ► 禁止作弊/外挂
        ► 禁止恶意破坏建筑
        ► 保持友善的交流氛围</white>
      - |-
        <bold><shadow:aqua:0.5><blue>▄条款细则▄</blue></shadow></bold>
        <gray>1. 破坏他人建筑需赔偿
        2. 公共区域禁止占位
        3. 交易诈骗永久封禁
        4. 严禁种族歧视言论
        5. 资源世界每周重置</gray>
        -------------------
        <red>注:违规者视情节给予
        警告→禁言→封禁处罚</red>
      - |-
        <bold><shadow:aqua:0.5><blue>▄签署声明▄</blue></shadow></bold>
        <gray>我已阅读全部条款并承诺:
        • 对自己的行为负责
        • 维护服务器环境
        • 接受管理员裁决</gray>

        {0}
        {1}
    # 拒绝按钮
    # 如你所见,这是一个典型的MiniMessage格式,详参上文
    # 你可以让玩家执行 /agreement reject 来拒绝协议,这是等效的
    reject: '<click:run_command:"/agreement reject"><hover:show_text:"<gray>点击拒绝玩家协议"><red>拒绝</hover></click>'
    # 拒绝后执行Actions
    # 更多行为,详见:https://docs.kamiland.net/zh/kamihub/actions
    # 使用 {0} 作为玩家名称
    # 使用 [console] 开头,以控制台身份执行指令
    # 使用 [player] 开头,以玩家身份执行指令
    reject-actions:
      - '[console]say {0}已拒绝玩家协议!'
    # 同意后执行Actions
    # 使用 {0} 作为玩家名称
    accept-actions:
      - '[broadcast]<green>{0}已同意玩家协议!'
    # 同意按钮
    # 你可以让玩家执行 /agreement accept 来同意协议,这是等效的
    accept: '<click:run_command:"/agreement accept"><hover:show_text:"<gray>点击同意玩家协议"><green>同意</hover></click>'

  # 防止玩家破坏方块
  # 一些写在前面的话:
  # KamiHub 并不是一个专业的世界保护插件,它并不具备完善的世界保护功能
  # 开发者对游戏内容欠缺理解,可能存在某些游戏特性可以让玩家绕过这些保护
  # 因此,开发者推荐您采用专业的世界保护插件,如开源的 WorldGuard: https://modrinth.com/plugin/worldguard
  # 绕过权限: kamihub.anti-break.bypass(默认管理员拥有)
  anti-break:
    enabled: true
    # 是否仅允许创造模式玩家破坏方块
    # 如果开启,即使是拥有绕过权限的玩家,在非创造模式下也无法破坏方块
    # 如果开启,没有绕过权限的创造模式玩家依旧不可以破坏方块
    # 下同
    break-creative-only: true
    worlds:
      - world

  # 防止玩家使用方块
  # 绕过权限:kamihub.anti-use.bypass(默认管理员拥有)
  anti-use:
    enabled: true
    creative-only: true
    worlds:
      - world

  # 防止玩家放置
  # 绕过权限:kamihub.anti-place.bypass(默认管理员拥有)
  anti-place:
    enabled: true
    creative-only: true
    worlds:
      - world

  # 防止玩家丢弃物品
  # 绕过权限:kamihub.anti-drop.bypass(默认管理员拥有)
  anti-drop:
    enabled: true
    creative-only: true
    worlds:
      - world

  # 防止玩家拾取物品
  # 绕过权限:kamihub.anti-pickup.bypass(默认管理员拥有)
  anti-pickup:
    enabled: true
    worlds:
      - world

  # 防止饥饿
  # 需要权限:kamihub.anti-hunger(默认拥有)
  anti-hunger:
    enabled: true
    worlds:
      - world

  # 防止玩家受伤
  # 需要权限:kamihub.anti-damage(默认拥有)
  anti-damage:
    enabled: true
    worlds:
      - world

  # 防止投掷物
  # 绕过权限:kamihub.anti-projectile.bypass(默认管理员拥有)
  anti-projectile:
    enabled: true
    # 防止玩家射出投掷物
    anti-player: false
    # 防止生物射出投掷物
    anti-entity: false
    worlds:
      - world

  # 防止玩家攻击
  # 绕过权限:kamihub.anti-attack.bypass(默认管理员拥有)
  anti-attack:
    enabled: true
    # 防止玩家攻击玩家(PVP)
    anti-attack-player: true
    # 防止玩家攻击生物(实体)(PVE)
    anti-attack-entity: true
    worlds:
      - world

  # Boss血条栏
  # 有关这些配置更进一步的了解,请参阅:https://minecraft.wiki/w/Bossbar
  # 需要权限:kamihub.boss-bar(默认拥有
  boss-bar:
    enabled: true
    interval: 5
    # Boss bar显示的名字
    # 每行格式按照:<PROGRESS>:<COLOR>:<OVERLAY>:<NAME>的顺序
    # PROGRESS: Boss bar的进度,范围为0-1
    # COLOR: Boss bar的颜色,详见 https://minecraft.wiki/w/Bossbar#Color
    # OVERLAY: Boss bar的样式
    # 请确保每一行有且仅有3个冒号,分成4部分
    # 如果您想在Boss名中使用冒号,使用占位符 {0}
    worlds:
      world:
        - '0.1:RED:NOTCHED_10:<#000080>www.example.com'
        - '0.2:RED:NOTCHED_10:<#13188B>www.example.com'
        - '0.3:RED:NOTCHED_10:<#263097>www.example.com'
        - '0.4:RED:NOTCHED_10:<#3A48A2>www.example.com'
        - '0.5:RED:NOTCHED_10:<#4D60AD>www.example.com'
        - '0.6:RED:NOTCHED_10:<#6078B8>www.example.com'
        - '0.7:RED:NOTCHED_10:<#7390C4>www.example.com'
        - '0.8:RED:NOTCHED_10:<#86A8CF>www.example.com'
        - '0.9:RED:NOTCHED_10:<#9AC0DB>www.example.com'
        - '1.0:RED:NOTCHED_10:<#ADD8E6>www.example.com'
        - '0.9:RED:NOTCHED_10:<#9AC0DB>www.example.com'
        - '0.8:RED:NOTCHED_10:<#86A8CF>www.example.com'
        - '0.7:RED:NOTCHED_10:<#7390C4>www.example.com'
        - '0.6:RED:NOTCHED_10:<#6078B8>www.example.com'
        - '0.5:RED:NOTCHED_10:<#4D60AD>www.example.com'
        - '0.4:RED:NOTCHED_10:<#3A48A2>www.example.com'
        - '0.3:RED:NOTCHED_10:<#263097>www.example.com'
        - '0.2:RED:NOTCHED_10:<#13188B>www.example.com'
        - '0.1:RED:NOTCHED_10:<#000080>www.example.com'

  # 广播
  # 接收广播的权限:kamihub.broadcast.notify(默认拥有)
  broadcast:
    enabled: true
    interval: 1800
    # 如果您合理的使用MiniMessage,完全可以实现拥有复杂点击和显示效果的广播
    messages:
      - |-
        
        <red>Welcome to the server!</red>
        <green>Enjoy your stay!</green>
        
      - |-
        
        <red>Good luck!</red>
        <green>Have fun!</green>
        
  # 清空玩家聊天栏
  # 该模块的原理是在玩家进入服务器时发送100条空消息,强制玩家看不见以前的消息
  # 注意:这意味着该模块不一定完全有效,尤其是在玩家安装了有Chat Filter或Infinite Chat History之类功能的模组时
  # 如果您的确需要清空聊天栏,请在游戏内使用 F3+D 快捷键,这是Minecraft的官方功能
  # 绕过权限:kamihub.clear-chat.bypass(默认管理员拥有)
  clear-chat:
    enabled: true
    # 在玩家加入时清空
    on-join: true

  # 物品栏模块
  # 绕过权限:ultimate.inventory.bypass(默认管理员拥有)
  inventory:
    enabled: true
    # 在玩家加入服务器时清空物品栏
    # 默认关闭,因为并不是所有服务器都需要这个功能,我们不希望出现惨案
    clear-on-join: false
    # 在玩家退出服务器时清空物品栏
    clear-on-quit: false
    # 在玩家加入服务器时给予定义的物品,详见 items.yml
    give-on-join: false
    # 防止玩家移动物品栏
    prevent-moving: true

  # 加入和退出消息
  # 一些服务器可能根据不同的权限组显示不同的加入/退出消息
  join-quit-message:
    enabled: true
    # 分组配置加入和退出消息
    # 使用占位符 {0} 作为玩家名
    # 目前仅支持LuckPerms和支持Vault的权限插件
    # 如果您的权限插件不支持Vault,请为您的组添加 kamihub.group.xxx 权限来声明权限组
    groups:
      # 默认权限组,不可删除
      default:
        # 权限组权重
        # 当一个玩家同时处于多个用户组时,KamiHub会选择玩家拥有的权限组中权重最大的那个
        priority: 0
        # 加入和退出消息
        # 当加入和退出消息为多条时,随机选择一条
        join:
          - '<green>[+] <reset>{0}'
        quit:
          - '<gray>[-] <reset>{0}'
      vip:
        priority: 10
        join:
          - '<rainbow>{0} joined the server!</rainbow>'
        quit:
          - '<rainbow:!>{0} left the server.</rainbow>'

  # 药水效果
  # 需要权限:kamihub.potion-effect(默认管理员拥有)
  potion-effect:
    enabled: true
    # 是否在玩家加入时清除药水效果
    clear-on-join: true
    # 是否在玩家退出时清除药水效果
    clear-on-quit: true
    # 是否在玩家加入时给予以下药水效果
    give-on-join: true
    # 药水效果列表
    # 关于药水效果名称,详参:https://minecraft.wiki/w/Effect#Effect_list
    # 请使用wiki中药水效果的identifier
    effects:
      - type: speed
        # 药水效果时长,请使用秒为单位,使用 infinite 表示无限时长
        duration: 'infinite'
        # 药水效果倍数,这里的倍数为显示倍数-1
        # 如果你希望获得速度II的效果,这里应该填写1
        amplifier: 1
        # 是否显示粒子效果
        particles: false
      - type: jump_boost
        duration: '60'
        amplifier: 0
        particles: true

  # 出生点
  # 需要权限:kamihub.spawn(默认拥有)
  # 有关出生点的设置,详见 spawns.yml
  spawn:
    enabled: true
    # 在玩家加入时传送至出生点
    on-join: true

  # 虚空保护
  # 需要权限:kamihub.void-tp(默认拥有)
  void-teleport:
    enabled: true
    # 保护层级,当玩家所处位置低于这个层级时,将被传送回
    # - 出生点(如果设置)
    # - 重生点(床或重生锚,如果设置)
    # - 原版出生点(以上都没有设置)
    level: -64
    worlds:
      - world

出生点配置文件 (spawns.yml)

yaml
spawns:
  main:
    name: 'main'
    x: 0.0
    y: 64.0
    z: 0.0
    yaw: 0.0
    pitch: 0.0
    world: 'world'
  example:
    name: 'example'
    x: 5.0
    y: 64.0
    z: 5.0
    yaw: 0.0
    pitch: 0.0
    world: "world"

一个融合技术与创意,打造数字艺术品的世界