Перейти к основному содержимому

server.properties

Измените рабочую конфигурацию сервера, чтобы настроить некоторые базовые функции.

Это стандартные настройки сервера Minecraft, определяемые в файле server.properties. Расширенные настройки Nukkit-MOT описаны в nukkit-mot.yml.

motd​

Тип данныхЗначение по умолчанию
StringMinecraft Server

имя сервера / текст, который отображается в списке серверов

примечание

не может быть пустым

sub-motd​

Тип данныхЗначение по умолчанию
StringPowered by Nukkit-MOT

вторая строка для motd

примечание

отображается только для игроков из локальной сети при просмотре сервера в списке друзей в игре

не может быть пустым начиная с версии 1.16.210

server-port​

Тип данныхЗначение по умолчанию
Integer19132

порт сервера

примечание

два сервера не могут работать на одном и том же порту

чтобы сервер был доступен из интернета, необходимо настроить проброс портов

Bedrock edition использует UDP

при включённом NetherNet этот же порт по TCP обслуживает WebRTC-сигналинг, поэтому откройте его и для TCP

server-ip​

Тип данныхЗначение по умолчанию
String0.0.0.0

IP-адрес сервера

примечание

два сервера не могут работать на одном и том же порту

чтобы сервер был доступен из интернета, необходимо настроить проброс портов

Bedrock edition использует UDP

этот адрес привязывает как UDP-прослушивание RakNet, так и TCP-сигналинг NetherNet

server-udp-ports​

Тип данныхЗначение по умолчанию
Integer / String19132

UDP-порт для медиатрафика NetherNet (WebRTC), синтаксис как у Bedrock Dedicated Server:

ЗначениеОписание
19132Медиатрафик делит UDP-сторону server-port с RakNet, ретранслируясь внутри процесса с сокета RakNet (по умолчанию — ничего дополнительно открывать не нужно)
0Порты медиатрафика назначаются системой на каждое соединение
NЗакрепляет отдельный порт медиатрафика, например 19134 (один ICE mux порт обслуживает всех участников)
A-BЗакрепляет диапазон портов медиатрафика
[ip:]external[-external]:internal[-internal]Дополнительно публикует внешнее отображение портов, например за NAT. Диапазоны по обе стороны от двоеточия должны быть одинаковой длины

Записи могут содержать IP-префикс (для IPv6 — в квадратных скобках, например [2001:db8::1]:...); несколько записей через запятую накапливают объявленные IP, но диапазон портов и смещение должны совпадать

Совместное использование работает, когда один порт закреплён ровно за server-port или портом IPv6-прослушивания, либо отображён на них однопортовым отображением — 19132:50000 публикует медиатрафик на 19132, ретранслируя с внутреннего порта 50000. Медиатрафик приходит на сокет RakNet и ретранслируется внутри процесса на loopback-порт.

внимание

Диапазоны портов не должны перекрывать 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 для порта медиатрафика — в файрволе хоста, группах безопасности облака и пробросе на роутере. По умолчанию медиатрафик делит UDP-сторону server-port (19132) с RakNet, которая и так должна быть открыта — ничего дополнительного не нужно; отдельный закреплённый порт (например, server-udp-ports=19134) нужно открыть/пробросить явно, а непредсказуемые системные порты бывают только при server-udp-ports=0 — сначала закрепите диапазон (например, server-udp-ports=50000-50010) и пробросьте его
  2. Публичные порты отличаются от внутренних (NAT-отображение)? Опубликуйте внешнюю сторону: server-udp-ports=60000-60010:50000-50010
  3. Всё ещё не работает для игроков за симметричным NAT? Через TURN-релей в network-settings.nethernet.ice-servers можно передавать медиатрафик дальше:
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, обычно это intermediary-устройства, вмешивающиеся в UDP
  • Много отключений после подключения — тайм-ауты NAT или джиттер соединения

server-ipv6-port​

Тип данныхЗначение по умолчанию
Integer-1

порт для опционального IPv6-прослушивания

примечание

IPv6-прослушивание отключено, если значение — 0 или меньше (по умолчанию -1)

чтобы включить его, укажите корректный порт, отличный от server-port

server-ipv6​

Тип данныхЗначение по умолчанию
String::

IPv6-адрес, к которому привязывается опциональное IPv6-прослушивание

должен быть корректным IPv6-адресом; оставьте поле пустым, чтобы отключить IPv6-прослушивание

view-distance​

Тип данныхЗначение по умолчанию
Integer8

максимальная дальность прорисовки в чанках

большее значение = больше загруженных чанков = больше потребление RAM и 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

Определяет, включать ли сражения между игроками (PvP)

level-name​

Тип данныхЗначение по умолчанию
Stringworld

Имя мира по умолчанию

level-seed​

Тип данныхЗначение по умолчанию
String

Сид для мира по умолчанию

level-type​

Тип данныхЗначение по умолчанию
Stringdefault

генератор, используемый для создания мира по умолчанию, если тот ещё не существует

поддерживаются по умолчанию: default, normal, flat, nether, the_end или void

generator-settings​

Тип данныхЗначение по умолчанию
String

Особые настройки генератора мира для мира по умолчанию

spawn-protection​

Тип данныхЗначение по умолчанию
Integer10

размер зоны спауна в блоках, в которой игроки без прав оператора не могут строить или ломать блоки

white-list​

Тип данныхЗначение по умолчанию
Booleanoff

разрешать вход на сервер только игрокам из белого списка (whitelist)

используйте команду /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 и выше

примечание

это аналог серверно-авторитарного движения для инвентаря — сервер проверяет перемещения предметов вместо того, чтобы доверять клиенту