Skip to content

配置文件

本章节包含了 HuskSync 的参考配置文件。

配置结构

  • 📁 plugins/HuskSync/
    • 📄 config.yml: 插件的总配置文件
    • 📄 server.yml: 服务器 ID 配置文件
    • 📄 messages-xx-xx.yml: 插件本地化语言文件,格式为 MineDown(见“[语言贡献]”章节)

示例文件

config.yml

YAML
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃       HuskSync 主配置文件      ┃
# ┃       插件作者 William278      ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# ┣╸ 插件介绍: https://william278.net/project/husksync
# ┣╸ 配置文件: https://william278.net/docs/husksync/config-file/
# ┗╸ 维基原文: https://william278.net/docs/husksync

# 默认使用的语言命名.
# 相关文档: https://william278.net/docs/husksync/translations
language: en-gb
# 是否在插件启动时检查更新
check_for_updates: true
# 为运行了 HuskSync 的服务器指定通用 ID。擅自修改本项后果自负!
cluster_id: ''
# 启用开发者调试日志
debug_logging: true
# 是否启用现代化的, 内容丰富的 TAB 补全建议 (若可用)
brigadier_tab_completion: false
# 是否启用 Player Analytics 联动.
# 相关文档: https://william278.net/docs/husksync/plan-hook
enable_plan_hook: true
# 在安装 ProtocolLib 或 PacketEvents 后处理锁定玩家时,是否直接取消对应玩家的游戏事件包
cancel_packets: true
# 数据库设置
database:
  # 使用的数据库种类 (MYSQL, MARIADB, POSTGRES, MONGO)
  type: MYSQL
  # 为 MYSQL, MARIADB, POSTGRES 或 MONGO 数据库设置对应的登录凭据
  credentials:
    host: localhost
    port: 3306
    database: minecraft
    username: root
    password: ''
    # 仅在使用了 MARIADB 或 POSTGRES 类型的数据库下修改本项
    parameters: ?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8
  # MYSQL, MARIADB, POSTGRES 数据库 Hikari 连接池设置. 请勿擅自修改, 否则后果自负!
  connection_pool:
    maximum_pool_size: 10
    minimum_idle: 10
    maximum_lifetime: 1800000
    keepalive_time: 0
    connection_timeout: 5000
  # MongoDB 高级设置。请勿擅自修改, 否则后果自负!
  mongo_settings:
    using_atlas: false
    parameters: ?retryWrites=true&w=majority&authSource=HuskSync
  # 数据库使用的表名。请勿擅自修改, 否则后果自负!
  table_names:
    users: husksync_users
    user_data: husksync_user_data
# Redis 设置
redis:
  # 在此指定 Redis 数据库的登录凭证。若未设置登录密码,则将 "password" 项留空
  credentials:
    host: localhost
    port: 6379
    password: ''
    use_ssl: false
  # Redis 哨兵模式相关设置。请勿擅自修改,否则后果自负!
  sentinel:
    # 哨兵模式的主节点名称
    master: ''
    # 地址:端口列表
    nodes: []
    password: ''
# Redis 设置
synchronization:
  # 使用的数据同步模式 (LOCKSTEP 或 DELAY)。对大多数服务器推荐使用 LOCKSTEP 模式。
  # 相关文档: https://william278.net/docs/husksync/sync-modes
  mode: LOCKSTEP
  # 每个用户单次数据快照的备份数量
  max_user_data_snapshots: 16
  # 新快照创建与保存的小时间隔(设置为"0"表示保存所有快照)
  snapshot_backup_frequency: 4
  # 由下列理由保存的快照将会被标记(使得其不会被切换)
  # 相关文档: https://william278.net/docs/husksync/data-rotation#save-causes
  auto_pinned_save_causes:
    - INVENTORY_COMMAND
    - ENDERCHEST_COMMAND
    - BACKUP_RESTORE
    - LEGACY_MIGRATION
    - MPDB_MIGRATION
  # 是否在服务器保存世界时为处于该世界的玩家创建一个快照
  save_on_world_save: true
  # 玩家死亡时的数据同步方式与时间设置
  save_on_death:
    # 是否在玩家死亡时创建一份快照(包含死亡时的掉落物)
    enabled: true
    # 在死亡快照中保存什么样的物品(DROPS 或 ITEMS_TO_KEEP)。需要注意的是 ITEMS_TO_KEEP(对启用了 keepInventory 规则的服务器)需要 1.19.4+ 版本才可使用。
    items_to_save: ITEMS_TO_KEEP
    # 是否为背包为空的玩家创建死亡快照?
    save_empty_items: true
    # 在死亡界面退出并登入其他服务器的玩家是否保留物品。
    sync_dead_players_changing_server: true
  # 是否使用 snappy 数据压缩算法。擅自修改后果自负
  compress_data: true
  # 是否显示同步消息 (ACTION_BAR, CHAT, TOAST 或 NONE)
  notification_display_slot: ACTION_BAR
  # 是否同步制图台中的永久地图使得玩家可以跨服浏览地图
  persist_locked_maps: true
  # 是否同步玩家的最大生命值(需要启用生命值同步)
  synchronize_max_health: true
  # 若使用了 DELAY 同步方法,服务器应该在数据库中拉取数据前多久接收一次 Redis 服务器数据更新(如玩家未转到其他服务器的情况)
  network_latency_milliseconds: 500
  # 决定同步的数据类型。
  # 相关文档: https://william278.net/docs/husksync/sync-features
  features:
    inventory: true
    ender_chest: true
    experience: true
    advancements: true
    game_mode: true
    flight_status: true
    potion_effects: true
    persistent_data: true
    statistics: true
    health: true
    hunger: true
    attributes: true
    persistent_data: true
    location: false
  # 在完成数据同步前不可执行的命令(以 * 表示所有命令)
  blacklisted_commands_while_locked:
    - '*'
  # 同步属性相关设置
  attributes:
    # 同步玩家数据时忽略哪些数据. 支持使用通配符.
    # (示例:['minecraft:generic.max_health', 'minecraft:generic.*'])
    ignored_attributes: []
    # 同步玩家数据时保留哪些数据,支持使用通配符。
    # (示例:['minecraft:effect.speed', 'minecraft:effect.*'])
    ignored_modifiers: ['minecraft:effect.*', 'minecraft:creative_mode_*']
  # 监听器的事件优先级 (HIGHEST, NORMAL, LOWEST)。若遇到插件冲突则可修改该部分设置
  event_priorities:
    quit_listener: LOWEST
    join_listener: LOWEST
    death_listener: NORMAL

server.yml

YAML
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃     HuskSync - 服务器 ID     ┃
# ┃     插件作者 William278      ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# ┣╸ 该文件应当包含与群组服核心配置中相同的服务器名称.
# ┗╸ 若你加入这个服务器的命令是 /server alpha, 那么就将这个设置的值改为 'alpha' (注意大小写)

name: beta