Серверные платформы для Minecraft Pocket Edition. ProtocolSupport - плагин для Spigot
Nukkit - это интересный проект, который, на мой взгляд, вполне имеет все шансы превратиться в интересную платформу для создания серверов для Minecraft Pocket Edition / Minecraft Windows 10 Edition.
Об этом проекте речь пойдёт ниже, однако сначала давайте остановимся на том, какие вообще существуют платформы для создания сервера для Minecraft Pocket Edition
Серверные платформы для Minecraft Pocket Edition
Официальной платформы для создания сервера Minecraft Pocket Edition / Minecraft Windows 10 Edition не существует. Теоретически, Вы можете запустить на компьютере Minecraft Windows 10 Edition (или попытаться ) и получить такой своеобразный ванильный сервер. Но… мы же ждём от сервера чего-то большего?!
PocketMine
В настоящее время существует, пожалуй, только один реальный способ создания сервера для MCPE - это сервер PocketMine-MP, рекомендуемая версия которого рассчитана на работу с Minecraft Pocket Edition 0.11 - т.е. безнадежно устарела. Когда выйдет версия для 0.13.0 - пока не ясно, при этом есть ещё один нюанс - платформой для проекта является php, т.е. сам сервер и плагины к нему пишутся на этом языке программирования. Конечно, php имеет ряд преимуществ: он достаточно прост в освоении и очень удобен… для создания сайтов. Он для этого и разрабатывался, поэтому делать на нём что-то ещё, на мой взгляд совсем не логично.
На мой взгляд, начиная разработку сервера для любой версии Майнкрафт, нельзя не забывать о bukkit’е - под эту платформу, написано (на Java) огромное множество плагинов. Система, которая позволит их достаточно просто переносить будет иметь явные преимущества перед всеми остальными. Лично мне совсем не хочется переносить какие-то из своих плагинов на PocketMine, а вот если бы он был написан на Java, то перенести практически любой плагин было бы достаточно просто и я с удовольствием этим бы занялся.
Dragonet
Можно попытаться создать сервер и на платформе Dragonet . Это тоже интересный проект: такой своеобразный комбайн, который не только содержит сразу два протокола - классический и для карманного Майнкрафта, но и предполагает запуск различных типов плагинов: Bukkit-плагины, Sponge-плагины и плагины на JavaScript (также планируется поддержка php-плагинов от PocketMine). Звучит впечатляюще, но у меня такой зоопарк доверия не вызывает. Возможно я не прав, но в любом случае к моменту, когда Dragonet превратится в стабильный пригодный для использования продукт у меня будет возможность пересмотреть свое мнение. И я буду только рад, если оно изменится.
MiNET
Серверная платформа, создаваемая с использованием C#. Пока для неё нет плагинов (по крайней мере в открытом доступе найти их не удалось), однако у системы похоже есть одно огромное преимущество: судя по всему по всему проект пользуется поддержкой проекта Hypixel, а такая поддержка многого стоит.
Один из тестовых серверов предлагаемый проектом — это как раз сервер Hypixel для Minecraft Pocket Edition.
Я с удовольствием попробовал сыграть на этом сервере и хочу отметить, что это была полноценная игра (не без каких-то недочетов).
Мобы, полноценный генератор миров, лодки, рельсы и вагонетки - вот список того, что не поддерживает платформа. Но уже и без этого можно обеспечить работу сервера с мини-играми.
ProtocolSupport - плагин для Spigot
Плагин ProtocolSupport для Spigot, разрабатываемый «отечественным производителем» - известным плагинотворцем Shevchik ‘ом. На мой взгляд, это тоже очень интересное направление, которое вполне может дать результат, у которого будет громадное количество преимуществ перед другими проектами. Фактически Spigot+ProtocolSupport, позволят использовать огромнейшее количество плагинов на сервере Minecraft Pocket Edition. На текущий момент времени, как я понимаю, разработку пока ещё нельзя считать завершенной, при этом, тестовый сервер проекта работает очень быстро и по выглядит значительно лучше чем сервер Dragonet (нету глюков с двойной травой и цветами). Это как раз тот проект, за которым я обязательно буду следить и ждать момента, когда на его основе можно будет создать полноценный сервер для MCPE.
Nukkit
О существовании этого проекта я узнал совсем недавно. И на мой взгляд, Nukkit заслуживает того, чтобы поговорить о нём отдельно.
PocketMine + Bukkit = ?
Проект Nukkit появился относительно недавно: первые строки кода на github были размещены 23 мая , и на текущий момент он всё ещё далек от завершения. Сейчас уже можно попробовать его в действии, правда, у меня с этим возникли проблемы.
Nukkit написан полностью на Java, при этом, судя по всему, он хоть и писался под «впечатлением» от PocketMine - разработчик отдельно отмечает некоторую схожесть проектов, но безусловно у него есть и схожесть с BukkitAPI. По крайней мере, мне показалось, что без bukkit’а тут не обошлось.
На мой взгляд у тех, у кого есть опыт разработки плагинов для bukkit, изучить особенности Nukkit будет достаточно просто. Всё очень похоже и логично. И это безусловно очень большое преимущество.
Автор обещает большую скорость и стабильность сервера, по сравнению с PocketMine. Кроме того, с учетом, схожести с PocketMine, автор говорит о том, что тем кто создавал плагины на php будет довольно просто переписать их на Java. И это безусловно огромный плюс.
Я попробовал запустить сервер. Сначала у меня не получалось - при первой попытке удалось запустить сервер, подсоединиться к нему и повисеть в воздухе - почему-то не прогрузилась карта (возможно она просто не сгенерировалась). Но после того как перекачал билд сервера (разработка идёт полным ходом - новые версии, пусть пока нестабильные, выходят каждый день) всё заработало.
Вообще уже существует несколько пробных серверов, которые позволяют побродить в дебрях Nukkit’а. Если хотите попробовать, то озадачившись поиском, Вы быстро найдете парочку.
Первый плагин для Nukkit
Естественно, я сразу же решил попробовать написать плагин. И у меня это получилось с первой попытки! Да и со второй тоже. Я буквально за несколько минут написал два очень простых плагина для Nukkit.
Первый я назвал просто NoSteve, он призван запретить вход на сервер игрокам с именем Steve - ибо на MCPE такое стоит по умолчанию.
Второй, - это порт ранее написанного (тоже очень просто) плагина SlashConsole, который я когда-то написал для Bukkit.
Если говорить о минусах проекта, то тут есть один очень важный: отсутствие достаточной информационной поддержки. Фактически, это своеобразная вещь в себе. Как о нём узнают сейчас люди — я не знаю, похоже вся информация распространяется от человека к человеку - по крайней мере так было со мной. У проекта нет ни форума ни какого-то сайта, на котором все заинтересованные могли бы делиться опытом. И если эта ситуация не изменится - это будет самоубийством хорошего начинания.
Кроме того, в чате проекта обнаружились русскоязычные участники, в кооперации с которыми была создана
Very promising core for MCPE servers. Differs stability and performance, support for new versions of MCPE. Plugins for this kernel are written in the Java language. This is the main disadvantage of this kernel, as it is a language more difficult to learn and for this reason find plug-ins on it - almost impossible. This core is suitable for those who are well versed in programming.
Features Nukkit Core API
At the current time Core API Nukkit is still quite raw product, but is actively developing and already ready to offer the main thing that is necessary for the success of the platform: the possibility of writing additional plugins.Any developer who has experience creating a plugin for bukkit, will not be difficult to write a plugin and under nukkit or transfer your existing one. Apparently, the plugins are created in php for PocketMine quite easily transferred under nukkit.
So almost from the time of the exit platform to the masses, it began to acquire plugins. For example, one that simply and effectively shows the coordinates of the player on the server (this functions devoid of the usual players Minecraft Pocket Edition).
Install Nukkit Core API Plugin on Server
200?"200px":""+(this.scrollHeight+5)+"px");">chcp 65001
"%JAVA_HOME%\bin\java.exe" -Dfile.encoding=UTF8 -jar nukkit-1.0-SNAPSHOT.jar
pause
site.com/screenshot.png?dl=1
Then you can install plugins and invite your server friends.