配置服务器
你可以通过修改服务器的各种配置文件,来自定义服务器的规则、性能、玩家连接方式等。
这些配置文件会在第一次成功开启服务器后自动生成。
编辑配置文件
重要:在编辑前,请务必遵循以下步骤,否则您的更改可能不会生效或导致错误。
- 停止服务器: 如果您的服务器正在运行,请在服务器控制台中输入
stop并按回车,等待服务器完全关闭。切勿直接关闭窗口。 - 备份文件 (推荐): 复制一份
server.properties文件,并重命名为server.properties.bak。这样如果配置出错,您可以随时恢复。 - 编辑并保存: 使用您选择的文本编辑器打开
server.properties文件,完成编辑后,保存文件。 - 启动服务器: 重新运行
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=falseBukkit 服务器配置文件 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.ymlSpigot 服务器配置文件 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: 12Mohist 服务器配置文件 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: falseCatserver 服务器配置文件 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: trueCauldron 服务器配置文件 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: 1Uranium 服务器配置文件 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: trueBungeeCord 服务器配置文件 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: trueWaterfall 服务器配置文件 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