Аналог paper(свое ядро) | Ответ дан

Здравствуйте! Я когда создавал сервер Minecraft впервые столкнулся с ядрами(paper,spigot....).
И вот я недавно задумался как создать свое ядро похожее по функционалу на эти?
Так вот, я вообще в этом не шарю(как работают моды,плагины,ядра и в целом Майнкрафт. Я только настраивал плагины) и хотел спросить.
Как создать свое ядро для серверов minecraft(аналог популярных paper и spigot) чтобы имело похожие функции?
Насколько это вообще сложно?(имею опыт в программировании на других языках и подумываю учить java)
Что для этого надо знать и где об этом можно найти?(гуглил минут 10, НИЧЕГО про ядра не нашел)
С чего начать?
За Любой ответ благодарен!(Спасибо)
 
417
41
105
Что для этого надо знать и где об этом можно найти?
1) Близкие к полному знания java/kotlin (Любой учебник на свой вкус) (другие jvm языки не в счет, тк не соотв. требуемому уровню производительности)
2) Знать как работает сам Minecraft (тупо читать десятки тысяч строк плохочитаемого, недокументированного кода, который выплюнул MCP и изучать как оно работает)
3) Стаж разработки на java от 3-х лет (Код человека, который не ,,нюхал порох,, - будет куда хуже того, который есть сейчас, так что твои патчи для ядра, будут делать только хуже)

4) А собственно зачем? Критически важные изменения в логику работы майна можно сделать не прибегая к переписыванию непосредственно самого ядра, включая ,,эксклюзивное API,, или патчи производительности (знал бы, если бы дошел до 3-го пункта)
 
will0376

Можно повежливей пожалуйста.
Ответьте по всем пунктам, мне не интересно ваше мнение когда мне надо пользоваться данным форумом.
Если вам будет легче, считайте я знаю java.
 
1) Близкие к полному знания java/kotlin (Любой учебник на свой вкус) (другие jvm языки не в счет, тк не соотв. требуемому уровню производительности)
2) Знать как работает сам Minecraft (тупо читать десятки тысяч строк плохочитаемого, недокументированного кода, который выплюнул MCP и изучать как оно работает)
3) Стаж разработки на java от 3-х лет (Код человека, который не ,,нюхал порох,, - будет куда хуже того, который есть сейчас, так что твои патчи для ядра, будут делать только хуже)

4) А собственно зачем? Критически важные изменения в логику работы майна можно сделать не прибегая к переписыванию непосредственно самого ядра, включая ,,эксклюзивное API,, или патчи производительности (знал бы, если бы дошел до 3-го пункта)
Ок, спасибо. А Где вообще можно прочитать про работу minecraft ? А также допустим я выполнил все пункты, с чего начинать разработку ядра и где об этом узнать? Есть что-то такое определенное? Грубо говоря как видео c# основы за 3часа или Свой сайт за 2 часа?
 

will0376

Токсичная личность
2,072
55
584
Можно повежливей пожалуйста.
Нет нельзя.
мне не интересно ваше мнение когда мне надо пользоваться данным форумом.
Тогда ты зря сюда пришел.
Если вам будет легче, считайте я знаю java.
Если знаешь на уровне "учим за 10 минут" - то точно не знаешь.
 
1,074
72
372
Делать очередное Bukkit-ядро - это гиблое дело. Bukkit ужасный API, значительно отстающий от возможностей Minecraft. У любого такого ядра под капотом тонны говнокода и костылей, обеспечивающие работу франкенштейна.
 
Делать очередное Bukkit-ядро - это гиблое дело. Bukkit ужасный API, значительно отстающий от возможностей Minecraft. У любого такого ядра под капотом тонны говнокода и костылей, обеспечивающие работу франкенштейна.
А если paper? С чего вообще начать?
 

will0376

Токсичная личность
2,072
55
584
Хочешь помочь - пиши что-то нормальное.
Нефиг делать - молчи тогда.
Хочешь адекватного ответа - задавай нормальные вопросы. "Как создать что-то то-то" - тут не катируются и создатели таких тем быстро отсылаются в гугл, ибо нефиг
И вообще, вот: https://forum.mcmodding.ru/resources/java-dlja-grebannyx-idiotov.231/
 
417
41
105
А Где вообще можно прочитать про работу minecraft
Только в ,,исходном,, коде (тот что выплюнул MCP). Например, чтобы разобраться, как идёт генерация структур, мне пришлось перекопать около 3к строк кода. И пока ,,перекапывал,, - нашел в логике работы дохрена лишних расчетов, включая избыточный перерасчёт света и куча лишних проверок, которые в моем случае давали 1 и тот же результат. + Использовано слишком много переменных, + создание временных объектов для упрощения математики и куча другого (с моей точки зрения - гавнокода, который я переписал для себя).

А если paper? С чего вообще начать?
С перечитывания уже готового кода. (Включая патчи).
 
Сверху