Крч в будущем это мега иновационное ядро для создания серваков
Ну вы видели CounterMine, а если не видели, то посмотрите https://cherry.pizza/
Первая версия ядра, та которая на CounterMine основана на Minestom, но мы столкнулись с некоторыми проблемами майнстома:
- Отсутствие многопоточности, а именно если вдруг в одном из миров падает ТПС по какой-либо причине, то лагать начинают все миры, это для нас ваще не ок, мы канеш написали патч, но всё же хочется без костылей
- Майнстом не гибкий, к примеру ViewSystem хавает исключительно Entity, а мы юзаем составные модельки которые хотелось бы обрабатывать как единый Viewable
- Отсутствие Netty - Я в душе не ебу нахуя разрабы Майнстома решили обойтись без Netty, но это лишает возможности подключить ViaVersion и ваще с нетти мега кайфово работать
Помимо проблем майнстома у нас ещё и свои заёбы имеются, проект настолько разжирел, что добавление новых фич превращается в сущий кошмар
И я затеял разработку нового ядра (вот этого вот)
Так как Майнстом для нас не варик, мы поискали альтернативы и нашли Dockyard
Он более гибкий и юзает Netty, но бля в нём проблем не меньше, но база хорошая
Крч я взял Dockyard и вырезал из него буквально всё, что не касается минимального взаимодействия с игровым протоколом, а почти всё остальное, что осталось, было переделано
За это всё отвечает модуль lib-minecraft. Так что если вам нужна либа на котле, для сырого взаимодействия с протоколом - вот она
Далее идёт модуль engine-core - по сути набор инструментов поверх lib-minecraft, а так же включает в себя DI фреймворк в виде Micronaut
И так, база есть, осталось написать то, на чём можно строить игровые механики. В качестве архитектуры выбор пал на ECS (ес чо расшифровывается Entity Component System, а не EliteClubSessions)
Лежит это всё в engine-ecs
Ну и некий демо проектик https://github.com/SkolkovoLab/CherryngineDemo
- Minestom - за то что наконец положили конец монополии баккита и предложили ахуенную альтернативу и открыли глаза на то, что крупный сервак в майне можно сделать без NMS
- Dockyard - за код на котором базирован модуль
lib-minecraft - EliteClubSessions - за детство, легенда
- Марсик - за то, что не наблевал на кровать сегодня 🥰