GreenServer

Материал из GreenCubes Wiki
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.
Устаревшая страница
Текст этой статьи безнадёжно устарел.
Страницу следует обновить либо отправить в архив.


GreenServer — программное обеспечение на котором работает сервер GreenCubes Main. GreenServer — это реализация сервера Minecraft, написанная с нуля администрацией GreenCubes.

Принципиальные отличия

GreenServer имеет два принципиальных отличия от оригинального сервера Minecraft и от сервера на Bukkit:

  • Собственный исходный код — Администрация GreenCubes всегда знает как работает сервер и как добиться нужного результата. Это позволяет легко исправлять ошибки и вводить новые функции.
  • Многопоточная архитектура — в отличие от оригинального сервера, где 99% процессов происходит в одном потоке, GreenServer параллельно обрабатывает огромное количество задач, что позволяет выйти за лимиты одного ядра процессора (один поток может использовать только одно ядро CPU) и полностью использовать все ресурсы системы. Именно эта особенность позволяет серверу выдерживать огромное количество игроков без лагов и препятствует возможности совершения деструктивных действий на сервере игроками (DDoS).

Это не все отличия от оригинала, конечно. Но это именно то, что позволяет GreenCubes развиваться и расширяться.

Отсутствующие функции

В данном разделе представлен список функций, которые есть в Minecraft 1.0, подтверждены Администрацией как функции, которые будут реализованы, но в GreenServer они не реализованы или реализованы с ошибками, багами или другими недоработками. Здесь не представлены функции из Minecraft 1.0, которые не подтверждены Администрацией для реализации на GreenCubes, а так же функции из Minecraft версии более 1.0, по скольку из новых версий будут заимствоваться только те функции, которые Администрация сочтёт нужными или интересными и впысывающимися в концепцию GreenCubes.

  • Плохая реализация мобов
  • Отсутствие враждебных мобов
  • Отсутствие зелий
  • Неточная реализация редстоуна и поршней
  • Мобы не сохраняются и всегда спавнятся заново
  • Отсутствие рыбалки
  • Плохая реализация лодок
  • Плохая синхронизация предметов на земле с клиентом
  • Баги, когда предметы плывут по воде
  • Отсутствие проигрывателя пластинок
  • Плохая синхронизация клиентского времени ломания блоков с серверным
  • Отсутствие блока мечом
  • <s> Отсутствие кувшинок</s>

Следующие функции есть в Minecraft 1.0, но не подтверждены для реализации на GreenCubes:

  • TNT
  • Зачарование
  • Nether (Ад)
  • The End (Край)
  • Карта в виде предмета в игре
  • Сон в кровати

История разработки

GreenServer начали разрабатывать в марте 2011 года, когда Bukkit, на котором тогда работал GreenCubes Main стал не справляться с нагрузкой и нарастающим количеством игроков. В мае и июне были проведены первые бета-тесты нового сервера, а 27 июня 2011 года сервер Main полностью перешел на GreenServer, который тогда был полон багов и имел очень ограниченный функционал по сравнению с оригинальным сервером и серверами Bukkit. За два дня после перехода было выпущено 5 обновлений сервера до версии Alpha 6, после чего, 30 июня, вышло обновление Beta 1, ознаменовавшее начало относительно стабильной работы сервера без откатов.

Не всё было радужно, разработку сервера сопровождали множественные трудности, из-за чего получилось колоссальное отставание в планах Администрации по развитию GreenCubes. Всю осень 2011 года сервер был нестабилен и очень много времени было потрачено на его стабилизацию и исправление багов. Теперь GreenServer может работать больше двух недель без перезагрузки (больше не пробовали из-за постоянных обновлений), что очень сложно для оригинального сервера Minecraft.

В сентябре 2011 года была введена система голода, которая сейчас является неотменной частью жизни на GreenCubes. К сожалению, Администрация не успела ввести систему голода до того, как её ввели Mojang в оригинале, из-за чего были проблемы с принятием её игроками. После многих изменений и смягчений, система прижилась и сейчас очень важна. В дальнейшем система голода была расширена новыми продуктами и дебафами за низкий уровень сытости. Система голода будет дорабатываться и совершенствоваться в дальнейшем.

В конце ноября 2011 года были выпущены книги. Это стало первой крупной модификацией клиента и первой действительной крупной уникальной вещью, сделанной на GreenCubes. Вопреки расхожему мнению, книги не были скопированы их оригинального Minecraft или из какого-либо мода. В оригинале книги появились только через пол года после GreenCubes, а качественных модов на книги к тому времени не существовало. Книги стали одной из важных частей жизни GreenCubes — развивается книгопечатание и книгоиздательство, создаются большие библиотеки, выпускаются газеты, а связанные книги используются в качестве различных РП-элементов.

В начале декабря 2011 года на клиент GreenCubes была сделана ещё одна крупная модификация — расширение максимального количества возможных блоков до 4095, вместо старых 255. В оригинале эта модификация появилась гораздо позже с вводом формата Anvil. Вместе с этим изменением был добавлен белый камень — блок, который очень сильно изменил архитектуру GreenCubes, и вариации которого до сих пор популярны. После этого на GreenCubes появилось огромное множество новых блоков, что было бы невозможно без расширения ID, в том числе большое количество полублоков, которые в очередной раз изменили архитектуру GreenCubes, произведя новую революцию — мало кто теперь строит, не используя полублоки.

К Новому 2012 году на GreenServer были добавлены подарки — первый предмет, который может содержать в себе предмет не только как блок-контейнер, но и как предмет в инвентаре. С технической точки зрения, это было очень важное нововведение.

В начале января 2012 года GreenServer перешел на новый сетевой движок — Netty, что позволило снизить нагрузку на сервер.<ref>Статья Реначки про Netty на Habrahabr.ru</ref>

В начале марта была завершена работа над большой системой метро. Метро было на GreenCubes Main задолго до перехода на GreenServer, но GreenServer не реализовывал функций плагина Minecart Mania, на котором раньше работало метро, поэтому после перехода на GreenServer метро фактически умерло. Однако после завершения работ метро воскресло и стало значительно лучше, потому что плагин метро разрабатывался совместно с Метростроем, учитывая их прошлый опыт, и был сделан в первую очередь для игроков. Новая система позволяет не задумываясь отправится в нужное место на сервере, не следя за своим маршрутом. В настоящее время (14 октября 2012) на сервере более 370 станций метро, 640 контроллер-блоков, между которыми при старте сервера прокладывается более 48 тысяч маршрутов. В настоящее время трудно представить себе GreenCubes без метро.

В конце марта на GreenCubes очень сильно обновился чат. Вместо ранее использовавшегося Improved Chat была сделана собственная модификация клиента с более продвинутым GUI со вкладками и настройками чата. Основным отличием реализации является поддержка каналов чата на уровне протокола обмена между клиентом и сервером, а так же шрифт с анти-алиасингом (сглаживанием), который невозможен в оригинале даже при установке текстур-пака, и поддержка всех цветов для сообщений в чате, благодаря чему появились новые цвета ников и разнообразие цветов в сообщениях сервера. Чат всегда являлся важной частью социальной жизни на сервере Main.

Сразу же после чата вышло обновление Color Update. В данном обновлении были добавлены цветные блоки — цветные вариации белого камня и белого каменного кирпича, а так же все виды полублоков из них и 6 цветов брони. Всего было добавлено 177 новых блоков. Несомненно, цветные блоки так же стали важной частью архитектуры GreenCubes.

В начале июня на GreenCubes начали свою работу Организации. И хотя они ещё далеки от завершения, они будут очень важной социальной частью GreenCubes, а так же призваны упростить и организовать управление большими группами людей и большим количеством городов и других территорий.

В начале июля 2012 было выпущено обновление Biome Update, которое восстановило карту биомов, которая была утеряна после одной из версий Minecraft, в связи с тем, что биомы на клиенте и сервере не синхронизировались и просчитывались независимо друг от друга, а мир GreenCubes существовал очень давно, после его создания алгоритм расчета биомов был изменен не один раз. Проблема была решена изменением протокола и отправкой биомов с сервера, что позволяет так же силами Администрации менять биомы в нужной точке карты, хотя и не применяется на практике. Так же это позволило соединить две разные текстурные карты при расширении мира.

В конце лета перед самым расширением было выпущено обновление с большим количеством новых деревьев, почти все из которых (кроме Дерева джунглей) были разработаны Администрацией, а так же с шиповником и лианой. И хотя обновление было встречено большим количеством критики (большинство игроков критиковало слишком простую форму деревьев), его было необходимо выпустить перед расширением мира. Вероятно, новые деревья будут в будущем дорабатываться.

После этого Администрация сконцентрировалась на том, чтобы дать новичкам возможность хорошо вливаться в мир GreenCubes. Для этого было проведено расширение мира, а в настоящий момент строятся города для новичков у спавна и разрабатывается система квестов. Эта задача является основной для Администрации, поэтому разработка других функций отложена на задний план. Однако, это не значит, что все изменения на GreenServer направлены только на это, иногда выходят и другие обновления. Однако темп разработки новых функций значительно замедлился.

В частности, в начале октября было выпущено обновление Bow Update, исправившее работу луков, добавившее Вишнёвый Лук и новые стрелы, включая Взрывающиеся стрелы. После этого было выпущено ещё несколько обновлений на PvP.

Примечания

<references/>