Minecraft Руководство

Как настроить сервер Minecraft Bedrock на Ubuntu

Настройте Bedrock Dedicated Server на Linux: официальный архив, конфигурация, сетевой транспорт и проверка подключения игрока.

Как настроить сервер Minecraft Bedrock на Ubuntu

Установите официальный Bedrock Dedicated Server и настройте транспорт именно его версии до открытия портов. Современная сеть Bedrock отличается от старой схемы «пробросить UDP 19132». Здесь используется стабильный BDS 1.26.52.3, Ubuntu 24.04 на 64-битной машине Intel/AMD и VPS с публичным IPv4, назначенным непосредственно серверу.

Выберите совместимые сервер и клиент#

На официальной странице загрузки сейчас указана Ubuntu 22.04 или новее. Подготовьте поддерживаемую Ubuntu, свободное место и RAM. ARM и другие дистрибутивы Linux в этот сценарий не входят.

Для стабильных клиентов скачивайте стабильный сервер. Preview — отдельный канал выпусков. До изменения сервера проверьте совместимость протокола с клиентом: сообщения “Outdated Client” и “Outdated Server” требуют согласовать версии, а не добавлять правила firewall. Первую проверку проводите с Windows Bedrock или мобильного клиента, где есть Add Server. У консолей есть дополнительные ограничения платформы.

Установите файлы от отдельного пользователя#

На новой Ubuntu 24.04 подготовьте пользователя и инструменты. libcurl4t64 — пакет libcurl для Ubuntu 24.04, а не библиотека, которую нужно искать на случайном сайте с DLL.

bash
sudo apt update
sudo apt install ca-certificates curl unzip libcurl4t64
sudo useradd --create-home --home-dir /srv/bedrock --shell /bin/bash bedrock
sudo -iu bedrock
umask 077
mkdir -p /srv/bedrock/game
cd /srv/bedrock
curl -fL -o server.zip https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.26.52.3.zip
unzip -l server.zip
unzip server.zip -d game
cd game
chmod u+x bedrock_server

URL фиксирует стабильный архив, доступный при проверке статьи. Для другого выпуска получите ссылку Linux на официальной странице: не придумывайте имя файла и не подменяйте стабильную версию Preview. Посмотрите содержимое ZIP перед распаковкой; каталог назначения должен быть пустым. Если пользователь уже существует, проверьте его права вместо повторного создания.

Прочитайте распакованные server.properties и bedrock_server_how_to.html. Важны комментарии о транспорте: этот архив использует transport=nethernet. Не заменяйте конфигурацию целиком шаблоном от Java Edition.

Настройте мир и два сетевых пути#

Измените существующие ключи server.properties, сохранив остальные параметры. Для небольшого частного сервера можно начать так:

ini
server-name=Friends Bedrock
level-name=FriendsWorld
max-players=4
online-mode=true
allow-list=true
enable-lan-visibility=false
transport=nethernet
server-port=19132
server-udp-ports=203.0.113.10:40000:40000,203.0.113.10:40001:40001,203.0.113.10:40002:40002,203.0.113.10:40003:40003

Замените каждое 203.0.113.10 реальным публичным IPv4 своего VPS. Это адрес для документации; как есть он не заработает. Четыре явных UDP-сопоставления — пример выделения портов: закрепите их за этим экземпляром и при необходимости расширяйте настройку вместе с правилами доступа по результатам проверки нагрузки.

У NetherNet два этапа: HTTP-сигнализация на TCP 19132, затем согласованный игровой UDP-трафик на выбранных портах. Их разделение описано в руководстве Mojang по протоколу. Успех запроса сигнализации ещё не означает, что игровой путь доступен.

Для этого режима в архиве указано: server-portv6 игнорируется, а сокет сигнализации использует server-port с dual stack, когда он доступен. Старая схема RakNet использует UDP 19132 для IPv4 и UDP 19133 для IPv6 только там, где такой транспорт действительно поддерживается и включён. Не пытайтесь принудительно вернуть RakNet ради починки актуальной сборки. Здесь проверяется публичный IPv4; для IPv6 отдельно нужны доступный адрес, сопоставления и проверка клиента.

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

Запустите сервер и разрешите нужных игроков#

Работая как bedrock, запускайте из распакованного каталога:

bash
cd /srv/bedrock/game
LD_LIBRARY_PATH=. ./bedrock_server

Так используются поставляемые локальные библиотеки. Если отсутствует библиотека, проверяйте конкретную зависимость Ubuntu. При Permission denied проверьте право исполнения, доступ к каталогам и параметры монтирования. Запуск от root не исправляет причину этих ошибок.

В интерактивной консоли сервера добавьте реальный Xbox Gamertag игрока, заключив имя с пробелами в кавычки, и сохраните идентичность сервера:

text
allowlist add "Example Player"
serveridentity save
serveridentity status

Эти команды описаны в поставляемом how-to. Сохранённый ключ помогает клиентам узнавать сервер после перезапуска; защищайте его как приватный ключ. Права оператора выдавайте отдельно и только при необходимости.

Проверьте сокеты и вход из другой сети#

Во втором административном терминале смотрите сокеты и владельца процесса во время попытки подключения:

bash
sudo ss -lntp 'sport = :19132'
sudo ss -lunp

Найдите bedrock_server и его выбранные UDP-порты. UDP-сокеты могут появляться при согласовании подключения, поэтому одного снимка без игроков недостаточно. Посторонний процесс на том же порту означает конфликт.

Если UFW активен, разрешите TCP 19132 и UDP 40000–40003. Такие же правила с правильными протоколами нужны в firewall VPS. Не включайте UFW удалённо, не сохранив доступ SSH. При установке за роутером дополнительно нужны публичная адресация и соответствующие внешние/внутренние сопоставления; сначала проверьте CGNAT.

Добавьте адрес сервера и 19132 в совместимом клиенте Bedrock. Где применимо, сначала установите локальную доступность, затем зайдите из другой сети. Проверьте нужный мир и запись об игроке в консоли. Появление в списке, проверка TCP и ответ UDP-сканера этого не подтверждают. Недавнее обсуждение IPv6 показывает, что сигнализация и игровой транспорт могут ломаться независимо.

Остановите, сохраните копию и проверьте мир#

Сделайте узнаваемое изменение в мире, выйдите и введите stop в серверной консоли. Дождитесь завершения процесса. В оболочке bedrock создайте приватный архив остановленной установки:

bash
umask 077
mkdir -p /srv/bedrock/backups
chmod 700 /srv/bedrock/backups
backup_file="/srv/bedrock/backups/game-$(date -u +%Y%m%dT%H%M%SZ).tgz"
tar -C /srv/bedrock -czf "$backup_file" game
tar -tzf "$backup_file" >/dev/null
sha256sum "$backup_file" > "$backup_file.sha256"

В него попадут миры, конфигурация, паки, списки доступа и ключи идентичности. Храните защищённую копию вне этой машины. Запустите сервер прежней командой, зайдите и проверьте сохранённое изменение. Перед обновлением сохраните соответствующий серверный архив и проверьте отдельное восстановление: совпавшая сумма подтверждает байты, но не работоспособность восстановленного мира.