跳到主要内容

server.properties

修改服务器的运行配置,以此来定制一些基本功能。

这些是定义在 server.properties 中的标准 Minecraft 服务器设置。如需 Nukkit-MOT 高级设置,请参阅 nukkit-mot.yml。

motd​

数据类型默认值
StringMinecraft Server

服务器名称/显示在服务器列表上的文本

备注

不能为空

sub-motd​

数据类型默认值
StringPowered by Nukkit-MOT

motd 的第二行

备注

只有当在游戏中的好友列表中查看服务器时,才会显示给本地网络中的玩家

自 1.16.210 以来不能为空

server-port​

数据类型默认值
Integer19132

服务器的端口

备注

同一端口不能运行多个服务器

如果不能访问请检查防火墙

基岩版使用 UDP 协议

启用 NetherNet 时,同一端口还会通过 TCP 提供 WebRTC 信令,因此也需要放行该端口的 TCP

server-ip​

数据类型默认值
String0.0.0.0

服务器的 IP 地址

备注

同一端口不能运行多个服务器

如果不能访问请检查防火墙

基岩版使用 UDP 协议

该地址同时绑定 RakNet UDP 监听器和 NetherNet TCP 信令

server-udp-ports​

数据类型默认值
Integer / String19132

NetherNet(WebRTC)媒体使用的 UDP 端口,语法与 Bedrock 官方服务端一致:

取值说明
19132媒体与 RakNet 共用 server-port 的 UDP 侧,由 RakNet socket 进程内中继(默认——无需额外放行端口)
0每个连接的媒体端口由系统自动分配
N钉住独立的媒体端口,如 19134(ICE 复用,单端口服务所有连接)
A-B钉住一段媒体端口窗口
[ip:]external[-external]:internal[-internal]同时发布外部端口映射(例如在 NAT 后)。冒号两侧的范围长度必须一致

条目可带 IP 前缀(IPv6 需加方括号,如 [2001:db8::1]:...),多个逗号分隔的条目会累积发布的 IP,但端口窗口与偏移必须一致

共用端口的条件:钉住的单个端口恰好是 server-port 或 IPv6 监听器端口,或者以单端口映射映射到它们——19132:50000 表示在 19132 上发布媒体、从内部端口 50000 中继。此时媒体流量到达 RakNet socket,由进程内中继转发到回环端口。

注意

端口窗口不得覆盖 server-port(其 UDP 侧属于 RakNet)或 IPv6 监听器端口——只有单个钉住端口或单端口映射可以与它们共用。非法取值会中止启动,而不是回退到自动分配端口。

媒体 UDP 不通——玩家卡在连接​

当 NetherNet 玩家卡在"连接中"或加入后立刻掉线时,通常是媒体 UDP 路径被阻断。服务器会自行报告——日志中出现告警:

NetherNet media may be unreachable: 6 ICE attempts, 0 connected in the last 5 minutes.
Check the firewall/port forwarding for the media UDP window udp/... (server-udp-ports)

同时 /status 里"接受的加入"在增长而 ICE 连通数恒为 0。

按以下方法解决:

  1. 放行媒体 UDP 端口的入站——主机防火墙、云安全组、路由器端口转发都要放行。默认配置下媒体与 RakNet 共用 server-port 的 UDP 侧(19132),RakNet 本就要求放行,无需额外操作;钉住独立端口(如 server-udp-ports=19134)时则必须显式放行/转发该端口;只有设为 0 时端口才由系统分配、不可预知——先钉住窗口(如 server-udp-ports=50000-50010)再转发
  2. 公网端口与内部端口不一致(NAT 映射)?改为发布外部一侧:server-udp-ports=60000-60010:50000-50010
  3. 对称 NAT 后的玩家仍然连不上?在 network-settings.nethernet.ice-servers 中配置 TURN 中继转发媒体:
network-settings:
nethernet:
ice-servers:
- stun:stun.l.google.com:19302
- 'turn:user:pass@turn.example.com:3478?transport=udp'
按 /status 的数字排查
  • 接受的加入在增长而 ICE 连通数恒为 0 —— 媒体 UDP 被阻断;按上面的步骤处理
  • ICE 连通数在增长但完成的握手很少 —— DTLS 握手失败,通常是中间设备干扰 UDP
  • 连接后掉线很多 —— NAT 超时或链路抖动

server-ipv6-port​

数据类型默认值
Integer-1

可选 IPv6 监听器的端口

备注

当此值为 0 或更低时(默认 -1),IPv6 监听器处于禁用状态

要启用它,请设置一个与 server-port 不同的有效端口

server-ipv6​

数据类型默认值
String::

可选 IPv6 监听器绑定的 IPv6 地址

必须是有效的 IPv6 地址;留空则禁用 IPv6 监听器

view-distance​

数据类型默认值
Integer8

最大视距(以区块为单位)

更大的值 = 加载更多区块 = 更多的内存和 CPU 使用

max-players​

数据类型默认值
Integer50

服务器允许的最大玩家人数

language​

数据类型默认值
Stringeng

Nukkit 使用的默认语言

force-language​

数据类型默认值
Booleanoff

强制使用服务器端翻译

只有在您有插件来实现这些翻译时才启用

shutdown-message​

数据类型默认值
String§cServer closed

当您停止服务器时向玩家显示的消息

可以使用颜色符号§,换行请使用 §n。

gamemode​

数据类型默认值
Integer0

服务器的默认游戏模式

0 = 生存, 1 = 创造, 2 = 冒险, 3 = 旁观

force-gamemode​

数据类型默认值
Booleanon

每次加入时将玩家游戏模式设置为默认游戏模式

difficulty​

数据类型默认值
Integer2

服务器的默认难度(0-3)

hardcore​

数据类型默认值
Booleanoff

玩家死亡后将其封禁

pvp​

数据类型默认值
Booleanon

是否启用玩家对战

level-name​

数据类型默认值
Stringworld

默认世界的名称

level-seed​

数据类型默认值
String

默认世界的种子

level-type​

数据类型默认值
Stringdefault

如果默认世界不存在,则使用的生成器

默认支持:default, normal, flat, nether, the_end 或 void

generator-settings​

数据类型默认值
String

默认级别的特殊世界生成器设置

spawn-protection​

数据类型默认值
Integer10

非管理员(OP)玩家无法在区块内建造或破坏方块的生成保护区域大小(以方块为单位)

white-list​

数据类型默认值
Booleanoff

仅允许白名单中的玩家加入服务器

使用/whitelist命令或修改 white-list.txt 来添加玩家到白名单

whitelist-reason​

数据类型默认值
String§cServer is white-listed

启用白名单的原因,显示给被阻挡在外的玩家

xbox-auth​

数据类型默认值
Booleanon

需要经过 Xbox 帐户验证后才能加入

备注

不会绕过客户端的限制条件。

如果您选择禁用此功能(不推荐这样做),请安装登陆插件以确保玩家的账号安全。

keep-existing-session-on-duplicate-login​

数据类型默认值
Booleanoff

发生重复登录时,保留已经在游戏中的会话

默认情况下,使用相同名称或身份的新登录会把已在线的玩家踢下线;开启后将改为拒绝新连接,避免正在游戏的玩家(身上还带着物品)被冒用昵称的人顶掉

已经断线的残留会话仍会自行超时下线

encryption​

数据类型默认值
Booleanon

启用网络加密(针对 RakNet 会话)

如果不使用代理软件,则建议启用此功能

备注

NetherNet 会话始终由 DTLS 加密,不受此选项影响

force-resources​

数据类型默认值
Booleanoff

强制玩家下载服务器的资源包后才能加入

force-resources-allow-client-packs​

数据类型默认值
Booleanoff

在启用 force-resources 时不要禁用客户端自己的资源包

spawn-animals​

数据类型默认值
Booleanon

启用动物生成

spawn-mobs​

数据类型默认值
Booleanon

启用怪物生成

allow-flight​

数据类型默认值
Booleanoff

启用/禁用允许玩家飞行

备注

如果服务器经常提示玩家因飞行被踢出,可以尝试将此项设置为 on

auto-save​

数据类型默认值
Booleanon

自动保存世界、玩家数据

备注

如果禁用,则对世界的更改不会自动保存,即使在卸载时也是如此,如果需要可以使用插件手动保存

enable-rcon​

数据类型默认值
Booleanoff

启用远程控制台访问

备注

RCON 不是一个非常安全的远程控制服务器的方式

RCON 可以使用与服务器相同的端口(TCP 协议)

详见:https://developer.valvesoftware.com/wiki/Source_RCON_Protocol

rcon.password​

数据类型默认值
String随机10位字符

RCON 连接的密码

rcon.port​

数据类型默认值
Integer25575

RCON 连接的端口

enable-query​

数据类型默认值
Booleanon

启用 Query 查询

server-authoritative-movement​

数据类型默认值
Stringserver-auth

服务器移动验证方式

可选:client-auth / server-auth-with-rewind / server-auth

server-authoritative-block-breaking​

数据类型默认值
Booleanon

服务器权威方块破坏

server-authoritative-inventory​

数据类型默认值
Booleanon

服务器权威物品栏交易(ItemStackRequest)

仅对协议版本 1.16.100 及以上的客户端生效

备注

这是服务器权威移动在物品栏上的对应项 —— 由服务器校验物品移动,而不是信任客户端