"Серверное ПО для Minecraft: Bedrock, созданное с нуля на PHP, C и C++"
pmmp/PocketMine-MP · github.com
Если вы хотели запустить сервер Minecraft Bedrock, не ограничиваясь стандартным выживанием, PocketMine-MP - именно то, что вам нужно. Это бесплатное серверное ПО с открытым исходным кодом, написанное на PHP. Благодаря системе плагинов оно позволяет создавать полностью уникальный игровой процесс. Вместо управления несколькими серверными узлами вы можете разместить более 100 игроков на одном экземпляре и полностью контролировать правила.
Возможности проекта
PocketMine-MP нельзя просто использовать как замену стандартному серверу Bedrock. Это чистый лист. Вы получаете серверный движок, а затем с помощью плагинов создаете все необходимое. Хотите запустить исключительно творческий сервер с мгновенной телепортацией? Готово. Создаете центр мини-игр, в котором игроки переключаются между режимами? PocketMine справится и с этим. Нужны собственная экономика, иерархия прав или инструменты управления мирами? В экосистеме плагинов найдется подходящее решение, а если его нет, вы можете написать свое.
Движок поддерживает одновременную работу нескольких миров, поэтому игроки остаются на одном сервере, но могут переключаться между совершенно разными режимами. Все управляется через интерфейс командной строки, причем административные команды доступны прямо во время работы сервера.
Когда это вам пригодится
Сразу важное предупреждение: это решение не предназначено для стандартного выживания. Если вам нужен обычный Minecraft в режиме выживания со стандартной генерацией мира и ИИ мобов, лучше использовать официальное серверное ПО Bedrock. В PocketMine отсутствуют такие стандартные функции, как механизмы редстоуна, ИИ мобов и встроенная генерация мира.
Но если вы запускаете творческий сервер, создаете RPG, размещаете мини-игры или хотите реализовать то, для чего стандартная игра не предназначена, PocketMine станет вашим набором инструментов. Его используют для приключенческих серверов, где игроки следуют заданным сюжетам. Другие владельцы создают соревновательные PvP-арены. Кто-то запускает ролевые сообщества с собственной историей мира и системой развития. Именно в этой гибкости и заключается смысл проекта.
Проект также активно развивается. Поддержка новых версий Minecraft Bedrock обычно появляется в течение нескольких дней после выпуска, поэтому вам не придется надолго оставаться на старой версии в ожидании совместимости.
Начало работы и установка
Установить PocketMine-MP довольно просто. Проект предоставляет готовые сборки PHP, поэтому вам не придется ничего компилировать самостоятельно, хотя при желании это возможно. Сначала загрузите последнюю рекомендованную сборку PHP со страницы релизов, затем скачайте PHAR-файл PocketMine-MP.
В Linux команды выглядят так:
wget https://github.com/pmmp/PocketMine-MP/releases/download/5.42.1/PocketMine-MP.phar
wget https://github.com/pmmp/PHP-Binaries/releases/download/pm5-php-8.2-latest/PHP-Linux-x86_64.tar.gz
tar -xzf PHP-Linux-x86_64.tar.gz./bin/php7/bin/php PocketMine-MP.pharПервый запуск занимает несколько минут, поскольку сервер создает файлы конфигурации и стандартный мир. После этого откроется серверная консоль, где можно выполнять команды, следить за игроками и менять настройки прямо во время работы.
Разработчики также поддерживают образ Docker для тех, кто предпочитает контейнеризацию. Это упрощает развертывание в облачной инфраструктуре. Пользователи Windows и macOS получают пакетные файлы и сценарии PowerShell вместо сценариев оболочки, поэтому процесс установки остается одинаково понятным на разных платформах.
Главные возможности
Настоящая основа проекта - API плагинов. За более чем десять лет разработки он стал зрелым и получил подробную документацию. Хотите отслеживать перемещения игроков? Реагировать на разрушение блоков? Запускать собственные команды? Регистрировать новые предметы с особым поведением? API позволяет сделать все это. Многие разработчики публикуют свои работы в Poggit, репозитории плагинов сообщества, поэтому часто готовое решение можно найти еще до того, как вы начнете писать свое.
Поддержка нескольких миров действительно полезна. На одном экземпляре сервера можно одновременно запустить творческий мир, мир выживания и арену мини-игр. Игроки смогут телепортироваться между ними без отключения от сервера. Обычно для этого потребовались бы отдельные серверы и дополнительное оборудование, но здесь достаточно разных папок миров.
Система прав работает сразу после установки. Распределяйте игроков по группам, назначайте этим группам определенные разрешения и создавайте иерархию с учетом потребностей сервера. У частного творческого сервера и публичной RPG с модераторами разные требования, но система подходит для обоих случаев.
Производительность остается высокой. Репозиторий с 3 512 звездами активно поддерживается, а реальные серверы стабильно обслуживают более 100 одновременных игроков в зависимости от оборудования и установленных плагинов. Это не теоретическая цифра, а результаты, о которых сообщают владельцы работающих серверов.
Возможные сложности
Во-первых, не ждите стандартных функций, которые вы не добавили самостоятельно. Здесь нет схем из редстоуна, появления мобов или роста деревьев. Игроки, привыкшие к обычному Bedrock, иногда ожидают, что все это заработает само по себе, но этого не произойдет. Это не ошибка, а принцип работы проекта. Для любой нужной функции потребуется плагин или собственная реализация.
Между плагинами бывают конфликты. Если два плагина пытаются по-разному обрабатывать одни и те же события, результат может оказаться непредсказуемым. Лучше устанавливать плагины по одному, тщательно тестировать сервер после каждого добавления и заранее проверять требования плагина и известные проблемы совместимости.
С ростом количества плагинов производительность снижается нелинейно. Десять качественно написанных плагинов могут работать без проблем. Тридцать плагинов, созданных без учета производительности, способны резко снизить частоту тиков. Если сервер начинает зависать, причиной почти всегда оказывается плохо оптимизированный плагин, а не сам PocketMine.
Для обновлений требуется перезапуск. В отличие от некоторых игр, сервер Minecraft нельзя полноценно обновить без остановки. Запланируйте технические работы или установите перед сервером прокси, чтобы во время обновления игроки могли переподключиться к резервному серверу.
Какие есть альтернативы
Если вам нужен именно стандартный Bedrock, Microsoft предлагает официальное серверное ПО. Возможностей настройки в нем меньше, зато оно практически не требует конфигурации и управления плагинами.
Для Java Edition существуют Spigot и Paper. У них более крупные экосистемы, больше плагинов и, пожалуй, более простая установка для новичков. Серверная экосистема Java развита лучше просто потому, что версия Minecraft для Java существует дольше. Но Java и Bedrock используют совершенно разные протоколы, поэтому выбор полностью зависит от того, на какой версии играют ваши пользователи.
Некоторые владельцы устанавливают прокси вроде Bungeecord перед несколькими экземплярами PocketMine, чтобы распределять игроков между серверами. Это вопрос архитектуры, а не выбора серверного ПО, и он выходит далеко за рамки этой статьи. Просто учитывайте, что такой вариант существует, если со временем проекту потребуется масштабирование.
Где узнать больше
Официальная документация проекта хорошо подготовлена. Разработчики активно следят за обращениями на GitHub, а сообщество в Discord быстро отвечает на вопросы по установке. Если вы планируете запустить собственный сервер Bedrock, выделите несколько часов на изучение документации и репозитория плагинов Poggit. Так вы поймете, соответствует ли подход PocketMine задачам вашего проекта.
После запуска сервера вы сможете создать собственный MOTD, который будет отображаться в списке серверов и сразу расскажет игрокам, что их ждет. А когда придет время создать идеального персонажа для приключенческого сервера, загляните в раздел скинов Minecraft и найдите вариант, соответствующий тематике вашего проекта.
pmmp/PocketMine-MP - LGPL-3.0, ⭐3512


