Feyola » 28 янв 2012, 19:15
В этом посте я объясню, почему главный сервер GreenCubes Main Beta не будет обновляться на новые версии Minecraft.
Что такое новая версия Minecraft? Это старая версия, в которую внесены некоторые изменения с целью добавить в неё новые функции, новый контент. Кроме того, эта новая версия , что усложняет модификацию.
То есть новая версия — это модифицированная версия старой, а новая версия является таким же модом, как и другие моды, отличие лишь в том, что эти изменения приходят как обновление, а не как установка мода.
Вокруг обновлений майкрафта всегда ходила радостная суета, и когда выходит новый апдейт все сервера начинают наперегонки обновляться, а игроки радостно зазывать на обновившиеся сервера и называть новую версию как очевидное преимущество. Это вызвано тем, что новая версия дает новый контент и новые функции, с которыми можно поиграть и которые еще не стали обычными, как все остальные. В таких условиях нужно обновляться, и наши сервера не на GreenServer — сервера именно игры Minecraft режима Survival MultiPlayer — SMP конечно же будут обновляться, но без спешки.
Теперь посмотрим на GreenCubes Main.
Что касается сервера.
Тут вообще не корректно ставить вопрос об обновлении на новую версию Minecraft — это все-равно что сказать "А когда ваш самолет будет обновляться до поезда? А то там в новом поезде поддержка новых крутых рельс, в вашем самолете будет поддержка этих рельс?", или "Microsoft выпустила новый Windows 1.1! Там улучшенная поддержка Microsoft CoolThing™ и обои с котятами! Ваш линукс будет обновляться до Windows 1.1?". В общем, я думаю каждый мыслящий человек в курсе, что мы написали полностью свой программный продукт и обновлять его до версии другого продукта физически невозможно, мы лишь можем добавить в него поддержку тех же новых функций, написать эти функции на наш сервер. Но у нас своя линия развития, отличная от линия развития Minecraft, и если, к примеру, мы делаем ракетницы и пулеметы, а в майнкрафт добавят средневековые повозки, явно нам эти повозки ни к месту, и мы не будем отвлекаться и тратить на них время. Мы и так уже отстаем от плана примерно на полгода. Получается, мы не будем делать на сервере поддержку новых функций в новых версиях.
Что касается клиента.
Клиенты Minecraft и нашего GC развиваются в разные стороны, как две ветки дерева, идущие из одного ствола. Если на сервере не будет новых функций, то и показывать на клиенте нового не нужно. Таким образом, на клиенте изменятся только полностью клиентские вещи, и конечно же, номер версии в углу. Однако для нас обновление — это гигантский труд.
Процесс обновления называть обновлением нельзя. На самом деле это процесс модификации новой версии полностью заново. Именно так. На момент написания этого поста у нас около 100 модифицированных и еще около 50 своих классов, но измерять в измененных классах не верно. В общем, мы очень въелись в код клиента и перекраиваем его как нам удобнее и лучше. Перенос этого всего на новую версию займет несколько десятков человеко-часов, лучше мы потратим это время на разработку нашего контента и функций. Тут можно привести подобные примеры, как в абзаце про сервер, только наш клиент произошел от 1.0.0 и мы уже сильно отдалились и разошлись в разные стороны с Jeb_-ом и Minecraft.
Как я уже сказала раньше, новая версия — это модифицированная старая. Что мешает нам сделать такие же изменения, такой же мод на старую версию и добавить те функции, которые мы сочтем нужными? Не мешает ничего. Например, я добавила в наш 1.8.1 NetherBrick из 1.9 pre-release.
Итог. Обновляться нам не только не нужно, бессмысленно и не запланировано, но и сложно, затратно, проблемно, долго, неудобно. Мы делаем разные вещи, развиваемся в разные стороны. Это все равно что обновлять Debian до Gentoo (разные ветви Linux).
Если вы хотите написать мне в личку: