Установите официальный 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.
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, сохранив остальные параметры. Для небольшого частного сервера можно начать так:
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, запускайте из распакованного каталога:
cd /srv/bedrock/game
LD_LIBRARY_PATH=. ./bedrock_server
Так используются поставляемые локальные библиотеки. Если отсутствует библиотека, проверяйте конкретную зависимость Ubuntu. При Permission denied проверьте право исполнения, доступ к каталогам и параметры монтирования. Запуск от root не исправляет причину этих ошибок.
В интерактивной консоли сервера добавьте реальный Xbox Gamertag игрока, заключив имя с пробелами в кавычки, и сохраните идентичность сервера:
allowlist add "Example Player"
serveridentity save
serveridentity status
Эти команды описаны в поставляемом how-to. Сохранённый ключ помогает клиентам узнавать сервер после перезапуска; защищайте его как приватный ключ. Права оператора выдавайте отдельно и только при необходимости.
Проверьте сокеты и вход из другой сети#
Во втором административном терминале смотрите сокеты и владельца процесса во время попытки подключения:
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 создайте приватный архив остановленной установки:
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"
В него попадут миры, конфигурация, паки, списки доступа и ключи идентичности. Храните защищённую копию вне этой машины. Запустите сервер прежней командой, зайдите и проверьте сохранённое изменение. Перед обновлением сохраните соответствующий серверный архив и проверьте отдельное восстановление: совпавшая сумма подтверждает байты, но не работоспособность восстановленного мира.




