
Последний переход игровых серверов на новую версию Minecraft состоялся летом 2015 г. С тех пор прошло немало времени, за которое успел выйти не один релиз новой версии игры, а актуальная версия на тот момент устареть. Игроки невольно начали задаваться вопросом: когда же будет следующее обновление?
Мы сами тогда не могли дать точный ответ на этот вопрос продолжительное время. Будущее игры на тот момент было «туманным». Злую шутку сыграло закрытие платформы Bukkit, затронувшее нас во время перехода на версию 1.7.10. В итоге мы пришли к разработке собственной модификации ядра сервера, дабы улучшить работу игровых серверов.
Так как официальный Bukkit закрылся, а вместе с ним прекратилась разработка ядра «Cauldron», сочетающего в себе поддержку модов и плагинов, переход на новые версии игры стал невозможным – не на чем стало делать новую сборку.
Почему не Vanilla-сервер, а какой то там Bukkit нужен? – спросите вы. А всё потому что нам нужна поддержка плагинов на сервере. Без них не было бы удобных команд, всяких там приватов территории, автоматической очистки карты. Плагины нужны для управления сервером. Моды этого всего не дают. Они только изменяют механику игры, добавляют новый контент (новые блоки, мобы и прочее).
Мы сами тогда не могли дать точный ответ на этот вопрос продолжительное время. Будущее игры на тот момент было «туманным». Злую шутку сыграло закрытие платформы Bukkit, затронувшее нас во время перехода на версию 1.7.10. В итоге мы пришли к разработке собственной модификации ядра сервера, дабы улучшить работу игровых серверов.
Так как официальный Bukkit закрылся, а вместе с ним прекратилась разработка ядра «Cauldron», сочетающего в себе поддержку модов и плагинов, переход на новые версии игры стал невозможным – не на чем стало делать новую сборку.
Почему не Vanilla-сервер, а какой то там Bukkit нужен? – спросите вы. А всё потому что нам нужна поддержка плагинов на сервере. Без них не было бы удобных команд, всяких там приватов территории, автоматической очистки карты. Плагины нужны для управления сервером. Моды этого всего не дают. Они только изменяют механику игры, добавляют новый контент (новые блоки, мобы и прочее).
Выбор платформы для сервера
После закрытия CraftBukkit – официального ядро сервера от разработчиков Bukkit API, дальнейшая разработка сервера для Minecraft поделилась на два фронта: Bukkit API перешло к Spigot, а бывшие разработчики ядра Cauldron занялись созданием нового проекта – «Sponge». Отсюда, некоторый период времени, не существовало ядра с одновременной поддержкой модов и плагинов: Spigot не поддерживает моды, а разработка Sponge шла продолжительное время.
Нашлись, конечно, энтузиасты решившие продолжить разработку Forge+Bukkit ядра. Копируя код друг у друга и внося свои доработки, появилось множество форков такого ядра. Одни работают, вторые – нет, у третьих закрытый исходный код, а четвёртые вообще платные.
Нашлись, конечно, энтузиасты решившие продолжить разработку Forge+Bukkit ядра. Копируя код друг у друга и внося свои доработки, появилось множество форков такого ядра. Одни работают, вторые – нет, у третьих закрытый исходный код, а четвёртые вообще платные.
Встаёт закономерный вопрос: Что же выбрать? Sponge или Forge+ Bukkit?
Sponge
- Достоинство: API изначально рассчитанное на поддержку модов.
- Достоинство: Возможности API в разы шире, чем у Bukkit.
- Достоинство: Одновременная поддержка модов и плагинов «из коробки» (официальная).
- Недостаток: Проблемы производительности. Sponge это надстройка над обычным сервером от Mojang. Оно только добавляет API, но не оптимизирует сервер, как это было в ядре CraftBukkit.
- Недостаток: Малое количество плагинов и отсутствие удобного каталога для них. Возможно, это связано с популярностью Spigot и нежеланием авторов плагинов переходить на Sponge.
Forge+Bukkit
- Достоинство: Проверенная временем связка с оптимальной производительностью, благодаря оптимизации от CraftBukkit.
- Достоинство: Большой выбор плагинов и удобный каталог для них.
- Недостаток: Bukkit официально не поддерживает моды, поэтому плагины для работы вместе с ними придётся дорабатывать.
- Недостаток: Bukkit – это устаревшее API. Оно очень сильно ограничено по возможностям, отстаёт от возможностей самой игры. Очень часто создателям плагинов приходится использовать «грязный хак» NMS для реализации своих идей, потому что Bukkit API не позволяет это делать (не реализовано).
- Недостаток: Bukkit был хорош в самых первых версиях игры, но сейчас он создаёт больше проблем, чем приносит пользы. Это делает разработку ядра сервера с поддержкой Forge и Bukkit очень затратной. Некоторые моменты реализовать в сервере стало сложно из-за конфликтов (моды сейчас всё глубже внедряются в игру), а порой эти API дублируют друг друга.
Почему так получилось, мы уже рассказывали вам в предыдущей статье. Нашим выбором в данном случае будет Forge-only сервер. Это позволит оптимизировать ядро сервера для достижения лучшей производительности, а также не зависеть от сторонних платформ. Нужные плагины предполагается портировать на Forge. Но увы, этого всего не будет…
Обновлений больше не будет
Понаблюдав продолжительное время за другими проектами, взвесив трудозатраты, мы приняли окончательное решение: отказаться от дальнейших обновлений игры. Причина проста: новые версии игры стали непригодными из-за лагов, чтобы на них делать сервера с модами. Никто из других проектов не ушёл дальше, чем открытие Classic и Pixelmon серверов (самые простые сборки). А те, кто решил полностью перейти на новую версию, в итоге закрылись. Серверам с модами приходит конец.
Имеет ли смысл затрачивать месяцы разработки, чтобы получить серверы с меньшим числом слотов и ещё большими ограничениями на механизмы? – думаем, что нет. Проблема лагов отразится не только на сервере, но ещё на игроках. Не у каждого хватит мощности и памяти компьютера на запуск игрового клиента новой версии игры. Наличие проблемы подтверждает добавление разработчиками Forge загрузочного экрана, где теперь отображается ещё расход ОЗУ. Такое обновление приведёт к снижению онлайна, что для сервера невыгодно.
Предполагается, обладатели производительных ПК отдадут свой выбор последним игровым новинкам, чем Minecraft с его «никаким» уровнем графики. Нужно рассчитывать на «среднячок», чтоб был онлайн. Неслучайно мы не спешим закрывать самый старый сервер «RedPower», хотя он работает на версии игры вышедшей 6 лет назад. Думаем, популярность этого сервера, даже спустя годы, обусловлена не только простотой игрового процесса, но также малыми системными требованиями игрового клиента.
Такой внушительный рост системных требований игры мы не считаем нормальным явлением. За прошедшие 10 лет разработчиками добавлялся в игру новый контент, не раз переписывали компоненты «движка» игры. Мы не увидели какого-либо улучшения графики (хоть бы освещение могли сделать более реалистичным). Сообщество за это время создало в разы больше контента. Логично предъявлять вопрос: за что нам такие лаги?
Увы, эта нехорошая тенденция затрагивает не только игру, но и всё современное ПО в целом. Мы покупаем более современное «железо», но продолжаем мириться с лагами как и прежде. Рост производительности железа даёт возможность писать плохой и медленный код, вместо увеличения производительности ПО. Оптимизация – вещь о которой стали забывать. Вошли в моду веб-приложения (к ним относится ваш любимый Discord) на HTML/CSS/JS, которые по производительности значительно уступают своим собратьям, написанным на нативных языках программирования.
Имеет ли смысл затрачивать месяцы разработки, чтобы получить серверы с меньшим числом слотов и ещё большими ограничениями на механизмы? – думаем, что нет. Проблема лагов отразится не только на сервере, но ещё на игроках. Не у каждого хватит мощности и памяти компьютера на запуск игрового клиента новой версии игры. Наличие проблемы подтверждает добавление разработчиками Forge загрузочного экрана, где теперь отображается ещё расход ОЗУ. Такое обновление приведёт к снижению онлайна, что для сервера невыгодно.
Предполагается, обладатели производительных ПК отдадут свой выбор последним игровым новинкам, чем Minecraft с его «никаким» уровнем графики. Нужно рассчитывать на «среднячок», чтоб был онлайн. Неслучайно мы не спешим закрывать самый старый сервер «RedPower», хотя он работает на версии игры вышедшей 6 лет назад. Думаем, популярность этого сервера, даже спустя годы, обусловлена не только простотой игрового процесса, но также малыми системными требованиями игрового клиента.
Такой внушительный рост системных требований игры мы не считаем нормальным явлением. За прошедшие 10 лет разработчиками добавлялся в игру новый контент, не раз переписывали компоненты «движка» игры. Мы не увидели какого-либо улучшения графики (хоть бы освещение могли сделать более реалистичным). Сообщество за это время создало в разы больше контента. Логично предъявлять вопрос: за что нам такие лаги?
Увы, эта нехорошая тенденция затрагивает не только игру, но и всё современное ПО в целом. Мы покупаем более современное «железо», но продолжаем мириться с лагами как и прежде. Рост производительности железа даёт возможность писать плохой и медленный код, вместо увеличения производительности ПО. Оптимизация – вещь о которой стали забывать. Вошли в моду веб-приложения (к ним относится ваш любимый Discord) на HTML/CSS/JS, которые по производительности значительно уступают своим собратьям, написанным на нативных языках программирования.
Hytale
В прошлый раз была задета тема новый игры от Hypixel Studios. Игра позиционируется как альтернатива Minecraft. Думаем, новый проект «выстрелит», если возьмёт во внимание недостатки Minecraft и исправит их. О новой игре пока мало чего известно, графика на скриншотах выглядит отменно. Посмотрим, как оно будет на самом деле.
Нас, как сервер, интересует работа системы авторизации в игре. Клиент однозначно будет закрытый (защита от пиратства), а моды будут подгружаться с сервера. Поэтому лаунчера как такового больше не будет. С точки зрения авторизации нам требуется возможность интеграции с нашей базой данных, дабы пользователь имел возможность управлять свои персонажем через сайт, а мы могли понять, кто к нам обращается. Также интересует наличие поддержки локальных никнеймов (прим. серверы в Discord). Потому что использовать глобальный неудобно: он с большой вероятностью будет длинным из-за большой базы пользователей игры. На сервере было бы удобнее назначить игроку локальный, более простой никнейм – аудитория сервера в разы меньше, чем у всей игры.
Надеяться на появление Hytale серверов не стоит – у нас такого в планах нет (ничего не обещаем). Это было просто наше мнение по поводу игры.
Нас, как сервер, интересует работа системы авторизации в игре. Клиент однозначно будет закрытый (защита от пиратства), а моды будут подгружаться с сервера. Поэтому лаунчера как такового больше не будет. С точки зрения авторизации нам требуется возможность интеграции с нашей базой данных, дабы пользователь имел возможность управлять свои персонажем через сайт, а мы могли понять, кто к нам обращается. Также интересует наличие поддержки локальных никнеймов (прим. серверы в Discord). Потому что использовать глобальный неудобно: он с большой вероятностью будет длинным из-за большой базы пользователей игры. На сервере было бы удобнее назначить игроку локальный, более простой никнейм – аудитория сервера в разы меньше, чем у всей игры.
Надеяться на появление Hytale серверов не стоит – у нас такого в планах нет (ничего не обещаем). Это было просто наше мнение по поводу игры.