Ссылка на репозиторий: Anxiety-Network/bedrock-server
upd – кто желает стать контрибьютором и видит в проекте что-то годное – пишите в личные сообщения на форуме.
заранее извиняюсь за такой пост, поскольку в нем ничего практически не описано, и сам проект на гитхабе залит был на скорую руку: он не имеет никакой серьезности, строгости, объяснений самих реализаций.
проект из себя представляет ядро для майнкрафт бедрока (насколько помню, версии v26.10, если нестабильная генерация мира - попробуйте v26.20)
написано тупо для себя, и залито тупо для себя в портфолио: но контрибьюторы приветствуются, если кто-то горит желанием развивать проект дальше.
за щиткод извиняюсь, за ии код тоже. я обучался написанию кода на любимом Rust, но в высокотехнологичном стеке приходилось использовать ии (дабы в местах снижать нагрузку (но их куча, и они остались), ии советовал более улучшенные крейты для оптимизации, и при выгорании сам писал код, и отслеживался мною)
из сложных вещей… реализована кривая система команд (тупо для теста, так же не для прода) + нужный пакет для команд (command request, available commands). реализован протокол на макросах (удобен в расширяемости). добавлено серверное сохранение мира + его сериализация в чанки (world/chunk.rs, кто хочет, тот посмотрит). комментарии особо для себя не оставлял, так как горел желанием и просто ради себя писал проект, но были мысли превратить его во что-то масштабное.
из прелестных механик можно еще заметить разделение на многопоточность: сетевой & чанк слои (воркеры), и сам основной тик поток.
так же, реализована “щиткод” система плагинов, которая ВООБЩЕ не готова. используется для апи oxc транспилер + quickjs в качестве движка (можно писать как и на джаваскрипте, так и на тайпскрипте для любителей типизации). добавлены рантаймы и лоадеры, так что ооп и импорты файлов на удивление пашут.
по тестам не помню, вроде 20 тпс (с погрешностью) при 300 ботах (+спам пакетами и командами) и ~30мб оперативы используемой (/status для проверки), но нет смысла ее измерять пока так сыро. поэтому.. да.
ВАЖНО: ЯДРО НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ ДЛЯ ПРОДА. оно написано для ознакомительных целей, и для возможности набрать контрибьюторов, так как полноценная база готов. возможно, я замотивируюсь продолжением. да, зайти можно, ядро уже предоставляет полную цепочку логин секвенса и генерацию плоского мира (+ горе транспорт пакетов между игроками), однако его для прода использовать ВСЕ РАВНО КАТЕГОРИЧЕСКИ не рекомендуется. повторюсь про ии код, поэтому… да, все таки, нужно в местах переписывать многое.
и многоходовочка – марсель сдохни, у меня мобила в участке, спасибо, я теперь без тг. надо было тебе сватать меня?