Комментарии 8
Ох, новые движки всегда хорошая новость для сообщества игроков
Стало интересно, какой у вас план
Насколько мне известно, основными недостатками текущих решений является не столько затраты ОЗУ, сколько сложность масштабирования. Сервера не умеют в многоядерность, не распараллеливают задачи и непременно проседают по тикам, сколько бы вы памяти не вложили в инстанс.
Поддержка модов, - второй момент. Мало того, что почти все кастомные ядра их не поддерживают, те, что способны еще дальше проседают по производительности и не предлагают решений.
Ну и конечно плагины. Сервера не просто так разбрасываются памятью, плагины, единственный способ как раз оптимизировать потребление ресурсов, а без механизмов типа packet interception становится сложно бороться с хакерами.
Что вы запланировали для своего ядра?
Привет)
Из планов у меня пока сделать ядро, который по функционалу будет хотя бы большей частью похожи на GlowStone или тот же Vanilla. В качестве защиты от атак тоже будет развитие, но пока увы в первой часте мог успеть лишь сделать основу...
На счёт плагинов - такая часть тоже должна быть, но как скоро не знаю, возможно будут на WASM, возможно на Lua/JS... А так всё-таки планов на развитие ещё много и надо бы реализовать
Если говорить об оптмизации в мультипотоке для тпс - в Go гораздо меньше нагрузки может быть чем в той же яве, но так-же в любом случае мне придётся делать мультипоточную работу миров так-как мне кажеться не получиться идеально обрабатывать всего и вся в одном потоке, а вот как уже реализовано будет... надеюсь хорошо
Будет круто, если будет возможность писать плагины для ядра. Интересно как это реализуют
Ну наверное сервер без возможности написания плагинов это как телефон без приложений)
Поэтому когда-то завезу такой функционал в ядро, возможно он будет на WASM, а если на нём не получится, то выбор падёт на вариант, который точно заработает - Lua/JS
Как по мне хороший вариант будет тот - который будет максимально удобен для быстрой и чистой разработки.
Можно сделать чтобы ядро сервера подгружало плагины (как обычное ядро на Java), написанные на том же Go и скомпиленные как библиотека.
Хоть этот вариант возможно и усложнит разработку плагинов, однако не будет особого оверхеда для поддержки тех же Lua/JS
Мне кажеться лучше бы поддержу WASM так-как он очень удобен, особенно в таком случае имеется большой выбор языков на которых можно писать и быстро компилировать и подгружать в ядре тот самый плагин, вот например написать пл на TS/Rust/Go/.. с использованием библиотеки от ядра, которые смогут использовать АПИ для связи с ядром и допустим создавать конфиги или слушать событии и тд. Если же компилить тот же Go в нативные файлы библиотек, то тут будет проблема с поддержкой систем, поэтому выбор и падает на WASM/JS/Lua.
Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее и малое начало