Skip to content

配置服务器

你可以通过修改服务器的各种配置文件,来自定义服务器的规则、性能、玩家连接方式等。
这些配置文件会在第一次成功开启服务器后自动生成。

编辑配置文件

重要:在编辑前,请务必遵循以下步骤,否则您的更改可能不会生效或导致错误。

  1. 停止服务器: 如果您的服务器正在运行,请在服务器控制台中输入 stop 并按回车,等待服务器完全关闭。切勿直接关闭窗口
  2. 备份文件 (推荐): 复制一份 server.properties 文件,并重命名为 server.properties.bak。这样如果配置出错,您可以随时恢复。
  3. 编辑并保存: 使用您选择的文本编辑器打开 server.properties 文件,完成编辑后,保存文件。
  4. 启动服务器: 重新运行 server.jar 来启动服务器,新的配置将会生效。

配置详解**

服务器配置文件 server.properties 详解

以下配置文件以 1.20.1 版本的 Mohist 进行举例,其余配置文件大同小异。

yaml
# Minecraft Server-Eigenschaften
# 这行是服务器自动生成的时间戳,记录了文件最后一次被服务器保存的时间。
# Wed Apr 02 20:29:58 CST 2025
## ---------------------------------------------------
## --- 核心游戏玩法与规则 (Core Gameplay & Rules) ---
## ---------------------------------------------------
# [游戏模式] 新玩家加入服务器时的默认游戏模式。
# 可选值: survival (生存), creative (创造), adventure (冒险), spectator (旁观)。
gamemode=survival
# [强制游戏模式] 是否在玩家每次登录时都强制设定为默认游戏模式。
# true: 玩家每次上线都会被重置为 'gamemode' 设定的模式。
# false: 玩家可以保持自己下线前的游戏模式 (/gamemode 指令可更改)。
force-gamemode=false
# [游戏难度] 决定了怪物的伤害、生成率、玩家饥饿速度等。
# 可选值: peaceful (和平), easy (简单), normal (普通), hard (困难)。
difficulty=easy
# [极限模式] 如果设置为 true,玩家死亡后将自动变为旁观者模式,无法复活。
# 这会覆盖 'difficulty' 设置,强制其行为类似于困难模式。
hardcore=false
# [PVP] 是否允许玩家之间互相攻击 (Player vs Player)。
# true: 允许。 false: 不允许。
pvp=true
# [启用命令方块] 是否允许在游戏中使用命令方块。
# 出于安全考虑,默认是 false。如果你信任服务器上的所有玩家或需要它来实现地图功能,可以开启。
enable-command-block=false
## ---------------------------------------------------
## --- 世界生成与环境 (World Generation & Environment) ---
## ---------------------------------------------------
# [世界名称] 服务器加载的世界文件夹的名称。修改此值会让服务器加载或生成一个新世界。
level-name=world
# [世界种子] 用于生成世界地形的种子。留空会使用一个随机种子。
# 使用特定的种子可以复现一个已知的世界地形。
level-seed=
# [世界类型] 决定了世界的生成方式。
# 可选值: minecraft:normal (默认), minecraft:flat (超平坦), minecraft:large_biomes (大型生物群系), minecraft:amplified (放大化)。
level-type=minecraft\:normal
# [世界生成器设置] 用于自定义世界生成,通常用于超平坦或自定义世界类型。
# 格式为 JSON。一般情况下保持默认的空值 {} 即可。
generator-settings={}
# [生成结构] 是否在世界中生成天然结构,如村庄、神殿、废弃矿井、要塞等。
generate-structures=true
# [允许进入下界] 是否允许玩家通过下界传送门进入下界(Nether)。
allow-nether=true
# [最大世界边界] 世界的最大半径(从坐标0,0开始计算的方块数)。
# 玩家无法超越这个边界。默认值非常大,基本等于无限。
max-world-size=29999984
## ---------------------------------------------------
## --- 玩家与连接设置 (Player & Connection Settings) ---
## ---------------------------------------------------
# [最大玩家数] 服务器能同时容纳的最大在线玩家数量。
max-players=20
# [正版验证] [极其重要] 是否开启正版验证。
# true: 只有正版 Minecraft 账号才能登录。 (推荐,安全)
# false: 允许离线/盗版账号登录。 (有安全风险,任何人可以用任意ID登录,通常需要配合登录插件使用)
online-mode=true
# [强制安全配置文件] 要求所有玩家都使用经过加密签名的安全配置文件进行连接。
# 建议保持 'true' 以增强账户安全性,防止伪造聊天信息等。
enforce-secure-profile=true
# [防止代理连接] 是否阻止使用 VPN 或代理的玩家连接服务器。
# 用于防止一些恶意行为或绕过封禁。对于私服,通常可以设为 false。
prevent-proxy-connections=false
# [启用白名单] 是否开启白名单。
# true: 只有在白名单 (whitelist.json) 上的玩家才能进入服务器。
# false: 所有玩家都可以尝试连接。
white-list=false
# [强制白名单] 当白名单开启时,如果一个已在线的玩家被从白名单中移除,是否立即将他踢出服务器。
enforce-whitelist=false
# [隐藏在线玩家] 在服务器列表中是否隐藏玩家列表。1.19.3+ 新增。
# true: 在服务器列表中不显示在线玩家。
hide-online-players=false
# [玩家闲置超时] 玩家无任何操作多少分钟后被自动踢出服务器。
# 0: 禁用此功能。
player-idle-timeout=0
## ---------------------------------------------------
## --- 服务器性能与网络 (Server Performance & Network) ---
## ---------------------------------------------------
# [服务器IP] 服务器绑定的 IP 地址。
# **强烈建议留空**,这样服务器会监听所有可用的网络接口。除非你知道你在做什么,否则不要修改。
server-ip=
# [服务器端口] 服务器监听的 TCP 端口。默认是 25565。
# 如果此端口被占用,你需要修改它,并且玩家连接时也需要指定新端口 (例如: my.server.com:25566)。
server-port=25565
# [视距] 服务器为每个玩家加载和发送的区块(Chunk)半径。
# **此项对服务器性能影响巨大!** 数值越高,看得越远,但服务器和客户端负担越重。
# 推荐范围: 6-12。默认值是 10。
view-distance=10
# [模拟距离] 服务器处理实体活动(怪物AI、农作物生长、红石等)的区块半径。
# 可以设置得比 view-distance 低来优化性能。玩家看不到远处的实体,但服务器仍需处理它们。
simulation-distance=10
# [网络压缩阈值] 决定了多大的数据包才需要进行压缩。
# -1: 禁用压缩。 0: 压缩所有数据。
# 默认值 256 是一个很好的平衡点。
network-compression-threshold=256
# [最大Tick时间] 服务器处理一个游戏刻(tick)所允许的最大时间(毫秒)。
# 如果一个 tick 的处理时间超过此值,服务器会自动崩溃并生成报告,以防止永久卡死。
# -1: 禁用此“看门狗”功能。
max-tick-time=60000
# [启用原生传输] 是否在 Linux 系统上使用 epoll 而不是 nio 来提升网络性能。
# 如果你的服务器运行在 Linux 上,建议保持 'true'。Windows 系统会忽略此项。
use-native-transport=true
# [同步区块写入] 是否将区块的保存操作同步执行。
# true: 更稳定,但可能在保存时引起短暂卡顿。
# false: 异步写入,可能稍微提升性能,但在服务器崩溃时有极小概率丢失最后几秒的数据。
sync-chunk-writes=true
# [实体广播范围百分比] 控制实体(如其他玩家、怪物)对客户端的可见距离。
# 100 表示 100%,即默认距离。可以降低此值来减少网络流量,但玩家会更晚看到远处的实体。
entity-broadcast-range-percentage=100
# [最大连锁邻居更新数] 限制了由方块更新(如红石)触发的连锁更新数量。
# 用于防止高频红石或TNT爆炸等引起的服务器崩溃。默认值已经非常大。
max-chained-neighbor-updates=1000000
## ---------------------------------------------------
## --- 生物与实体 (Mobs & Entities) ---
## ---------------------------------------------------
# [生成动物] 是否允许在区块中自然生成和平生物(牛、羊、猪等)。
spawn-animals=true
# [生成怪物] 是否允许在区块中自然生成敌对生物(僵尸、骷髅、苦力怕等)。
spawn-monsters=true
# [生成NPC] 是否允许在村庄中生成村民(NPC)。
spawn-npcs=true
# [出生点保护] 在世界出生点周围设置一个保护区,只有 OP 能在此区域内破坏和放置方块。
# 数值代表保护区的半径(格数)。 0: 禁用保护。
spawn-protection=16
## ---------------------------------------------------
## --- 服务器信息与远程管理 (Server Info & Remote Management) ---
## ---------------------------------------------------
# [服务器MOTD] 在多人游戏列表中显示的服务器描述信息。
# 可以使用颜色代码 \u00A7[颜色代码] 来添加颜色。例如:\u00A7eMy Awesome Server!
motd=A Minecraft Server
# [启用Query] 是否允许 GameSpy4 协议查询服务器信息(如在线玩家列表)。
# 一些服务器列表网站会用到此功能。
enable-query=true
# [Query端口] Query功能监听的 UDP 端口。
query.port=25565
# [启用RCON] 是否开启远程控制台 (Remote Console)。
# 允许你使用外部工具连接到服务器并执行指令。
enable-rcon=true
# [RCON端口] RCON 功能监听的 TCP 端口。
rcon.port=25575
# [RCON密码] [重要] RCON 的连接密码。请务必设置一个强壮的密码!
rcon.password=123456
# [广播控制台信息给OP] 当OP在游戏内执行指令时,是否将指令和结果显示在服务器后台日志中。
broadcast-console-to-ops=true
# [广播RCON信息给OP] 当通过RCON执行指令时,是否将指令和结果广播给游戏内的OP。
broadcast-rcon-to-ops=true
## ---------------------------------------------------
## --- 高级与杂项 (Advanced & Miscellaneous) ---
## ---------------------------------------------------
# [OP权限等级] OP(管理员)的权限等级。
# 1: OP可以无视出生点保护。
# 2: OP可以使用 /clear, /difficulty, /gamemode, /gamerule, /give, /tp 等指令,并能编辑命令方块。
# 3: OP可以使用 /ban, /deop, /kick, /op 等管理玩家的指令。
# 4: OP可以使用 /stop, /save-all 等管理服务器的指令。
op-permission-level=4
# [函数权限等级] 通过 /function 指令执行的函数中的指令所拥有的权限等级。
# 类似于OP权限等级,决定了函数能执行哪些命令。
function-permission-level=2
# [飞行许可] 是否允许玩家飞行。
# 这个设置主要在生存模式下起作用。如果为 'true',即使是生存模式的玩家也不会因为飞行而被服务器踢出(需要飞行插件或MOD支持)。
# 创造模式玩家总能飞行。
allow-flight=false
# [启用JMX监控] 暴露一个 MBean,用于通过 JMX 进行性能监控。
# 主要给高级用户或开发者使用,一般保持 'false'。
enable-jmx-monitoring=false
# [速率限制] 玩家因发送过多数据包而被踢出的阈值。
# 0: 禁用。用于防止某些客户端作弊行为。
rate-limit=0
# [启用服务器状态] 是否允许客户端获取服务器状态(用于在多人游戏列表中显示信息)。
# 几乎所有情况都应保持 'true'。
enable-status=true
# [文本过滤配置] 用于配置聊天内容的过滤规则,可以链接到一个外部的规则文件。留空则使用默认。
text-filtering-config=
# [强制资源包] 是否强制玩家接受服务器资源包。
# true: 如果玩家拒绝资源包,将被踢出服务器。
# false: 玩家可以选择是否下载和使用。
require-resource-pack=false
# [资源包链接] 服务器资源包 (.zip) 的下载链接。玩家加入时会提示下载。
resource-pack=
# [资源包提示信息] 当提示玩家下载资源包时,显示的自定义文本信息。
resource-pack-prompt=
# [资源包SHA1] 资源包文件的 SHA-1 校验和(小写)。
# 用于验证玩家本地缓存的资源包是否为最新版,如果不是则会重新下载。
resource-pack-sha1=
# [初始禁用的数据包] 服务器启动时默认禁用的数据包列表,以逗号分隔。
initial-disabled-packs=
# [初始启用的数据包] 除了默认的 vanilla 包之外,额外启用的数据包。
initial-enabled-packs=vanilla
# [调试模式] 此为旧版调试设置,通常保持 false。
debug=false

Bukkit 服务器配置文件 bukkit.yml 详解

yaml
## ---------------------------------------------------
## --- 核心设置 (Settings) ---
## ---------------------------------------------------
settings:
  # [允许末地] 是否允许服务器加载和进入末地维度。
  # 如果设为 false,末地传送门将无法使用。
  allow-end: true
  # [过载时警告] 当服务器的运行速度跟不上游戏刻 (TPS < 18) 时,是否在控制台打印警告信息。
  # 对于生产服务器,建议设为 false 以免刷屏。
  warn-on-overload: false
  # [权限文件名] [遗留设置] 指定权限文件的名称。
  # 现代权限插件(如 LuckPerms)会忽略此项,因此保持默认即可。
  permissions-file: permissions.yml
  # [更新文件夹] [遗令设置] 服务器启动时,会自动安装此文件夹内的插件。
  # 现代做法是手动将插件放入 plugins 文件夹,所以此项基本无用。
  update-folder: update
  # [插件分析] 是否开启对插件性能的分析(计时)。
  # 开启后,可以使用 /timings 命令生成详细的性能报告,但会轻微影响服务器性能。
  # 仅在需要排查插件卡顿时开启。
  plugin-profiling: false
  # [连接限制] 玩家在两次登录尝试之间必须等待的时间(毫秒)。
  # 用于防止登录机器人爆破服务器。4000 毫秒 = 4 秒。
  connection-throttle: 4000
  # [查询插件列表] 当外部工具(如服务器列表网站)查询服务器信息时,是否返回插件列表。
  # 出于安全和隐私考虑,可以设为 false。
  query-plugins: true
  # [过时API警告] 当插件使用了过时的(被弃用的)API时,如何处理警告信息。
  # default: 由服务器决定。 true: 总是显示。 false: 不显示。
  deprecated-verbose: default
  # [关服消息] 当服务器关闭时,向所有在线玩家广播的消息。
  shutdown-message: Server closed
  # [最低API版本] [开发者选项] 阻止加载使用了比指定版本更旧的 Bukkit API 的插件。
  # 'none' 表示不限制。
  minimum-api: none
  # [使用地图颜色缓存] 是否缓存地图的颜色数据以提升性能。
  # 建议保持 true。
  use-map-color-cache: true
## ---------------------------------------------------
## --- 生物生成上限 (Spawn Limits) ---
## --- 这些值是每个玩家的上限,服务器总上限 = 玩家数 * 此值 ---
## ---------------------------------------------------
spawn-limits:
  # [怪物上限] 每个玩家允许存在的怪物(僵尸、骷髅等)数量。
  monsters: 70
  # [动物上限] 每个玩家允许存在的陆地动物(牛、羊、猪等)数量。
  animals: 10
  # [水生动物上限] 每个玩家允许存在的水生动物(鱼、海豚)数量。
  water-animals: 5
  # [水生环境生物上限] 每个玩家允许存在的水生环境生物(鱿鱼)数量。
  water-ambient: 20
  # [水下生物上限] 每个玩家允许存在的水下生物(蝾螈)数量。
  water-underground-creature: 5
  # [环境生物上限] 每个玩家允许存在的环境生物(蝙蝠)数量。
  ambient: 15
## ---------------------------------------------------
## --- 区块垃圾回收 (Chunk Garbage Collection) ---
## ---------------------------------------------------
chunk-gc:
  # [执行周期] 服务器检查并卸载无人使用的区块的频率(以游戏刻为单位)。
  # 600 刻 = 30 秒。这有助于释放内存。
  period-in-ticks: 600
## ---------------------------------------------------
## --- 生成尝试频率 (Ticks Per Spawn Attempt) ---
## --- 数值越低,尝试生成的频率越高 ---
## ---------------------------------------------------
ticks-per:
  # [动物生成频率] 每隔多少游戏刻尝试生成一次动物。
  # 400 刻 = 20 秒。这是原版默认值。
  animal-spawns: 400
  # [怪物生成频率] 每隔多少游戏刻尝试生成一次怪物。
  # 1 刻表示每个游戏刻都尝试,这是原版行为。增加此值可以有效降低服务器负载,但会减少怪物数量。
  monster-spawns: 1
  # [水生生物生成频率]
  water-spawns: 1
  # [水生环境生物生成频率]
  water-ambient-spawns: 1
  # [水下生物生成频率]
  water-underground-creature-spawns: 1
  # [环境生物生成频率]
  ambient-spawns: 1
  # [自动保存频率] 服务器自动保存世界的频率(以游戏刻为单位)。
  # 6000 刻 = 5 分钟。这是原版默认值。
  autosave: 6000
## ---------------------------------------------------
## --- 指令别名 (Aliases) ---
## ---------------------------------------------------
# [遗留设置] 这是一个提示信息,告诉管理员指令别名现在已移至 commands.yml 文件进行配置。
# 此行没有实际功能。
aliases: now-in-commands.yml

Spigot 服务器配置文件 spigot.yml 详解

yaml
# 这是 Spigot 的主配置文件。
# 正如你所见,这里有海量的配置项。有些选项可能会影响游戏玩法,所以请谨慎使用,
# 并在配置前确保你了解每个选项的作用。
# 如果需要参考此文件中任何变量的说明,请查阅 Spigot Wiki:
# http://www.spigotmc.org/wiki/spigot-configuration/
# 如果你需要配置方面的帮助或有任何与 Spigot 相关的问题,
# 请加入我们的 Discord 或在我们的论坛上发帖。
# Discord: https://www.spigotmc.org/go/discord
# 论坛: http://www.spigotmc.org/
## ---------------------------------------------------
## --- 命令设置 (Commands) ---
## ---------------------------------------------------
commands:
  # [指令日志] 是否在服务器控制台/日志中记录玩家执行的指令。
  log: true
  # [指令防刷屏排除列表] 在此列表中的指令不会计入服务器的“指令刷屏”检测。
  # 适用于玩家可能需要频繁使用的指令,例如插件的技能指令。
  spam-exclusions:
  - /skill
  # [替换原版指令] 用 Spigot 优化过的版本替换掉某些原版指令。
  # 建议保持默认,以获得更好的性能和兼容性。
  replace-commands:
  - setblock
  - summon
  - testforblock
  - tellraw
  # [Tab指令补全] 设置Tab键指令补全的行为。
  # 0: Spigot的默认行为。 -1: 完全禁用Tab补全。
  tab-complete: 0
  # [发送命名空间] 在Tab补全时发送命名空间ID(如 minecraft:give)。
  # 为了与现代客户端和插件兼容,建议保持 true。
  send-namespaced: true
  # [静默命令方块控制台输出] 如果为 true,命令方块执行的指令将不会显示在服务器控制台中。
  # 这对于防止控制台被大量命令方块输出刷屏非常有用。
  silent-commandblock-console: false
## ---------------------------------------------------
## --- 核心设置 (Settings) ---
## ---------------------------------------------------
settings:
  # [Netty 线程数] 用于处理网络数据包的线程数量。通常保持默认 (4) 即可。
  netty-threads: 4
  # [属性上限] 设置玩家或实体通过指令/插件能达到的属性最大值,防止作弊。
  attribute:
    maxHealth:
      # 最大生命值
      max: 2048.0
    movementSpeed:
      # 最大移动速度
      max: 2048.0
    attackDamage:
      # 最大攻击伤害
      max: 2048.0
  # [玩家洗牌] 在玩家列表中随机排列玩家位置的频率(刻)。0为禁用。
  # 用于破坏某些依赖于玩家列表顺序的AFK机器。
  player-shuffle: 0
  # [服务器列表玩家样本数] 在服务器列表中,鼠标悬停时显示的玩家样本数量。
  sample-count: 20
  # [用户缓存大小] 服务器保存的玩家数据(UUID 和名称)的缓存数量。
  # 1000 对于大多数服务器来说足够了。
  user-cache-size: 1000
  # [BungeeCord 模式] [极其重要] 如果你的服务器是 BungeeCord/Velocity 代理网络的一部分,必须设置为 true!
  # 否则,请务必保持 false。开启后会允许IP转发,并关闭服务器自身的正版验证(交由代理处理)。
  bungeecord: false
  # [仅在关服时保存用户缓存] 如果为 true,玩家数据缓存只在服务器正常关闭时写入文件。
  # 这能提升运行时性能,但如果服务器崩溃,可能会丢失自上次启动以来的新玩家数据。
  save-user-cache-on-stop-only: false
  # [记录村民死亡] 是否在控制台记录村民的死亡信息。
  log-villager-deaths: false
  # [记录命名实体死亡] 是否在控制台记录被命名牌命名过的实体的死亡信息。
  log-named-deaths: false
  # [超时时间] 玩家连接或登录的超时时间(秒)。
  # 如果玩家在此时间内没有响应,将被踢出。
  timeout-time: 120
  # [崩溃后重启] 如果服务器崩溃,是否自动执行重启脚本。
  restart-on-crash: true
  # [重启脚本] 当服务器执行 /restart 指令或崩溃后自动重启时,运行此脚本。
  # 例如: 在Linux上是 ./start.sh,在Windows上是 start.bat。
  restart-script: ./start.sh
  # [移动错误阈值] 服务器判断玩家移动是否“错误”(可能由作弊引起)的阈值。
  # 不建议修改,除非你明确知道其影响。
  moved-wrongly-threshold: 0.0625
  # [移动过快乘数] 服务器判断玩家是否移动“过快”的乘数。
  moved-too-quickly-multiplier: 10.0
  # [调试模式] Spigot的调试模式,会输出大量调试信息。除非你在排查问题,否则应保持 false。
  debug: false
## ---------------------------------------------------
## --- 自定义消息 (Messages) ---
## ---------------------------------------------------
messages:
  whitelist: You are not whitelisted on this server!
  unknown-command: Unknown command. Type "/help" for help.
  server-full: The server is full!
  # {0} 是一个占位符,会被替换为正确的客户端版本号。
  outdated-client: Outdated client! Please use {0}
  # {0} 是一个占位符,会被替换为正确的服务器版本号。
  outdated-server: Outdated server! I'm still on {0}
  restart: Server is restarting
## ---------------------------------------------------
## --- 世界设置 (World Settings) ---
## --- 'default' 中的设置会应用到所有世界 ---
## ---------------------------------------------------
world-settings:
  default:
    # [在旧区块生成负Y轴内容] 允许在1.18版本之前生成的旧区块下方,生成新的洞穴和地形。
    below-zero-generation-in-existing-chunks: true
    # [详细日志] 是否为该世界输出详细的调试信息。通常应为 false。
    verbose: false
    # [箭消失速率] 射出的箭在消失前存在的时间(刻)。20刻 = 1秒。增加此值可让箭停留更久,但会消耗更多性能。
    arrow-despawn-rate: 1200
    # [三叉戟消失速率] 扔出的三叉戟在消失前存在的时间(刻)。
    trident-despawn-rate: 1200
    # [合并半径] [重要性能优化]
    # 当掉落物或经验球之间的距离小于此半径时,它们会合并成一个实体。
    # 增大此值可以极大地减少实体数量,显著提升服务器性能,尤其是在有刷怪塔时。
    merge-radius:
      exp: 6.0   # 经验球的合并半径
      item: 4.0  # 掉落物的合并半径
    # [饥饿值消耗设置] 微调各种行为导致的饥饿度消耗。
    hunger:
      jump-walk-exhaustion: 0.05
      jump-sprint-exhaustion: 0.2
      combat-exhaustion: 0.1
      regen-exhaustion: 6.0
      swim-multiplier: 0.01
      sprint-multiplier: 0.1
      other-multiplier: 0.0
    # [游戏刻频率] [重要性能优化]
    # 控制某些方块逻辑的执行频率(每X个游戏刻执行一次)。数值越高,执行越慢,服务器负担越小。
    ticks-per:
      hopper-transfer: 8 # 漏斗推动物品的频率。原版是8。
      hopper-check: 1    # 漏斗检查上方物品的频率。原版是1。
    # [漏斗单次传输量] 每次漏斗传输时移动的物品数量。增加此值可以提升漏斗效率。
    hopper-amount: 1
    # [漏斗加载区块] 是否允许漏斗加载其所在的区块。
    # **强烈建议保持 false**,否则连接的漏斗链会造成严重的区块加载和服务器卡顿。
    hopper-can-load-chunks: false
    # [龙死亡音效半径] 末影龙死亡时,音效播放的半径。0为全局播放。
    dragon-death-sound-radius: 0
    # [末地传送门音效半径] 末地传送门激活时,音效播放的半径。0为全局播放。
    end-portal-sound-radius: 0
    # [凋灵生成音效半径] 凋灵生成时,音效播放的半径。0为全局播放。
    wither-spawn-sound-radius: 0
    # [僵尸攻击村民] 僵尸是否会主动攻击村民。
    zombie-aggressive-towards-villager: true
    # [生物生成范围] 生物在玩家周围的生成距离(区块)。
    # 不建议设置得比视距 (view-distance) 小。
    mob-spawn-range: 6
    # [作物生长速率修正] 修改各种作物的生长速度。100为100%(即原版速度)。
    # 数值越小,生长越快。例如 50 会让生长速度加倍。
    growth:
      cactus-modifier: 100
      cane-modifier: 100
      melon-modifier: 100
      mushroom-modifier: 100
      pumpkin-modifier: 100
      sapling-modifier: 100
      beetroot-modifier: 100
      carrot-modifier: 100
      potato-modifier: 100
      wheat-modifier: 100
      netherwart-modifier: 100
      vine-modifier: 100
      cocoa-modifier: 100
      bamboo-modifier: 100
      sweetberry-modifier: 100
      kelp-modifier: 100
      twistingvines-modifier: 100
      weepingvines-modifier: 100
      cavevines-modifier: 100
    # [实体激活范围] [极其重要的性能优化]
    # 定义了不同类型的实体在距离玩家多远时会“激活”(即拥有完整的AI和物理计算)。
    # 在范围外的实体会“休眠”,大大减轻服务器负担。降低这些值可以显著提升性能,但远处的生物会表现得像“木桩”。
    entity-activation-range:
      animals: 32     # 动物
      monsters: 32    # 怪物
      raiders: 48     # 袭击者(灾厄村民等)
      misc: 16        # 其他实体(如掉落物、船)
      tick-inactive-villagers: true # 是否让休眠状态的村民继续进行一些简单逻辑(如寻路到床上)。设为 false 可提升性能。
      ignore-spectators: false      # 旁观者模式的玩家是否会激活实体。
    # [实体追踪范围] [重要性能优化]
    # 定义了服务器向客户端发送实体数据(使其可见)的最大距离。
    # 这个距离应该大于或等于上面的激活范围。降低此值可以减少网络带宽占用。
    entity-tracking-range:
      players: 48     # 玩家
      animals: 48     # 动物
      monsters: 48    # 怪物
      misc: 32        # 其他实体
      display: 128    # 展示框、盔甲架等
      other: 64       # 未分类的实体
    # [结构种子] 允许你为不同类型的结构使用独立的种子,而不是全部使用世界种子。
    seed-village: 10387312
    seed-desert: 14357617
    seed-igloo: 14357618
    seed-jungle: 14357619
    seed-swamp: 14357620
    seed-monument: 10387313
    seed-shipwreck: 165745295
    seed-ocean: 14357621
    seed-outpost: 165745296
    seed-endcity: 10387313
    seed-slime: 987234911
    seed-nether: 30084232
    seed-mansion: 10387319
    seed-fossil: 14357921
    seed-portal: 34222645
    # [允许猪灵传送门生成] 是否允许僵尸猪灵在下界传送门周围自然生成。
    enable-zombie-pigmen-portal-spawns: true
    # [悬挂实体检查频率] 检查悬挂实体(如画、物品展示框)是否仍然有效的频率(刻)。
    hanging-tick-frequency: 100
    # [视距] 该世界的视距。'default' 表示使用 server.properties 中的设置。
    # 你可以在这里为特定世界覆盖全局设置,例如: view-distance: 8
    view-distance: default
    # [模拟距离] 该世界的模拟距离。'default' 表示使用 server.properties 中的设置。
    simulation-distance: default
    # [雷暴几率] 发生雷暴的几率。数值越大,几率越小。100000 表示平均每 100000 刻(约 1.4 小时)有一次机会。
    thunder-chance: 100000
    # [削弱刷怪笼生物] 从刷怪笼生成的生物是否没有经验掉落、装备掉落率极低,并且不计入生物上限。
    # 设为 true 可以有效防止刷怪塔滥用。
    nerf-spawner-mobs: false
    # [物品消失速率] 掉落在地上的物品消失前存在的时间(刻)。原版是 6000 (5分钟)。
    item-despawn-rate: 6000
    # [每刻最大TNT引爆数] [抗大规模爆炸] 限制了服务器在一个游戏刻内可以处理的TNT引爆数量。
    # 用于防止使用大量TNT来卡服或炸服。
    max-tnt-per-tick: 10
## ---------------------------------------------------
## --- 玩家/进度/统计数据保存设置 ---
## ---------------------------------------------------
players:
  # [禁用玩家数据保存] 如果为 true,服务器将不会保存玩家数据(物品栏、位置、血量等)。
  # 主要用于调试,正常情况下必须为 false。
  disable-saving: false
advancements:
  # [禁用进度保存] 如果为 true,服务器将不会保存玩家的进度。
  disable-saving: false
  # [禁用的进度] 在此列表中指定的原版进度将对所有玩家禁用。
  disabled:
  - minecraft:story/disabled
stats:
  # [禁用统计数据保存] 如果为 true,服务器将不会保存玩家的统计数据(挖掘方块数等)。
  disable-saving: false
  # [强制统计] 可以在此强制设定某些统计数据的值。一般留空。
  forced-stats: {}
## ---------------------------------------------------
## --- 配置文件版本 (请勿修改) ---
## ---------------------------------------------------
# Spigot 用这个版本号来判断是否需要自动升级你的配置文件。
# 请不要手动修改此值。
config-version: 12

Mohist 服务器配置文件 mohist.yml 详解

yaml
# 这是 Mohist 的主配置文件。
# 正如你所见,这里有海量的配置项。有些选项可能会影响游戏玩法,所以请谨慎使用,
# 并在配置前确保你了解每个选项的作用。
# 如果需要参考此文件中任何变量的说明,请查阅 Mohist Wiki:
# https://wiki.mohistmc.com/
# 如果你需要配置方面的帮助或有任何与 Mohist 相关的问题,
# 请加入我们的 Discord 或在我们的论坛上发帖。
# Discord: https://discord.gg/mohistmc
# 论坛: https://mohistmc.com/
# 中文论坛: https://mohistmc.cn/
## ---------------------------------------------------
## --- 铁砧修复与附魔 (Anvil & Enchantment) ---
## ---------------------------------------------------
anvilfix:
  # [最大修复花费] 铁砧的最大修复花费等级。原版中超过40级就会显示“过于昂贵”。
  # 增加此值可以修复需要更高经验等级的物品。
  maximumrepaircost: 40
  # [附魔修复] 是否启用附魔修复,允许超过原版限制的附魔等级。
  enchantment_fix: false
  # [最大附魔等级] 当 enchantment_fix 启用时,允许的最大附魔等级。32767是最高值。
  max_enchantment_level: 32767
## ---------------------------------------------------
## --- Mod 列表管理 ---
## ---------------------------------------------------
player_modlist_blacklist:
  # [启用玩家Mod黑名单] 是否启用此功能,用于阻止加载了特定Mod的玩家进入服务器。
  # 可用于禁用一些作弊或不兼容的客户端Mod。
  enable: false
  # [黑名单列表] 在此列出要禁用的Mod的ID。
  list: []
server_modlist_whitelist:
  # [启用服务器Mod白名单] 是否启用此功能,强制服务器只加载白名单内的Mod。
  # 注意:这通常用于调试,不推荐在生产环境中使用。
  enable: false
  # [白名单列表] 仅加载此列表中的Mod。默认包含 minecraft 和 forge。
  list: '[minecraft, forge]'
## ---------------------------------------------------
## --- 游戏机制微调 (Gameplay Tweaks) ---
## ---------------------------------------------------
# [蜂箱内最大蜜蜂数] 一个蜂箱/蜂巢能容纳的最大蜜蜂数量。
max-bees-in-hive: 3
# [附魔台书本动画] 是否播放附魔台打开书本的动画。关闭可以略微提升客户端性能。
enchantment-table-book-animation-tick: false
## ---------------------------------------------------
## --- 网络与线程 (Network & Threading) ---
## ---------------------------------------------------
networkmanager:
  # [网络调试] 是否在控制台输出详细的网络数据包信息。仅用于开发者调试。
  debug: false
  # [拦截数据包] 拦截并记录指定的数据包。仅用于开发者调试。
  intercept: []
threadpriority:
  # [服务器主线程优先级] 设置服务器主线程的优先级。范围1-10,不建议修改。
  server_thread: 8
## ---------------------------------------------------
## --- 实体与物品管理 (Entity & Item Management) ---
## ---------------------------------------------------
entity:
  # [定时清理掉落物]
  clear:
    item:
      enable: false # 是否启用自动清理掉落物。
      whitelist: [] # 白名单内的物品不会被清理 (填写物品ID,如 minecraft:diamond)。
      msg: '[Server] Cleaned up %size% drop item' # 清理时广播的消息,%size% 会被替换为清理的数量。
      time: 1800 # 清理周期(秒)。1800秒 = 30分钟。
    # [定时清理怪物]
    monster:
      enable: false # 是否启用自动清理怪物。
      whitelist: [] # 白名单内的怪物不会被清理 (填写实体ID,如 minecraft:creeper)。
      msg: '[Server] Cleaned up %size% monster' # 清理时广播的消息。
      time: 1800 # 清理周期(秒)。
## ---------------------------------------------------
## --- 违禁品管理 (Ban Management) ---
## --- 用于禁止玩家使用、合成或放置某些东西 ---
## ---------------------------------------------------
ban:
  # [禁用物品]
  item:
    enable: false # 是否启用物品禁用功能。
    list: [] # 禁用的物品ID列表。
  # [禁用实体]
  entity:
    enable: false # 是否启用实体禁用功能(例如禁止生成某种实体)。
    list: [] # 禁用的实体ID列表。
  # [禁用附魔]
  enchantment:
    enable: false # 是否启用附魔禁用功能。
    list: [] # 禁用的附魔ID列表。
## ---------------------------------------------------
## --- 服务器信息 (MOTD) & 消息 (Messages) ---
## ---------------------------------------------------
motd:
  # [启用自定义MOTD] 是否启用Mohist内置的MOTD功能。
  enable: false
  # [MOTD第一行] 支持颜色代码和特殊格式,如 <RAINBOW1> 实现彩虹字效果。
  firstline: <RAINBOW1>A Minecraft Server</RAINBOW>
  # [MOTD第二行]
  secondline: ''
settings:
  messages:
    # [Ping指令输出格式] /ping 指令的返回消息格式。%s是玩家名, %ms是延迟。
    ping-command-output: §2%s's ping is %sms
## ---------------------------------------------------
## --- 事件与兼容性 (Events & Compatibility) ---
## ---------------------------------------------------
events:
  # [火焰蔓延] 是否允许火焰蔓延。设为 false 可以提升性能,防止火灾。
  fire_tick: false
  # [爆炸] 是否允许爆炸(TNT,苦力怕等)破坏方块。设为 false 可以防熊。
  explosion: false
forge:
  # [Bukkit权限处理器] [极其重要] 是否让Bukkit的权限插件(如LuckPerms)接管Forge Mod的权限检查。
  # 必须设为 true 才能用权限插件管理Mod的权限。
  bukkitpermissionshandler: true
# [世界管理] 是否让Mohist管理多世界。通常保持 true。
worldmanage: true
# [Velocity支持] 如果你的服务器是Velocity代理网络的一部分,请启用此项。
velocity:
  enabled: false
  onlineMode: false # 在Velocity模式下,此项应为 false,由代理负责验证。
  secret: '' # Velocity的转发密钥。
recipe:
  # [配方警告] 是否在控制台显示关于配方冲突的警告。
  warn: false
## ---------------------------------------------------
## --- 内置指令 (Built-in Commands) ---
## --- 如果使用EssentialsX等插件,建议关闭这些,避免指令冲突 ---
## ---------------------------------------------------
tpa:
  # [启用 /tpa 指令] 是否启用内置的传送请求指令。
  enable: false
  # [需要权限] 使用 /tpa 是否需要权限 (mohist.tpa)。
  permissions: true
back:
  # [启用 /back 指令] 是否启用内置的返回上一位置的指令。
  enable: false
  # [需要权限] 使用 /back 是否需要权限 (mohist.back)。
  permissions: true
## ---------------------------------------------------
## --- 权限与世界 (Permissions & World) ---
## ---------------------------------------------------
permissions:
  # [权限调试] 在控制台或为玩家输出详细的权限检查信息。
  debug:
    console: false
    player: false
world:
  # [异步保存] 是否异步执行世界保存。可能提升性能,但有微小的数据丢失风险。
  async_save: false
## ---------------------------------------------------
## --- Mohist 核心设置 ---
## ---------------------------------------------------
message:
  # [需要Forge提示] 当未使用Forge客户端的玩家尝试连接时,发送此消息。
  require_forge: This server has mods that require Forge to be installed on the client. Contact your server admin for more details.
mohist:
  # [显示Logo] 是否在启动时显示Mohist的ASCII艺术Logo。
  show_logo: false
  # [Spigot看门狗] 是否启用Spigot的看门狗(监控主线程卡死)。
  watchdog_spigot: true
  # [Mohist看门狗] 是否启用Mohist自身的看门狗。
  watchdog_mohist: false
  # [语言] Mohist消息的显示语言。
  lang: zh_CN
  # [检查更新] 是否在启动时检查Mohist的新版本。
  check_update: false
  # [自动下载更新] 如果检查到新版本,是否自动下载。
  check_update_auto_download: false
  # [依赖库检查] 启动时是否检查并补全缺失的依赖库。
  libraries:
    check: true
  # [安装完成] [请勿修改] 标记Mohist是否已成功安装。
  installation-finished: false
# [配置文件版本] [请勿修改] 用于版本升级,不要手动更改。
config-version: 1
## ---------------------------------------------------
## --- 内置死亡不掉落 (Keep Inventory) ---
## ---------------------------------------------------
keepinventory:
  # [全局设置]
  global:
    enable: false # 是否全局启用死亡不掉落。
    inventory: true # 如果启用,是否保留物品栏。
    exp: true # 如果启用,是否保留经验。
  # [权限控制] 玩家需要有对应权限才能享受死亡不掉落。
  permission:
    inventory: mohist.keepinventory.inventory # 保留物品栏的权限节点。
    exp: mohist.keepinventory.exp # 保留经验的权限节点。
  # [世界特定设置] 覆盖全局设置,为特定世界单独设置死亡不掉落规则。
  # 例如,你可以在这里为某个世界强制开启或关闭死亡不掉落。
  world:
    inventory: false
    exp: false

Catserver 服务器配置文件 catserver.yml 详解

以下配置文件以 1.12.2 版本进行举例,其余配置文件大同小异。

yaml
## ---------------------------------------------------
## --- 世界管理与性能 (World Management & Performance) ---
## ---------------------------------------------------
world:
  # [保持出生点区块加载] 是否始终将世界的出生点区块 (Spawn Chunks) 加载在内存中,即使没有玩家在附近。
  # true: 可以确保出生点区块的红石机器或农场持续运行,但会占用更多内存。
  # false: 仅当有玩家在附近时才加载,节省内存。
  keepSpawnInMemory: true
  # [跳过实体逻辑计算] [性能优化] 是否允许服务器跳过远离玩家的实体 (Entity) 的逻辑计算 (Tick)。
  # 开启此项可以显著提升性能,尤其是当服务器内实体数量很多时。
  enableSkipEntityTick: true
  # [跳过方块实体逻辑计算] [性能优化] 类似于上一条,但针对方块实体 (Tile Entity),如熔炉、箱子、刷怪笼等。
  # 注意:开启此项可能会导致某些Mod的机器或自动化设备工作不正常,因此默认关闭。
  enableSkipTileEntityTick: false
  # [世界生成最大耗时] 在单次服务器Tick中,用于世界生成(玩家探索新地形时)的最大耗时(毫秒)。
  # 用于防止玩家快速跑图时,因世界生成占用过多资源而导致整个服务器卡顿。
  worldGenMaxTick: 15
  # [禁用Forge生成的世界] 在此列表中指定的世界名称,将不会应用Forge的Mod世界生成(如额外的矿石、生物群系等)。
  # 这对于创建纯净插件世界(如登录服、小游戏服)非常有用。
  disableForgeGenerateWorlds:
  - ExampleCustomWorld
  # [阻止方块加载区块] 是否阻止某些方块行为(如红石信号传播)加载新的、未加载的区块。
  # 开启可以防止失控的红石机器造成大范围的区块加载,从而引发卡顿。
  preventBlockLoadChunk: false
  # [自动卸载维度] 在此列表中的维度ID,如果维度内没有玩家,则会自动从内存中卸载以释放资源。
  # 适用于不常用的维度,如一次性的挖矿世界。
  autoUnloadDimensions:
  - 99999999
  # [启用实时模式] [高级/调试] 尝试让服务器Tick与现实时间同步。通常应保持false。
  enableRealtime: false
  # [看门狗触发时强制保存] 当服务器的看门狗(Watchdog)检测到服务器卡死时,在强制关闭前是否尝试保存一次世界数据。
  # 这有助于在服务器崩溃时减少数据回档。
  forceSaveOnWatchdog: true
  # [最大实体碰撞数] 单个方块空间内允许碰撞的实体最大数量。
  # 这是原版的实体挤压规则(entity cramming),用于防止刷怪塔或养殖场实体过多导致卡顿。
  maxEntityCollision: 8
  # [保存Bukkit世界维度ID] [兼容性设置] 是否将Bukkit世界的维度ID保存到level.dat。通常保持true以确保兼容性。
  saveBukkitWorldDimensionId: true
## ---------------------------------------------------
## --- 假人玩家 (Fake Player) ---
## --- “假人”是由Mod创建出来用于模拟玩家行为的实体,例如Create的动力臂、AE2的成型面板等 ---
## ---------------------------------------------------
fakePlayer:
  # [假人权限] 在此赋予所有假人玩家权限节点。
  # [极其重要] 如果你使用了领地插件(如WorldGuard),你需要在这里添加建造权限(如 essentials.build),
  # 否则Mod的自动化机器将无法在受保护的区域内放置或破坏方块。
  permissions:
  - essentials.build
  # [事件传递] 是否允许由假人玩家触发的事件传递给插件。
  # 例如,设为true时,假人破坏方块的行为可以被CoreProtect等日志插件记录。
  eventPass: false
## ---------------------------------------------------
## --- 原版行为修复与调整 (Vanilla Fixes & Tweaks) ---
## ---------------------------------------------------
vanilla:
  # [修复Boss音效跨世界播放] 修复了末影龙或凋灵的Boss战音效会错误地在其他世界或维度播放的问题。
  fixPlayBossSoundToOtherWorld: true
  # [修复末影水晶重生龙] 修复了在某些情况下,重生末影龙所需的水晶数量不正确的问题。
  fixLessCrystalRespawnDragon: false
  # [阻止活塞推动方块实体] 是否阻止活塞推动带有NBT数据的方块实体(如箱子、熔炉)。
  # 开启此项可以防止许多利用此机制的刷物品BUG。
  preventPistonPushTileEntity: true
  # [阻止活塞推动铁轨]
  preventPistonPushRail: false
  # [阻止活塞推动粘液块]
  preventPistonPushSlimeBlock: false
## ---------------------------------------------------
## --- 插件兼容性补丁 (Plugin Compatibility) ---
## ---------------------------------------------------
plugin:
  patcher:
    # [启用Dynmap兼容补丁] 修复Dynmap(网页地图插件)与Mod方块的兼容性问题。
    enableDynmapCompatible: true
    # [启用CoreProtect兼容补丁] 允许CoreProtect(方块日志插件)正确地记录由Mod造成的方块变化。
    enableCoreProtectModBlockCompatible: true
    # [启用Essentials新版兼容补丁]
    enableEssentialsNewVersionCompatible: true
    # [启用MythicMobs兼容补丁]
    enableMythicMobsPatcherCompatible: true
    # [启用WorldEdit兼容补丁] 提升WorldEdit(创世神插件)与Mod方块的兼容性。
    enableWorldEditCompatible: true
    # [启用Citizens兼容补丁]
    enableCitizensCompatible: true
    # [启用SuperiorSkyblock2兼容补丁]
    enableSuperiorSkyblock2Compatible: true
  # [禁用漏斗移动事件的世界] 在此列表中的世界,将不会触发漏斗移动物品的事件 (HopperMoveEvent)。
  # 对于有大量漏斗分类系统的世界,禁用此事件可以显著提升性能。
  disableHopperMoveEventWorlds: []
  # [默认安装] 是否在首次启动时自动安装一些推荐的实用插件。
  defaultInstall:
    spark: true # Spark是一个强大的服务器性能分析插件。
## ---------------------------------------------------
## --- 异步处理 (Asynchronous Processing) ---
## ---------------------------------------------------
async:
  # [异步处理Forge聊天事件] 是否异步处理聊天事件。
  # false (同步): 更安全,兼容性更好,但如果聊天插件处理逻辑复杂,可能造成主线程卡顿。
  # true (异步): 速度更快,但可能与某些插件不兼容。
  waitForgeServerChatEvent: false
## ---------------------------------------------------
## --- 网络数据包限制 (Network Packet Limits) ---
## --- 用于防止客户端通过发送恶意数据包来攻击服务器 ---
## ---------------------------------------------------
network:
  packetLimit:
    # [合成请求限制] 限制玩家在短时间内能发送的合成请求次数。
    craftRequestThrottle: 20
    # [物品NBT数据限制] 限制单个物品的NBT数据大小,防止利用“NBT溢出”来使其他玩家崩溃。
    itemNBTThrottle: 200
    # [快速点击GUI] 是否启用对GUI内快速点击的限制。
    fastClickGUI: false
    # [GUI点击限制] 限制玩家在GUI界面内的点击频率。
    clickGUIThrottle: 50
    # [释放物品使用限制] 限制玩家释放“使用物品”键(如吃东西)的频率。
    releaseUseItemThrottle: 20
  fml:
    # [禁用FML握手] 是否禁用Forge的客户端/服务端握手过程。不建议修改。
    disableHandshake: false
    # [禁用状态Mod信息] 是否在服务器列表的ping信息中隐藏Mod列表。
    disableStatusModInfo: false
## ---------------------------------------------------
## --- 其他杂项 (Miscellaneous) ---
## ---------------------------------------------------
# [禁用更新玩家资料] 是否禁用从Mojang服务器更新玩家的皮肤、名称等信息。
disableUpdateGameProfile: false
# [禁用异步捕捉警告] 是否禁用控制台里关于“插件异步访问API”的警告信息。可以使后台更清爽,但会隐藏潜在的插件问题。
disableAsyncCatchWarn: false
# [版本检查] 启动时是否检查Catserver的新版本。
versionCheck: true

Cauldron 服务器配置文件 cauldron.yml 详解

yaml
# 这是 Cauldron 的主配置文件。
# 如果你需要配置方面的帮助或有任何与 Cauldron 相关的问题,
# 请加入我们的 IRC 或在我们的论坛上发帖。
# IRC: #cauldron @ irc.esper.net ( http://webchat.esper.net/?channel=cauldron )
# 论坛: http://cauldron.minecraftforge.net/
## ---------------------------------------------------
## --- 日志与调试 (Logging & Debugging) ---
## --- 这些选项主要用于开发者调试,除非你在排查问题,否则建议保持默认(false) ---
## ---------------------------------------------------
logging:
  # [实体碰撞检查日志] 是否记录实体碰撞/计数的检查过程。
  entity-collision-checks: false
  # [连接日志] 是否记录玩家的连接和断开过程。
  connection: false
  # [跳过Tick间隔日志] 记录关于跳过间隔处理器 (skip interval handlers) 的信息。
  tick-intervals: false
  # [用户登录日志] 记录玩家登录过程的详细调试信息。
  user-login: false
  # [警告时转储线程] 当服务器检测到线程死锁警告时,是否自动生成一份线程转储文件 (Thread Dump)。
  # 这对于开发者调试服务器卡死问题非常有帮助。
  dump-threads-on-warn: false
  # [实体超速移除日志] 是否记录因移动速度过快而被移除的实体的信息。
  entity-speed-removal: false
  # [禁用警告] 是否禁用向服务器管理员(控制台)发送的警告信息。
  disabled-warnings: false
  # [世界内存泄漏调试] 是否记录可能存在内存泄漏(由Bug导致)的世界的信息。
  world-leak-debug: false
  # [碰撞警告阈值] 当同一个位置碰撞的实体数量超过此值时,在控制台打印一条警告。
  # 设为 0 可禁用。用于发现实体过度堆积(如刷怪塔)的问题。
  collision-warn-size: 200
  # [实体数量警告阈值] 当单个维度中的实体总数超过此值时,在控制台打印一条警告。
  # 设为 0 可禁用。
  entity-count-warn-size: 0
  # [实体死亡日志] 是否记录实体被销毁的事件。
  entity-death: false
  # [实体消失日志] 是否记录生物实体被自然移除 (despawn) 的事件。
  entity-despawn: false
  # [区块卸载日志] 是否记录区块被从内存中卸载的事件。
  chunk-unload: false
  # [实体生成日志] 是否记录生物实体被生成的事件。
  entity-spawn: false
  # [死锁时转储区块] 当服务器发生死锁时,是否转储当前加载的区块信息。
  dump-chunks-on-deadlock: false
  # [区块加载日志] 是否记录区块被加载的事件。
  chunk-load: false
  # [详细日志] 是否在开发者日志中添加堆栈跟踪信息,使其更加详细。
  detailed-logging: false
  # [死锁时转储堆内存] 当服务器发生死锁时,是否生成一份堆内存快照 (Heap Dump)。
  dump-heap-on-deadlock: false
## ---------------------------------------------------
## --- 核心服务器设置 (Core Server Settings) ---
## ---------------------------------------------------
settings:
  # [Forge Tick时加载区块] 是否在Forge的服务器Tick事件中强制加载区块。
  # 某些Mod可能需要此项来正常工作。
  load-chunk-on-forge-tick: false
  # [检查实体最大速度] 是否启用检查并移除移动速度超过上限的实体。
  # 用于防止某些作弊或Mod Bug。
  check-entity-max-speeds: false
  # [实体最大速度] 上一条的速度上限值(速度的平方)。
  entity-max-speed: 100
  # [检查实体边界框] 是否检查并移除体积(边界框)异常的实体。
  # 用于防止因Bug导致实体变得过大或移动过快。
  check-entity-bounding-boxes: true
  # [请求时加载区块] 是否在Mod请求区块数据时强制加载区块。
  # 这可以加快那些不检查区块是否已加载的Mod的运行速度。
  load-chunk-on-request: true
  # [实体最大边界框] 上一条的体积上限值。
  entity-bounding-box-max-size: 1000
  # [转储材质] 启动时是否将所有材质及其ID转储到一个文件中。
  dump-materials: false
# [另一个核心设置]
setting:
  # [移除出错的方块] [极其重要] 当一个方块(通常是Mod方块)在其更新逻辑中抛出错误时,
  # 是直接移除该方块(true),还是让整个服务器崩溃并生成报告(false)。
  # 设为 true 可以极大地提升服务器的稳定性,避免因单个方块的Bug导致整个服务器宕机。
  remove-erroring-blocks: true
## ---------------------------------------------------
## --- 方块监控 (Block Monitor) ---
## --- 用于让插件(如领地插件)能监控到Mod的行为 ---
## ---------------------------------------------------
block-monitor:
  # [监控Mod数据包放置] 是否监控通过Mod数据包进行的方块放置行为。
  # 必须设为 true,领地插件才能正确地阻止Mod机器或物品在保护区内放置方块。
  mod-packet-place: true
  # [监控Mod数据包交互] 是否监控通过Mod数据包进行的方块交互行为。
  mod-packet-interact: false
## ---------------------------------------------------
## --- 世界设置 (World Settings) ---
## ---------------------------------------------------
world-settings:
  # [默认世界设置]
  default:
    # [流动的岩浆衰减] 是否让岩浆在源头被移除后,像原版的水一样逐渐消失。
    flowing-lava-decay: false
    # [允许TNT推力] TNT爆炸是否能推动其他实体(包括其他TNT)。
    allow-tnt-punishment: true
    # [无限水源] 是否启用原版的无限水源机制。
    infinite-water-source: true
    # [立即消失] (这是一个不常见的设置,可能控制生物是否立即从视野外消失)
    entity-despawn-immediate: false
  # [Tab列表可见玩家数] 在Tab玩家列表中显示的最大玩家数量。-1表示无限制。
  max-players-visible: -1
# [世界环境设置]
world-environment-settings:
  # 'normal' 指主世界
  normal:
    # [保持世界加载] 即使没有玩家,也始终将此世界加载在内存中。会消耗大量内存。
    keep-world-loaded: true
  # 'nether' 指下界
  nether:
    keep-world-loaded: true
  # 'the_end' 指末地
  the_end:
    keep-world-loaded: false
## ---------------------------------------------------
## --- 玩家区块加载 (Player Chunk Loading) ---
## ---------------------------------------------------
player-chunk:
  # [加载延迟] 玩家登录后,加载其周围区块的延迟时间(以游戏刻为单位)。
  load-delay: 0
## ---------------------------------------------------
## --- 插件兼容性 (Plugin Compatibility) ---
## --- 这是Cauldron的核心功能,用于修复插件与Forge的兼容问题 ---
## ---------------------------------------------------
plugin-settings:
  # [默认设置]
  default:
    # [重映射插件文件] (开发者选项)
    remap-plugin-file: false
  # [针对WorldEdit的特殊设置]
  # 这是“重映射”功能的具体应用。由于Forge修改了Minecraft服务器的内部代码(NMS/OBC),
  # 导致像WorldEdit这样的插件无法正常工作。Cauldron可以通过“重映射”,将插件对旧代码的
  # 调用重定向到Forge修改后的新代码上,从而修复兼容性。
  # 这里设置为true,表示为WorldEdit启用针对1.7.10 (v1_7_R4) 版本的NMS和OBC重映射。
  WorldEdit:
    remap-nms-v1_7_R4: true
    remap-nms-v1_7_R3: false
    remap-nms-v1_7_R1: false
    remap-nms-v1_6_R3: false
    remap-nms-v1_5_R3: false
    remap-nms-pre: 'false'
    remap-obc-v1_7_R4: true
    remap-obc-v1_7_R3: false
    remap-obc-v1_7_R1: false
    remap-obc-v1_6_R3: false
    remap-obc-v1_5_R3: false
    remap-obc-pre: false
## ---------------------------------------------------
## --- 假人玩家 (Fake Players) ---
## --- “假人”是由Mod创建,用于模拟玩家行为的实体,如自动挖矿机、种植机等 ---
## ---------------------------------------------------
fake-players:
  # [为假人执行登录] 是否为这些“假人”触发玩家登录事件。
  # 开启后,某些插件(如登录奖励)可能会错误地对这些机器执行操作,所以通常保持false。
  do-login: false
## ---------------------------------------------------
## --- 调试 (Debug) ---
## ---------------------------------------------------
debug:
  # [线程竞争监控] 是否启用Java的线程竞争监控功能。
  thread-contention-monitoring: false
# [配置文件版本] 请勿手动修改。
config-version: 1

Uranium 服务器配置文件 uranium.yml 详解

yaml
# 这是 Uranium 服务器的核心配置文件。由于 Uranium 是一个用于同时运行 Mods 和插件的混合服务端,
# 因此这里的许多设置都与兼容性、性能和修复两者之间的冲突有关。
# 在修改前,请务必理解每个选项的含义,错误的配置可能会导致插件或Mod工作不正常,甚至服务器崩溃。
## ---------------------------------------------------
## --- 插件兼容性与修复 (Plugin Compatibility & Patches) ---
## --- 这是 Uranium 最核心和最复杂的部分 ---
## ---------------------------------------------------
plugin-settings:
  # 以下是针对特定插件的兼容性设置。
  # [Guava库重映射] 这是为了解决Java库冲突的“黑科技”。
  # Minecraft 1.7.10 使用了非常旧的 Guava 库 (版本10),而许多现代插件需要更新的版本 (如17或21)。
  # Uranium 可以尝试为特定插件加载并使用新版的Guava库,以解决兼容性问题。
  PermissionsEx:
    # 针对 PermissionsEx 插件,如果其版本号匹配正则表达式 '^(1.23|2)',则为其重映射 Guava 17。
    remap-guava17-ver: '*^(1.23|2)'
  WorldGuard:
    # 针对 WorldGuard 插件,如果其版本号匹配正则表达式 '^(\d[6-9]|\d\d+)' (即版本6或更高),则为其重映射 Guava 17。
    remap-guava17-ver: '*^(\d[6-9]|\d\d+)'
  LuckPerms:
    # 总是为 LuckPerms 插件重映射 Guava 17。
    remap-guava17: true
  # [反射重映射] 这是另一个核心兼容性功能。
  # 许多插件通过“反射”来访问Minecraft服务器内部代码。由于Forge修改了这些代码的名称,
  # 导致原版插件无法工作。此选项可以“欺骗”插件,将它们的旧代码调用重定向到正确的新代码上。
  # 这会带来轻微的性能开销。
  ProtocolLib:
    # ProtocolLib 插件自己处理兼容性,因此不需要Uranium为它重映射。
    remap-Reflection: false
  MyPet:
    remap-Reflection: true
  # [默认设置]
  default:
    # 为所有未单独配置的插件,默认启用反射重映射。
    remap-Reflection: true
## ---------------------------------------------------
## --- 方块捕获 (Block Capture) ---
## --- 用于让插件(如领地插件)正确处理Mod物品的行为 ---
## ---------------------------------------------------
capture:
  # [不捕获元数据变化的方块列表] 在此列表中的方块,当其状态改变时(如按钮被按下),
  # 服务器不会进行“捕获”。这可以提升性能,因为这些通常是无害的操作。
  blockNotCaptureOnMetaChange:
  - minecraft:stone_button
  - minecraft:wooden_button
  - minecraft:wooden_door
  - minecraft:iron_door
  - minecraft:trapdoor
  - minecraft:wooden_pressure_plate
  - minecraft:stone_pressure_plate
  - minecraft:light_weighted_pressure_plate
  - minecraft:heavy_weighted_pressure_plate
  - minecraft:lever
  - minecraft:fence_gate
  # [捕获物品右键方块] 当玩家用物品(尤其是Mod的工具,如扳手)右键点击方块时,是否“捕获”这个行为。
  # 必须设为 true,领地插件才能阻止Mod的扳手等工具在保护区内使用。
  captureBlockOnItemRightClick: true
  # [捕获元数据变化] 是否捕获方块状态的变化。同样,对于保护插件至关重要。
  captureBlockOnMetaChange: true
## ---------------------------------------------------
## --- UUID 与正版验证 (UUID & Online Mode) ---
## ---------------------------------------------------
uuid:
  # [离线模式UUID格式] 仅在离线模式下生效。
  # 0: 标准模式 (基于玩家名生成)。
  # 1: 小写模式 (玩家名转为小写后生成UUID)。
  # 2: 大写模式 (玩家名转为大写后生成UUID)。
  # 保持一致性对于确保玩家数据正确加载至关重要。
  mode: 0
  # [强制使用离线UUID] 在 BungeeCord 代理或伪在线模式下,是否强制使用服务器本地生成的离线UUID。
  # 仅在特殊网络架构下需要,通常应为 false。
  forceUseOfflineUUID: false
onlinemode:
  # [自定义验证服务器] 使用第三方验证服务器的URL地址。
  customServer: https://sessionserver.mojang.com/session/minecraft/join
  # [启用自定义验证] 是否启用上面的自定义验证服务器。例如,用于连接像网易“我的世界”那样的验证系统。
  usingCustomServer: false
## ---------------------------------------------------
## --- 更新检查 (Update Checker) ---
## ---------------------------------------------------
updatechecker:
  # [静默更新] 检查更新时,是否在控制台打印更少的信息。
  quiet: false
  # [符号链接] 更新后重新创建的符号链接名称。
  symlinks: Uranium.jar
  # [启用更新检查] 启动时是否检查 Uranium 的新版本。
  enable: false
  # [自动重启] 更新后是否自动重启服务器(需要在 spigot.yml 中配置重启脚本)。
  autorestart: false
  # [自动安装] 发现新版本后是否自动下载并安装。
  autoinstall: false
## ---------------------------------------------------
## --- 通用设置 (Common Settings) ---
## ---------------------------------------------------
# [语言] 设置服务器的消息语言 (如 zh_CN, ja_JP)。
language: en_US
common:
  # [快速树叶腐烂]
  fastLeavesDecay:
    maxTickTime: 10 # 两次树叶更新之间的最大间隔(刻)。
    enable: false # 是否启用快速树叶腐烂功能。这可以提升性能并改善游戏体验。
    minTickTime: 5 # 两次树叶更新之间的最小间隔(刻)。
  # [允许非主世界传送门] 是否允许在主世界以外的维度(如下界、末地、Mod维度)创建和使用下界传送门。
  allowNetherPortalBesidesOverworld: false
  # [每刻最大区块生成数] 限制服务器在单个游戏刻内生成的新区块数量。
  # 设为 1 或 2 可以有效防止玩家跑图时造成服务器卡顿。
  maxChunkGenPerTick: 1
## ---------------------------------------------------
## --- 实验性功能 (EXPERIMENTAL!) ---
## --- 警告:这些功能极不稳定,可能导致服务器崩溃或损坏,请谨慎使用! ---
## ---------------------------------------------------
experimental:
  # 【实验性】用更新的 Guava 21 库替换旧版。几乎肯定会弄坏很多插件。
  guava21: false
  # 【实验性】阻止方块实体加载区块。会弄坏大量Mod,但可能在某些极端情况下防止崩溃。
  PerventChunkLoad: false
  # 【实验性】伪装服务器名称。有些插件会检查服务器名称,如果不是'Cauldron'或'KCauldron'就不工作。
  # 你可以在这里伪装成它们来提高兼容性。
  UraniumName: ''
  # 【实验性】每刻都重新创建方块实体列表。
  tileEntityListRecreation: false
  # 【实验性】将Forge事件通过Bukkit API发送。未经测试,可能无效。
  BukkitForgeEvent: false
  # 【实验性】用 Guava 17 库替换旧版。同样会弄坏很多插件。
  guava17: false
## ---------------------------------------------------
## --- Forge 兼容性与指令 (Forge Compatibility & Commands) ---
## ---------------------------------------------------
forge:
  # [重生时克隆玩家] 是否在玩家重生时像原版Forge那样克隆一个新的玩家对象。
  # 某些旧的Mod需要此特性才能正常工作。
  clone-player-on-respawn: false
command:
  # [允许在客户端显示指令错误] 是否允许将指令执行的详细错误信息发送给客户端玩家。
  allowShowCommandThrowableOnClient: true
  # [启用Uranium指令] 是否启用 Uranium 内置的一些指令。
  enable: true
## ---------------------------------------------------
## --- 杂项与调试 (Miscellaneous & Debugging) ---
## ---------------------------------------------------
# [死循环检查]
EndlessLoopCheck:
  enable: false # 启用一个检查来防止事件处理陷入死循环。
  deep: 2 # 同一事件类型被连续触发的深度阈值。
# [OP指令设置]
op:
  # [仅控制台可用OP] 是否只允许服务器后台(控制台)使用 /op 指令。
  onlyConsole: false
# [日志记录]
logging:
  # [记录材质注入] 是否记录材质注入事件。
  materialInjection: false
  # [记录客户端Mod列表] 当玩家尝试加入时,是否在后台打印该玩家客户端上安装的Mod列表。
  # 对于排查玩家连接问题或检查作弊Mod非常有用。
  clientModList: true

BungeeCord 服务器配置文件 config.yml 详解

yaml
# ==============================================================================
#                               连接与超时设置
# ==============================================================================
# 当 BungeeCord 尝试连接到后端子服务器(如 lobby, survival 等)时的超时时间。
# 单位为毫秒 (ms)。如果 BungeeCord 在此时间内未能连接到子服务器,则连接失败。
# 5000ms = 5秒
server_connect_timeout: 5000
# 【较新版本设置】是否强制执行安全配置文件(Mojang 的玩家聊天签名系统)。
# 为了增强安全性,防止聊天消息被篡改或伪造,建议在支持此功能的现代版本服务器上设为 `true`。
# 如果后端服务器版本过低或插件不兼容,可能会导致问题,此时可设为 `false`。
enforce_secure_profile: false
# 缓存从后端服务器获取的 MOTD 和玩家数量信息的时间,单位为毫秒 (ms)。
# 这可以减少对后端服务器的 Ping 请求,降低负载。
# -1 表示禁用缓存,每次有 Ping 请求时都实时从后端获取信息。
remote_ping_cache: -1
# 是否启用对 Forge Mod 客户端的支持。
# 如果您的服务器是 Mod 服,需要让使用 Forge 客户端的玩家加入,请设为 `true`。
# 注意:这可能还需要后端服务器也安装相应的 Mod 或插件(如 SpongeForge)。
forge_support: false
# 整个 BungeeCord 代理的总玩家在线人数上限。
# -1 表示不限制。实际的上限将由下方 `listeners` 配置中的 `max_players` 决定。
player_limit: -1
# ==============================================================================
#                                 权限系统
# ==============================================================================
# BungeeCord 内置的权限系统。您也可以使用如 LuckPerms 等专业的权限插件来管理。
# 如果使用权限插件,此处的配置可能会被覆盖。
permissions:
  # `default` 组是所有玩家默认拥有的权限组。
  default:
    # 允许玩家使用 /server 命令切换服务器。
    - bungeecord.command.server
    # 允许玩家使用 /list 或 /glist 命令查看全服在线玩家列表。
    - bungeecord.command.list
  # `admin` 组是管理员权限组,需要通过下方的 `groups` 配置节手动分配给玩家。
  admin:
    # 允许使用 /alert 命令向全服发送广播。
    - bungeecord.command.alert
    # 允许使用 /end 命令关闭整个 BungeeCord 代理。
    - bungeecord.command.end
    # 允许使用 /ip <player> 命令查询玩家的真实 IP 地址。
    - bungeecord.command.ip
    # 允许使用 /greload 命令重载 BungeeCord 配置。
    - bungeecord.command.reload
    # 允许使用 /kick <player> [reason] 命令将玩家踢出服务器。
    - bungeecord.command.kick
    # 允许使用 /send <player|current|all> <server> 命令将玩家强制传送到指定服务器。
    - bungeecord.command.send
    # 允许使用 /find <player> 命令查找玩家当前所在的服务器。
    - bungeecord.command.find
# 玩家连接的超时时间,单位为毫秒 (ms)。
# 如果玩家在此时间内没有向服务器发送任何数据包(例如网络断开),将被服务器踢出。
# 30000ms = 30秒
timeout: 30000
# 是否在 BungeeCord 的控制台/日志中记录玩家执行的命令(如 /server, /glist)。
# 对于调试或监控玩家行为很有用。
log_commands: false
# ==============================================================================
#                                 网络设置
# ==============================================================================
# 网络压缩阈值。单位为字节 (bytes)。
# 当 BungeeCord 发送的数据包大小超过此值时,BungeeCord 会对其进行压缩,以减少带宽占用。
# -1 表示完全禁用压缩。256 是一个常用的默认值。
network_compression_threshold: 256
# 是否启用正版验证。
# true: 只有正版 Minecraft 玩家才能进入服务器。BungeeCord 会连接 Mojang 的验证服务器进行验证。
# false: 关闭正版验证,允许离线模式(盗版)玩家进入。此时后端所有子服务器也必须关闭正版验证。
online_mode: true
# 在此列表中禁用的 BungeeCord 命令。
# 列表中的命令将对所有玩家(包括OP)失效。
disabled_commands:
- disabledcommandhere
# ==============================================================================
#                                后端服务器列表
# ==============================================================================
# 在这里定义 BungeeCord 可以连接的所有后端 Minecraft 服务器。
servers:
  # "lobby" 是这个服务器的标识名。玩家可以通过 /server lobby 来传送到此服务器。
  lobby:
    # 这个 MOTD 通常仅在通过特定插件或方式查询单个服务器状态时显示。
    # 它不是玩家在客户端主列表看到的 MOTD。支持颜色代码(使用 `&` 符号)。
    motd: '&1Just another BungeeCord - Forced Host'
    # 后端服务器的实际 IP 地址和端口。如果是本机,可以用 localhost 或 127.0.0.1。
    address: localhost:25565
    # 是否为受限服务器。
    # 如果设为 true,玩家必须拥有 `bungeecord.server.lobby` 权限才能加入此服务器。
    restricted: false
  # 您可以在这里添加更多服务器,例如:
  # survival:
  #   address: 127.0.0.1:25566
  #   restricted: false
  #   motd: '&a生存服务器'
# ==============================================================================
#                                 监听器设置
# ==============================================================================
# 监听器定义了 BungeeCord 如何接收来自玩家的连接。可以配置多个监听器。
listeners:
# 这是一个监听器实例。
- 
  # GameSpy4 协议的查询端口。如果 `query_enabled` 为 true,一些服务器列表网站或工具
  # 可以通过此端口获取更详细的服务器信息(如插件列表)。
  query_port: 25577
  # 这才是玩家在 Minecraft 客户端服务器列表中看到的主要 MOTD。
  motd: '&1Another Bungee server'
  # TAB 列表(玩家列表)的显示方式。
  # GLOBAL_PING: 显示全服所有在线玩家,并显示他们的延迟。
  # GLOBAL: 显示全服所有在线玩家,但不显示延迟。
  # SERVER: 只显示玩家当前所在子服务器的玩家列表。
  tab_list: GLOBAL_PING
  # 是否启用 GameSpy4 协议查询功能。
  query_enabled: false
  # 是否启用 PROXY 协议。这是一个高级功能。
  # 当 BungeeCord 前面还有另一层代理(如 HAProxy, Nginx)时,开启此项可以正确传递玩家的真实 IP。
  proxy_protocol: false
  # 强制主机功能。可以将通过特定域名连接的玩家,直接发送到指定的后端服务器。
  # 格式为 `域名: 后端服务器名`。
  # 示例:当玩家使用 `pvp.md-5.net` 这个地址连接时,会自动被送到名为 `pvp` 的服务器。
  # (注意:此例中的 `pvp` 服务器需要在上面的 `servers` 部分定义好)。
  forced_hosts:
    pvp.md-5.net: pvp
  # 是否将 Ping 请求直接“穿透”到后端服务器处理。
  # 如果为 true,BungeeCord 会将 Ping 请求转发给 `priorities` 中指定的默认服务器来响应,
  # 而不是自己使用 `motd` 和 `max_players` 的配置来响应。
  ping_passthrough: false
  # 玩家首次加入或使用 /server 命令但未指定服务器时,BungeeCord 尝试连接的后端服务器列表。
  # BungeeCord 会按照列表顺序依次尝试连接,直到成功为止。
  # 列表中的第一个服务器 (`lobby`) 通常被视为“默认服务器”。
  priorities:
  - lobby
  # BungeeCord 连接到后端服务器时,是否强制绑定到与 BungeeCord 监听器相同的 IP 地址。
  # 在大多数情况下,保持默认的 `true` 即可。
  bind_local_address: true
  # BungeeCord 监听的 IP 地址和端口,这是玩家需要连接的地址。
  # `0.0.0.0` 表示监听本机所有可用的网络接口(例如,内网IP和公网IP)。
  # `25577` 是端口号。
  host: 0.0.0.0:25577
  # 此监听器允许的最大玩家数量。这个设置会覆盖全局的 `player_limit` 设置。
  max_players: 1
  # TAB 列表中可以显示的最大玩家数量。
  tab_size: 60
  # 是否强制玩家每次登录都进入默认服务器(即 `priorities` 列表中的第一个)。
  # false: 玩家会重新连接到他们上次登出时所在的服务器。
  # true: 无论玩家上次在哪里,每次登录都会被送到默认服务器。
  force_default_server: false
# ==============================================================================
#                              高级与安全设置
# ==============================================================================
# 是否启用 IP 转发功能。**强烈建议设为 `true`**。
# 设为 `true` 后,BungeeCord 会将玩家的真实 IP 地址和 UUID 转发给后端服务器。
# 为了使其生效,后端 Spigot/Paper 服务器的 `spigot.yml` 文件中也必须将 `bungeecord` 设为 `true`。
ip_forward: false
# Ping 后端服务器以获取其状态(MOTD, 玩家数)的超时时间,单位为毫秒。
remote_ping_timeout: 5000
# 是否拒绝来自其他 BungeeCord 代理的服务器切换请求。一般用于防止网络架构被滥用。
reject_transfers: false
# 【已废弃/不常用】是否阻止其他 BungeeCord 代理连接到本代理。
prevent_proxy_connections: false
# ==============================================================================
#                                玩家与群组分配
# ==============================================================================
# 将玩家分配到上面 `permissions` 部分定义的权限组。
# 格式为 `玩家名: [组名1, 组名2, ...]`。玩家名大小写敏感。
# 示例中,名为 `md_5` 的玩家被分配到了 `admin` 权限组。
groups:
  md_5:
  - admin
# 连接节流。单个 IP 地址在两次成功连接尝试之间的最小时间间隔,单位为毫秒。
# 用于防止机器人或玩家过于频繁地重连。设置为 0 或 -1 可禁用。
# 4000ms = 4秒
connection_throttle: 4000
# 用于 bStats.org 统计的服务器唯一标识符。
# 这是自动生成的,请勿手动修改。
stats: 398389c3-9ab7-4564-a8c5-b94f0dfdb77a
# 【新版设置】连接节流限制。
# 在触发 `connection_throttle` 节流之前,一个 IP 允许的初始连接次数。
# 默认为 `3`,即允许一个 IP 在短时间内快速连接 3 次,从第 4 次开始,每次连接就需要等待 `connection_throttle` 设置的时间。
connection_throttle_limit: 3
# 是否在控制台/日志中记录收到的服务器 Ping 请求。
# 当玩家在客户端刷新服务器列表时,就会向服务器发送 Ping 请求。开启此项有助于调试连接问题。
log_pings: true

Waterfall 服务器配置文件 waterfall.yml 详解

yaml
# ==============================================================================
#                      插件信道 (Plugin Channel) 与数据处理
# ==============================================================================
# 限制插件信道 (Plugin Channel) 名称的最大长度。
# 插件信道是插件用于在客户端和服务器之间传输自定义数据的机制。
# 此限制用于防止恶意客户端注册超长名称的信道,从而消耗服务器资源或引发错误。
# 128 是一个非常合理的默认值,通常不需要修改。
plugin_channel_name_limit: 128
# 限制客户端可以注册的插件信道 (Plugin Channel) 的总数量。
# 与上面的 `plugin_channel_name_limit` 类似,这也是一个安全措施。
# 它可以防止客户端注册过多的信道,导致服务器内存占用过高。
# 除非有特定插件需要大量信道,否则请保持默认值 128。
registered_plugin_channels_limit: 128
# 是否禁用 Waterfall 的实体元数据(Entity Metadata)重写功能。
# **这是一个非常重要的版本兼容性功能,请谨慎修改!**
# 不同 Minecraft 版本之间的实体数据格式可能不同。Waterfall 会自动“翻译”这些数据,
# 以确保例如一个 1.18 的玩家能正确看到一个 1.12 服务器上的生物。
# false: (默认) 启用重写,保证跨版本兼容性。
# true: 禁用重写。只有在你的所有后端服务器和玩家客户端版本完全一致,
#       或者你明确知道你在做什么时,才可能考虑设为 true,否则会导致实体显示异常(如生物隐形、状态错误等)。
disable_entity_metadata_rewrite: false
# ==============================================================================
#                       Tab 补全与玩家列表 (Tab List)
# ==============================================================================
# 是否禁用 Waterfall 为 1.13+ 版本客户端设计的现代 Tab 补全限制器。
# 从 Minecraft 1.13 开始,客户端的 Tab 补全行为有所改变,Waterfall 为此增加了新的限制机制。
# true: 禁用 Waterfall 的限制器。如果你使用了其他插件来管理 Tab 补全,或者 Waterfall 的限制器与你的后端服务器/插件冲突,可以设为 true。
# false: (默认) 启用 Waterfall 的现代 Tab 补全限制器。
disable_modern_tab_limiter: true
# 是否完全禁用 Waterfall 的 Tab 列表重写功能。
# 这比 `listeners.tab_list` 的优先级更高。
# true: Waterfall 将完全不干预 Tab 列表。Tab 列表将直接由后端服务器控制。
#       这在你希望使用后端服务器上的 Tab 插件(如 TAB, TabList)来全权管理 Tab 列表时非常有用。
# false: (默认) Waterfall 会根据 `listeners.tab_list` 的设置(如 GLOBAL_PING)来重写和管理 Tab 列表。
disable_tab_list_rewrite: true
# Tab 补全节流设置。
throttling:
  # 限制玩家请求 Tab 补全的频率,单位为毫秒 (ms)。
  # 这是为了防止恶意玩家通过高频率发送 Tab 补全请求来消耗服务器资源,甚至导致服务器卡顿或崩溃(Tab补全攻击)。
  # 1000ms 表示玩家每秒最多只能请求一次 Tab 补全。
  # 设为 0 或 -1 可禁用此节流。建议保持一个合理的数值(如 500-1000)。
  tab_complete: 1000
# ==============================================================================
#                       网络、日志与版本设置
# ==============================================================================
# 是否使用 Netty(Waterfall 底层的网络库)内置的异步 DNS 解析器。
# true: (推荐) 使用 Netty 的解析器,通常性能更好,可以避免因系统 DNS 解析缓慢导致的阻塞。
# false: 使用 Java 默认的 DNS 解析器。如果在特定网络环境下 Netty 的解析器出现问题,可以尝试切换回 false。
use_netty_dns_resolver: true
# 是否在日志中记录初始连接处理信息。
# 这是一项非常详细的调试功能。
# true: 当玩家尝试连接时,Waterfall 会在日志中打印非常早期的连接处理步骤。
#       这对于排查一些疑难杂症(如握手失败、协议错误等)非常有用。
#       在正常运行时可以设为 false 以保持日志整洁。
# false: (默认) 不记录这些详细的初始连接信息。
log_initial_handler_connections: true
# 强制向客户端报告一个特定的游戏版本。
# 留空 ('') 表示 Waterfall 会自动检测并向客户端报告其支持的版本范围。
# 在大多数情况下,应保持为空。
# 只有在与某些特殊插件(如 ViaVersion, ProtocolSupport)配合,需要手动指定一个“伪装”版本时才会设置此项。
# 例如,设置为 '1.12.2' 会让服务器在列表中显示为 1.12.2 版本。
game_version: ''

Velocity 服务器配置文件 velocity.toml 详解

toml
# 配置文件版本。请勿手动更改此值,Velocity 会在更新时自动处理。
config-version = "2.7"
# ==============================================================================
#                                 基本设置
# ==============================================================================
# 代理服务器监听的 IP 地址和端口。这是玩家在客户端中需要连接的地址。
# "0.0.0.0" 表示监听本机所有可用的网络接口(推荐)。
# "25565" 是 Minecraft 默认端口。
bind = "0.0.0.0:25565"
# 服务器在客户端服务器列表中显示的 MOTD (Message of the Day)。
# 重要:Velocity 使用 MiniMessage 格式,比传统的 `&` 颜色代码更强大。
# 例如: "<red>你好</red>", "<gradient:blue:purple>渐变色</gradient>", "<#09add3>自定义颜色</#09add3>"
motd = "<#09add3>A Velocity Server"
# 在服务器列表中显示的最大玩家数量。
# 注意:Velocity 本身不对在线玩家数量做硬性限制,此数字仅用于客户端显示。
show-max-players = 500
# 是否开启正版验证。
# true: 只有正版 Minecraft 玩家才能进入,Velocity 会连接 Mojang 服务器进行验证。
# false: 离线模式,允许非正版玩家进入。所有后端服务器也必须关闭正版验证。
online-mode = true
# 是否强制执行 Mojang 的公钥安全标准(聊天签名)。
# true: (推荐) 增强服务器安全性,防止聊天消息被伪造。
# false: 如果后端服务器版本过低或插件不兼容,可关闭此项。
force-key-authentication = true
# 防止客户端代理连接。这是一个较弱的保护措施。
# true: 如果玩家的 IP 地址与 Mojang 验证服务器看到的不一致,则会踢出玩家。可用于阻止一些 VPN 或代理。
# false: (默认) 不执行此检查。
prevent-client-proxy-connections = false
# ==============================================================================
#                             IP 转发设置 (非常重要!)
# ==============================================================================
# 向后端服务器转发玩家信息(IP, UUID, 皮肤等)的模式。
# "none":       不转发任何信息。所有玩家在后端服务器看来都来自代理的 IP,且使用离线 UUID。绝对不推荐。
# "legacy":     使用 BungeeCord 的旧版转发格式。适用于后端是 Minecraft 1.12 或更早版本的 Spigot/Paper 服务器。
# "bungeeguard":使用 BungeeGuard 插件的转发格式。在 "legacy" 基础上增加了安全令牌,防止玩家绕过代理直连后端。
# "modern":     (推荐) 使用 Velocity 的原生转发方式。更安全、高效。适用于后端是 Minecraft 1.13 或更高版本的 Paper/Spigot/Sponge 等服务器。
player-info-forwarding-mode = "NONE" # 警告:生产环境强烈建议改为 "modern" 或 "legacy"
# 如果使用 "modern" 或 "bungeeguard" 转发模式,必须在此处指定一个密钥文件。
# 这个文件里的密钥必须与所有后端服务器上的配置(spigot.yml, paper-global.yml 等)完全一致。
# 密钥文件应使用 UTF-8 编码且内容不为空。
forwarding-secret-file = "forwarding.secret"
# ==============================================================================
#                                 兼容性与功能
# ==============================================================================
# 是否向客户端声明服务器支持 Forge (Mod)。如果你的服务器网络是 Mod 服,建议开启。
# 如果你的网络只运行一种 Mod 包,可以考虑使用下面的 `ping-passthrough = "mods"` 以获得更好的显示效果。
announce-forge = false
# 如果启用(默认为 false),当一个已在线的玩家尝试重复连接时,Velocity 会将旧的连接踢下线。
# 在 `online-mode = true` 时生效。
kick-existing-players = false
# 是否将服务器列表的 Ping 请求“穿透”到后端服务器处理。
# "disabled":    (默认) Velocity 自己响应该请求,使用本文件中的 `motd`, `show-max-players` 和 `server-icon.png`。
# "mods":        仅从后端服务器获取 Mod 列表信息并添加到响应中。
# "description": 从后端服务器获取 MOTD 和 Mod 列表。
# "all":         将整个 Ping 请求完全转发给后端服务器处理,代理将“伪装”成后端服务器的样子。
ping-passthrough = "DISABLED"
# 是否在日志中记录玩家的完整 IP 地址。
# true: (默认) 记录完整 IP。
# false: 出于隐私考虑,日志中的 IP 将被替换为 "<ip address withheld>"。
enable-player-address-logging = true
# ==============================================================================
#                                服务器列表
# ==============================================================================
[servers]
# 在这里配置你的后端服务器。键(key)是服务器的名称,值(value)是服务器的 "IP:端口"。
# 名称用于 /server 命令和下面的 `try` 列表。
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
# 当玩家首次登录,或从某个服务器被踢出时,应尝试连接的服务器顺序。
# Velocity 会按列表顺序依次尝试,直到成功为止。列表中的第一个通常是默认的主城/大厅服务器。
try = [
    "lobby"
]
# ==============================================================================
#                                强制主机 (虚拟主机)
# ==============================================================================
[forced-hosts]
# 在这里配置强制主机。当玩家使用特定的域名连接时,会自动被发送到指定的服务器。
# 格式: "域名" = ["首选服务器", "备用服务器1", "备用服务器2"]
"lobby.example.com" = [
    "lobby"
]
"factions.example.com" = [
    "factions"
]
"minigames.example.com" = [
    "minigames"
]
# ==============================================================================
#                                  高级设置
# ==============================================================================
[advanced]
# 数据包压缩阈值。单位为字节(byte)。当一个数据包大小超过此值时才进行压缩。
# 0:   压缩所有数据包。
# -1:  完全禁用压缩。
compression-threshold = 256
# 压缩等级 (0-9)。数字越高,压缩率越高,但更消耗 CPU。
# -1 表示使用 Zlib 的默认压缩等级 (通常是 6)。
compression-level = -1
# 登录速率限制。同一个 IP 两次连接尝试之间的最小间隔,单位为毫秒 (ms)。
# 用于防止机器人攻击。设置为 0 可禁用。
# 3000ms = 3秒
login-ratelimit = 3000
# 建立连接的超时时间,单位毫秒。
# 如果 Velocity 在此时间内未能连接到后端服务器,则视为失败。
connection-timeout = 5000
# 读取数据的超时时间,单位毫秒。
# 如果一个已建立的连接在此时间内没有任何数据传输,则断开连接。
read-timeout = 30000
# 是否启用 HAProxy 的 PROXY 协议。
# 仅当你的 Velocity 前面还有另一层代理(如 HAProxy、Nginx)时才需要开启,用于传递真实玩家 IP。
haproxy-protocol = false
# 是否在 Linux 系统上启用 TCP Fast Open 支持,可以略微加快连接速度。
tcp-fast-open = false
# 是否启用对 BungeeCord 插件消息通道 (BungeeCord Plugin Messaging Channel) 的支持。
# true: (强烈推荐) 开启此项能让大量为 BungeeCord 编写的插件(如跨服聊天、菜单等)在 Velocity 上正常工作。
bungee-plugin-message-channel = true
# 是否在控制台显示客户端发来的 Ping 请求。用于调试。
show-ping-requests = false
# 当玩家与后端服务器意外断开连接时(非正常退出),是否尝试将其转移到 `try` 列表中的其他服务器。
# true: (默认) 尝试故障转移,提高玩家体验。
# false: 直接将玩家踢出代理(这是 BungeeCord 的行为)。
failover-on-unexpected-server-disconnect = true
# 是否向 1.13+ 的客户端通告代理本身拥有的命令(如 /server, /glist)。
# true: 开启后,客户端可以更好地为这些命令提供 Tab 补全。
announce-proxy-commands = true
# 是否在日志中记录玩家和控制台执行的命令。
log-command-executions = false
# 是否在日志中记录玩家的连接、断开和切换服务器的事件。
log-player-connections = true
# 是否接受来自其他代理服务器通过 Transfer packet (Minecraft 1.20.5+) 发送过来的玩家。
# 这是用于实现代理间传送的新功能。
accepts-transfers = false
# ==============================================================================
#                                Query 协议设置
# ==============================================================================
[query]
# 是否启用 GameSpy 4 查询协议。一些旧的服务器列表网站或工具会使用此协议获取服务器详细信息。
enabled = false
# 如果启用,Query 协议监听的端口。
port = 25565
# 在 Query 响应中报告的地图名称。
map = "Velocity"
# 在 Query 响应中是否默认显示插件列表。
show-plugins = false

"Minecraft" is a trademark of Microsoft Corporation. This document is not affiliated with Microsoft Corporation.