26 марта 2012 в 18:51

Исследование платформ для сервера minecraft. Создание собственного сервера Minecraft из песочницы

Содержание


1. Содержание
2. Цели и задачи
3. Выбор платформы для сервера
4. Описание проекта
5. Выводы и перспективы
6. Инструкция для пользователей
7. Список литературы

Цели и задачи


Цель
Создать популярный игровой сервер для игровой программы minecraft.
Выбрать более удобную и функциональную платформу для игрового сервера.
Дополнить сервер уникальными функциями.

Задачи
1. Определиться с платформой.
2. Придумать «изюминку» для сервера.
3. Изучить язык программирования java.
4. Изучить синтаксис конфигурационных файлов.
5. Изучить способы хранения информации на сервере.
6. Подобрать плагины сторонних разработчиков.
7. Настроить плагины.
8. Создать сайт для сервера.
9. Реализовать дополнительные возможности, с помощью создания собственных плагинов и модов.

Выбор платформы для сервера


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

Я, решив создать сервер популярной игры minecraft, разработанной компанией Mojang, которая является лидером игровой индустрии в среде инди-игр, первым делом поставил перед собой цель «Выбрать более удобную и функциональную платформу для игрового сервера».

Приступая к решению данной проблемы, я детально изучил большинство направлений и примеров серверных программ. Предпочтение было отдано сильнейшим: «Spout», «Bukkit» и «Vanilla»(сервер от официальных разработчиков).

Каждое из направлений имеет свои плюсы и минусы. Начнём с разбора каждого направления в отдельности.
«Vanilla» это сервер от официальных разработчиков игры. Он поддерживает всевозможные моды, которые пользователи могут устанавливать себе в одиночную игру. Тем самым администратор может выбрать набор уникальных модов, вплоть до того, что изменит игру до неузнаваемости. Так же если есть моды, то они так же должны быть установлены и в клиент к игрокам, для этой цели нужен собственный лаунчер или установочный файл, это можно считать, как плюсом так и минусом. Т.К. Многие игроки просто не захотят скачивать что-либо ещё, чтобы поиграть на вашем сервере, с другой стороны это позволяет контролировать наличие «читов» у игроков. Структура файлов сервера, процедуры и функции идентичны клиенту, что позволяет легко добавлять или изменять его. У данного сервера существует ряд значительных недостатков:

1. Чтобы сделать сервер пригодным для игры нужно его сильно дополнить модами.
2. Minecraft server не может работать с большим количеством игроков, сначала сервер забирает достаточно мало памяти, но с каждым игроков количество нужной для работы памяти растёт примерно на 50Мб. Таким образом не позволяя серверу нормально работать уже с 50ю игроками.

image

Преимущества

1. Имеет привлекательную и удобную консоль, для управления.
2. Поставить мод на такой сервер гораздо проще, чем на остальные.
3. Используется, как основа для всех серверов, bukkit и spout его изменили под свои нужды и внесли свои доработки.
4. Есть множество справочной литературы по настройке minecraft server и написании модов для него, как в англоязычном варианте, так и в русскоязычном.

«Bukkit» это сервер от группы энтузиастов, захотевших сделать сервера minecraft лучше. Он позволяет подключать плагины и моды, но подключить к нему моды достаточно сложно, нужно сначала портировать их на minecraft server, а потом уже пытаться портировать на bukkit. Если ставить моды так же как и при работе с minecraft server нужно разрабатывать свой лаунчер. А плагины наоборот, работают на стороне сервера и не требуют модификаций клиента. Плагинов сейчас всё больше и больше, это позволяет сделать сервер уникальным, просто установив разные плагины и настроив их. Установить небольшие плагины это не сложно, и именно по этому в интернете сейчас огромное множество серверов. Файлы сервера разбиты по папкам и с ними удобно работать если нужно что-то поменять. Но функции и процедуры сильно отличаются от клиента и от minecraft server, что сильно затрудняет программирование.

Недостатки
1. При запуске сразу забирает много оперативной памяти.
2. Чем дольше сервер работает, тем больше ему нужно оперативной памяти, даже если будет мало игроков.
3. Сложно добавлять моды
4. При переходе minecraft на новую версию, медленно обновляют свою оболочку.

Преимущества

1. При входе игрока на сервер, для него выделяется не так много оперативной памяти как при работе с minecraft server, примерно 5-10Мб на человека.
2. Достаточно удобно использовать плагины в сочетании с модами.
3. Плагины очень хороши, позволяют изменить незначительную вещь, но при этом сильно упрощают, какие-либо игровые моменты.

«Spout» это сервер более схож с bukkit, чем с minecraft server. Так же есть специальный клиент и лаунчер для серверов данного типа. В клиент добавлены новые функции, такие как:

1. Возможность назначать клавишам действие.
2. Список серверов (только по серверам spout).
3. Улучшенные настройки графики, детальная настройка всех параметров.

Так же в клиент добавлен набор уникальных библиотек, позволяющих скачивать нужные обновления при входе на конкретный сервер.

Для серверов spout так же как и для bukkit разрабатываются плагины. Преимущество этих плагинов заключается в том, что они наделены gui(действие с плагином происходят при помощи мыши, всё красиво оформлено в игровом окне), то есть это уже визуальные плагины, а не консольные.
imageimage
Недостатки
1. Не поддерживает Modloader, а без него не будут работать любые моды, написанные для других платформ. Чтобы поставить мод на spout, нужно сильно потрудиться и описать огромное количество событий, параметров и процедур.
2. На сервер можно войти только через spout клиент (официальный лаунчер spout) или специально созданный серверный клиент на основе spout.
3. Не поддерживает плагины для bukkit, что вынуждает программировать собственные.
4. Нет русскоязычных описаний.

Преимущества

1. Наглядное управление плагинами
2. Так же, как и у bukkit достаточно низкое потребление оперативной памяти.
3. Собственный лаунчер и функциональный клиент

Vanilla Bukkit Spout
Для игры обязательно требуется специальный лаунчер Официальный лаунчер Официальный лаунчер Требуется лаунчер spout
Возможность добавить моды на сервер Достаточно просто портировать клиентские моды Требуется перепрограммировать моды от minecraft server Только написание модов с нуля используя свои библиотеки процедур и функций
Занимаемая оперативная память при использовании стандартной сборки, без игроков ~150Mb ~1Gb ~1Gb
Память, выделяемая на каждого нового игрока ~50Mb ~10-15Mb ~10-20Mb
Сервер работает с плагинами Нет Индивидуальные плагины. Иметься огромное количество плагинов для данного вида серверов, они постоянно обновляются и дополняются. Работа с плагинами происходит через чат/консоль Индивидуальные плагины. Взаимодействие наглядное с использованием кнопок, картинок, текстовых полей.
Изменений клиент Если этого требует сервер (установлены какие-либо моды) Если этого требует сервер (установлены какие-либо моды) Обязательно индивидуальный клиент сервера.
Есть справочный материал Есть, в огромном количестве, как ан английском, так и на русском языках Иметься огромное количество материалов, но большинство из них на английском языке. Все материалы исключительно англоязычные.
Администрирование консоли Наглядная консоль со списком игроков, графиком выделяемой памяти. Обычная консоль от операционной системы. Обычная консоль от операционной системы.
Обновление версий При релизе новой версии minecraft После релиза новой версии minecraft выходят версии с ошибками, но их можно использовать, обычно «рекомендованная» разработчиками версия выходит спустя 1-3 недели после релиза новой версии minecraft Новая версия выходит спустя 0.5-2 недели после релиза новой версии minecraft.


Для создания популярного, функционального minecraft сервера на платформе «Vanilla» потребуются портировать моды или взять уже портированные, провести настройку, создать сайт, провести рекламную компанию, создать лаунчер. Для выполнения всех этих задач нужно не очень много времени от недели до двух недель работы над сервером.

При этом для создания сервера на bukkit без использования модов, учитывая создание сайта и настройку плагинов, потребуется в худшем случае одна неделя.
Но если потребуется добавить свои модификации, плагины то придаться разработать ещё и лаунчер, и тогда разработка сервера может занять от 3х недель до полутра месяцев. Но учитывая все затраченные усилия получиться замечательный индивидуальный сервер, на котором будет играть множество увлечённых игроков, которых оттуда и «палкой не прогонишь».

Создание сервера spout с добавлением своих модификаций, настройкой плагинов, созданием собственных и прочими работами, займёт наибольшее время, т.к. материалов для разработки достаточно мало и в основном всё придётся исследовать самому. А так же предстоит достаточно множество запрограммировать самостоятельно, потому что нет совместимости с библиотеками для остальных платформ.

Самый оптимальный вариант для начинающего сервера это bukkit он достаточно прост в освоении, имеет открытый код, но в отношении модов с ним придётся повозиться, т.к. литература данного вида отсутствует, и информацию можно «черпать» только с форумов, где добрые люди делаться своими наработками.
Я, как начинающий администратор сервера выбрал именно bukkit, но в дальнейшем планирую перевести свой сервер на высший уровень и продолжать разработку уже на платформе spout.

Описание проекта



Игра minecraft существует уже больше года, но до 18 ноября 2011 года, она находилась в beta версии. Игра представляет собой кубический мир, который можно строить самому, размещать и ломать блоки. Летом я сам начал играть в эту игру и купил лицензию, но вскоре решил создать свой сервер.

Изначально все серверы одинаковы и почти ничем не различаются

• У всех серверов одинаковый функционал.
• Пользователи делятся только на администраторов и игроков.
• У игроков одинаковые возможности.

Различия

• Сервера различаются игровым пространством (картой).
• Отношением администраторов к игрокам и к серверу.
• Мощностью оборудования, на котором расположен сервер.

Каждый администратор желает сделать свой сервер уникальным, в этом могут помочь плагины и моды.
Именно по этому я и взялся изменять и дорабатывать код игры, чтобы улучшить её и сделать мой сервер уникальным.

Определим понятия. За сервер будем брать программу, предоставляющую возможность игрокам взаимодействовать в игре друг с другом по Интернет.

Плагины – это дополнения для основного стандартного сервера, добавляющие новые возможности или улучшающие старые. Плагины устанавливаются только на сервер, на клиент их ставить не нужно.

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

Моды же напротив, должны быть установлены и на сервер и на клиент. Моды так же добавляют новые возможности, но чаще связаны с игровым миром: добавляют новые блоки, предметы, возможности.
Так же мы реализовали взаимосвязь сервера и сайта.

За время существования моего сервера сменилось множество версий игры, в связи с этим пришлось множество раз обновлять сервер и плагины на нём. Плагины нужно настраивать, у плагинов есть параметры, влияющие на их работу, настроить эти параметры можно в специальном файле конфигурации для каждого конкретного плагина.

Игра minecraft создана и разрабатывается посредством языка программирования java, поэтому для её редактирования и создания своих дополнений я самостоятельно по учебникам в интернет изучил язык java, научился создавать моды и плагины и сейчас активно дополняю и изменяю игру.

Итак, на сегодняшний день я, вместе с коллегами создал игровой сервер minecraft, сайт для сервера, лаунчер, настроил плагины, разработал собственные плагины и моды.

В своих разработках я стремился как можно лучше «сплести» сервер и сайт. Количество нарушений указывается параметром – проценты на сайте, что очень наглядно и удобно. Во время процедуры входа, лаунчер отправляет запрос к сайту, который в свою очередь подтверждает или запрещает вход для данного пользователя. Так же лаунчер проверяет клиент и сравнивает его с образцом на сайте, если они различны, то скачивает новый.

Мы набрали замечательную команду администраторов и модераторов для своего сервера. Они решают внутри игровые проблемы и помогают игрокам в каких-либо ситуациях, поддерживают нормальную атмосферу в игре, следят за тем, чтобы игроки не нарушали установленные правила.

Я тоже выполняю функции администратора. А так же постоянно добавляю новости на сайт, чтобы игроки всегда были в курсе событий.

Мы создали систему связывающую сайт и сервер: блокировка входа игрока в игру реализована количеством нарушений, отображаемых процентами. Допустим, если у вас больше 10% нарушений, то вы не можете войти в игру, при этом в сутки процент у каждого игрока снижается на 2%. Количество процентов пользователи могут посмотреть на сайте, они заносятся в базу данных при помощи плагина, прямо в игре.

Если администратор напишет определённую команду, то плагин считает параметры и отправит их скрипту на сайте, который уже занесёт их в базу данных.

Так же, при входе игрока на сервер вызывается скрипт проверки игрока, и если игрок имеет % нарушений, то не пускает его.

Я разработал launcher для своего сервера. Лаунчер — это программа, скачивающая и запускающая саму игру. На мой сервер можно войти только через мой лаунчер и клиент. При этом в лаунчере встроено авто обновление и авто вход на сервер. Если я загружу новую версию игры на сайт, то лаунчер автоматически скачает её после авторизации пользователя.

Возможности лаунчера
a. настройка выделяемой оперативной памяти клиенту;
b. включение/отключение обновления;
c. выбор игры: — на сервере, — в одиночную игру;
d. вход в лаунчер происходит через скрипты на сайте, и только по логину и паролю с сайта;
e. обновление клиента при запуске происходит с моего сайта, и происходит загрузка всего клиента, вместе со всеми конфигурационными файлами, в отличие от стандартного лаунчера.

Я достаточно сильно поменял саму игру minecraft
• добавил превращения одних блоков в другие, если выполниться определённое условие,
например, гравий, находясь под водой превратиться в известь (блок «известь» добавлен мной);
• добавлен блок «белый кирпичный блок», для его получения необходимо переплавить известь в печи.
Если оставить «белый кирпичный блок» на солнце, то через какое-то время он превратится в «потрескавшийся белый кирпичный блок», а если поместить под воду, то покроется мхом;
• цветы получили свойство распространяться по карте;
• были добавлены новые виды цветов, так же с возможностью размножаться;
• в стандартном minecraft, если использовать удобрение на землю, то вырастает высокая трава и, с некоторой вероятностью, два вида цветов. Я добавил к этой вероятности – вероятность вырастания цветов, сделанных мною.
• Все текстуры блоков были созданы в графических редакторах Paint, Paint.NET, бесплатном online аналоге Photoshop.

Для разработки я использую язык java в среде Eclipse. Для работы игры на компьютере должна быть установлена «Java SE 6 Update 31» Мне очень помогает мой опыт, полученный при написании программ на языке Pascal, я легко ориентируюсь в огромнейшем коде игры и легко изменяю его под мои нужды.

Конфигурационный файл плагина «permissions».
Admins: - название группы
default: false
info:
prefix: '&f[&cAdmin&f]&f ' - название группы отображаемое в игре
suffix: '&f'
build: true – разрешение на строительство
inheritance:
- Moderator - предшествующая группа
permissions:
- commandbook.* - разрешение на использование плагина «commandbook»
- lwc.* разрешение на использование плагина защиты сундуков
- lc.level.* - разрешение на получение уровней
- lc.shout- разрешение на получение уровней
- itembank.use – разрешение на использование банков
- towny.wild.* - разрешение на использование городов
- commandbook.spawn – разрешение на телепортированние к центру карты
….
- lc.admin.setexp
- falsebook.blocks.* - разрешение на использование плагина falsebook
- worldedit.* - разрешение на использование всех команд плагина worldedit
- citizens.healer.use.heal – разрешение на использование бота целителя.
- citizens.wizard.use.interact – разрешение на использование бота кузнеца
- banper.banplayer – разрешение на использование команды, нужной для блокировки игрока


Конфигурационный файл плагина «worldGuard».

fire: различные особенности огня на сервере.
disable-all-fire-spread: true
disable-fire-spread-blocks: []
disable-lava-fire-spread: true
lava-spread-blocks: []
mobs:
block-creeper-explosions: false – защита от взрывов враждебных ботов
block-creeper-block-damage: false
disable-enderman-griefing: true – возможность enderman’a передвигать блоки
block-creature-spawn: []
anti-wolf-dumbness: false


Я разрабатывал моды и плагины на языке java в среде eclipse. Были использованные стандартные библиотеки java 1.6, а так же дополнительные.

Мод представляет собой 52 файла, почти каждый из которых отвечает за свой блок. Использовано множество событий, процедур и функций.

Например, рассмотрим часть одного из пятидесяти двух файлов мода, код которого я написал. И этот код серверной части цветка отвечает за распространение цветка по карте:

public void a(World world, int i, int j, int k, Random random) событие update block, происходит довольно часто, примерно каждые 2-20 секунд. Получает координаты цветка.
{
byte byte0 = 4;
int l = 5;
for(int i1 = i - byte0; i1 <= i + byte0; i1++)
{
for(int k1 = k - byte0; k1 <= k + byte0; k1++) - проверяем блоки вокруг нашего цветка
{
for(int i2 = j - 1; i2 <= j + 1; i2++)
{
if(world.getTypeId(i1, i2, k1) == id && --l <= 0)
{
return;
}
}
}
}
int j1 = (i + random.nextInt(3)) - 1;
int l1 = (j + random.nextInt(2)) - random.nextInt(2);
int j2 = (k + random.nextInt(3)) - 1; - тут мы выбираем случайное расположение нового цветка недалеко от исходного(не дальше 2х блоков).
for(int k2 = 0; k2 < 4; k2++)
{
if(world.isEmpty(j1, l1, j2) && f(world, j1, l1, j2))
{
i = j1;
j = l1;
k = j2;
}
j1 = (i + random.nextInt(3)) - 1;
l1 = (j + random.nextInt(2)) - random.nextInt(2);
j2 = (k + random.nextInt(3)) - 1;
}
if(world.isEmpty(j1, l1, j2) && f(world, j1, l1, j2) && random.nextInt(8) == 0) - проверяем параметры необходимые для размещения данного цветка.
{
world.setTypeId(j1, l1, j2, mod_decor.fltul.id); - устанавливаем цветок по новым координатам
}


Особенно сложно было перевести мод именно на сервер, потом что на сервере названия процедур, функций и событий кардинально отличаются от клиентских.

Выводы и перспективы


Я добился своих целей. Я провёл исследование, выбрал наиболее подходяще для моих целей и средств платформу. Создал игровой сервер, настроил плагины, связал сервер с сайтом, написал уникальный лаунчер для игры на моём сервере, добавил новые возможности, блоки и предметы в игру, доступные только на моём сервере. Разработал удобный для пользователей веб -сайт. Сейчас на сайте зарегистрировано 267 пользователя из них активны 194, количество пользователей быстро растёт поэтому эти числа могут быть не точными.

Перспективы
Я собираюсь развивать свой сервер. Сайт будет намного больше сплетён с сервером, чем сейчас, разрабатывается система бонусов. Идёт активное написание нового серверного движка:
• новая система подключения плагинов;
• новые библиотеки(Netty), отличные от стандартных (что повысит работоспособность на 40%);
• новые игровые возможности.

Инструкция для пользователей


1. Запустить лаучер
2. Ввести логин: testtest и пароль: testtest
image
3. Поставить галочку около «Офлайн»
4. Настройки
4.1. Менять в завиимости от памяти на ПК 1024 стандарт для 2Gb памяти
4.2. Авто вход на сервер – если вы не хотите посещать сам сервер и хотите протестировать только моды, то выставите в этом параметре «НЕТ»
image
5. Нажать вход
image
6. После загрузки войти в пункт «одиночная игра»
7. Выбрать уже созданный мир
image


Список литературы


[Электронный ресурс] // [Сайт сервера] time-work-mc.ru
[Электронный ресурс] // [Форум] bukkit.org
[Электронный ресурс] // [Форум] rubukkit.org
[Электронный ресурс] // [WIKI] ru.minecraftwiki.net/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0
[Электронный ресурс] // [WIKI] ru.wikibooks.org/wiki/Java
[Электронный ресурс] // [Форум] minecraft.su/forum/topic/742-modloadermodding-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-minecraft-allguide/
[Электронный ресурс] // [Форум] www.minecraftforum.net/
[Электронный ресурс] // [Форум] www.mcportcentral.co.za/index.php?board=3.0
[Электронный ресурс] // [Электронный учебник] articles.org.ru/docum/java/index.php
Арнольд К., Гослинг Дж. Язык программирования Java; progbook.net/java/2013-jazyk-programmirovanija-java.html;1997, 304 стр.
[Электронный ресурс] // [Учебник Java] books.net-soft.ru/java.htm

Если заинтересовали разработки, можете обращаться в личку или skype (xkelxmc) за исходными кодами или самими модами/плагинами.
+10
15611
72
xkelx 2,5

Комментарии (49)

НЛО прилетело и опубликовало эту надпись здесь
+5
1inuxoid, #
черт, я сам не знаю, как до конца доскролил (не в обиду автору) :/
–7
Xlab, #
Омск же
0
xkelx, #
эм… О людях уже судят по городам?
+2
Xlab, #
Не принимайте этот коммент близко, я внизу написал конструктивный по статье.
+4
xkelx, #
смотря на "–1" я понимаю что именно по городам о людях судят! Ну что ж, печально это видеть.
+3
webkumo, #
м.б. лучше в «я пиарюсь»?

ps «Игра minecraft это игра с открытым кодом, потому что написана на языке программирования JAVA.» — забираю в цитаты… %_%
на досуге почитайте, что есть JAVA. И почему она никак не может быть связана с open source иначе, чем авторами.
0
xkelx, #
я уже понял ошибку) просто забыл пофиксить в посте…
0
xkelx, #
пофиксил
0
Fedcomp, #
Запихнули все в одну статью, пропиарили себя. Качество поста оставляет желать лучшего (говорю как человек собирающий сервера minecraft)
0
xkelx, #
как бы, пиарить не хотел честно. Просто хотел поделиться достижениями. Ну если кого заинтересует, мог бы поделиться исходными кодами и так далее.
0
Fedcomp, #
пост получился слишком большой, читать сложно, все что я собственно хотел сказать.
0
xkelx, #
пост изначально не для хабра был, поэтому чуток длинноват.
+5
Abdus, #
Парню, кстати, 16 лет. Надо делать скидку на возраст. Автор, конкретно ты — молодец. А пост не очень =(
+1
xkelx, #
это мой первый пост, буду стараться лучше. Следующий будет про исследование языков и сред для начинающих программистов. (Я не не начинающий уже — 7 лет учу информатику на курсах, 4-5 лет программирование)
0
LeopoldStoch, #
I see what you did there
+9
xkelx, #
И мне не 16, а 15 ^_^
0
Xlab, #
Хороший обзор, но со стилем повествования нужно что-то сделать. Выглядит так, будту скопировани из пояснительной записки на НТТМ или подобные. Слишком.
0
Xlab, #
*будто скопирован
+1
xkelx, #
Спасибо за подсказку — поработаю над «стилем повествования».
А по сути, работа изначально готовилась для научной конференции(детского конкурса).
Если бы писал для хабра — было бы с печеньками и няшами
0
icc, #
Да, по стилю изложения топик похож на реферат или курсовую. А так, для начала неплохо получилось.
0
bfDeveloper, #
Ожидал увидеть нечто другое, зайдя под кат. Что то типа вот этого. Это с ноля написанный на C++ сервер майнкрафта.
0
Fedcomp, #
вот только они нигде не указывают текущую поддерживаемую версию minecraft, а то либо клиент слишком старый, либо слишком новый.
0
bfDeveloper, #
Возможно я очень внимательно наблюдаю за этим проектом, но даже при ознакомлении я быстро разобрался какой нужен клиент. Сейчас поддерживается 1.2.4. Обычно поддержка последней версии появляется через пару дней после выхода. Исключением была версия 1.2.0, кода очень существенно поменялся протокол и сама игра. Поддержка Anvil (новый формат мира) пилится до сих пор. Но все эти недостатки незначительны на фоне невероятной скорости работы.
0
Duha666, #
Если не секрет, то каков прирост производительности?
+1
bfDeveloper, #
К сожалению тестов я не проводил. Для меня главным тестом было то, что mc-server спокойно работал на моём нетбуке с Атомом на борту с где-то 5-ю подключенными клиентами. Оригинальный сервак даже одного клиента не вытягивает на таком железе. С тех пор в mc-servere многое изменилось и он стал ещё быстрее. С буккитом к сожалению не сравнивал.
Сейчас есть люди, которые собирают mc-server для RaspberryPi. Надеятся получить играбельный сервер.
0
webkumo, #
Ну так это скорее вопрос к кривости рук писателей java-сервера ;)
На Java вполне можно получать сопоставимую с c++ скорость и не сильно большую прожорливость до памяти…
0
sev, #
Так вполне себе известный факт неоптимальность кода оригинального сервера.
0
xkelx, #
Простите что не оправдал ваши ожидания… НО я не намерен останавливаться на достигнутом!
0
Woodroof, #
Полностью солидарен. Заголовок оказался интереснее самой статьи, не в обиду автору.
0
xkelx, #
5 раз перечитав название своей статьи, понял его двусмысленность, но пока не придумал как исправить.
–1
xkelx, #
Ушёл публиковать исследование языков и сред для начинающих программистов.
0
Woodroof, #
Впрочем, в 16 лет это вполне себе достижение. Рекомендую начать изучать C++, если есть интерес в написании разных-всяких серверов :)
0
xkelx, #
Спасибо конечно за совет, но я уже начинал изучать и в свободное время продолжаю изучение.
Ну и опять упомяну что мне не 16 а 15 ^_^
0
Woodroof, #
Я уже посчитал, но почти же, почти :)
0
Pe4enie, #
Автор не понимает смысла слова «парировать»:
Он позволяет подключать плагины и моды, но подключить к нему моды достаточно сложно, нужно сначала парировать их на minecraft server, а потом уже пытаться парировать на bukkit.
0
xkelx, #
сори тупая опечатка(точнее когда правил вордом нажал исправить, а он… щас поправим)
0
xkelx, #
вроде всё
0
ShadowPrince, #
Жаль. Думал тут серьезные люди.
0
wind1r, #
написал уникальный лаунчер для игры на моём сервере, добавил новые возможности, блоки и предметы в игру, доступные только на моём сервере.


Вот ещё один уникальный сервер «со своим лаунчером и игровыми плюшками». Каждый маленький и гордый серверок стремится перековеркать бедную игру на свой лад, и в результате найти нормальный ванильный сервер, без всяких «ролевых маразмов» и с сохранённой механикой — становится нереально.
0
xkelx, #
ничего в корне меняющего игру, добавлено не было. Я добавлял только декоративные блоки.
0
nanotime, #
А то старые блоки были какие-то скучные…
0
Devil_Chrono, #
Извините, что собственно ЭТО делает на Хабре? На форумах, часть которых Вы привели в конце это статьи всё расписано куда более подробно и последовательно чем у Вас.
И ещё, Vanilla потребляет много ОЗУ? Вы вообще про что? Сам держу сервер Minecraft, к слову вместе с хабраюзером ShadowPrince и нам сразу стало ясно — ванила спокойно уживается в 4 гб ОЗУ и уж явно не забьёт собой всю память на 50 игроках.
Статья полностью пропитана пиаром Вашего сервера. Ну что же, пропиарюсь и я в комментариях, хотя не пропиарюсь, смотрите на количество людей зарегистрированных на форуме и количество игроков онлайн (да и вообще на все показатели) — craft-life.ru
0
xkelx, #
Собственно пиара я не хотел и не сделал. Мы не гонимся за 100500 народу на сервер, а если это потребуется то мы это сделаем иначе. Я же уже писал в коментах, что могу делиться исходными кодами и самими модами/плагинами. По поводу ванилы — а если 50 человек будут бегать не в одном месте а разбегуться в разные стороны по всей карте, к примеру на расстояние 5000 блоков от центра?
0
Devil_Chrono, #
Мало когда игроки так разбегаются. На данный момент на моём сервере (bukkit++) стоит ограничение мира с помощью плагина WorldBorder радиусом 3500 блоков, к чему это я… Так вот, до края карты дошло очень мало человек, по радиусу около 2000 блоков уже начинаются неизведанные территории, примерно 10 человек живут дальше этого радиуса, т.е. если бы у нас была ванила, думаю было бы также, а это не вызовет особых проблем. Да и при запуске ванила у нас разово «отъела» всего 800мб.
Также ванилу мы тестировали довольно грубо — очень много динамита.
Офтоп: сайт у вас на разрешении 1920х1080 выглядит как-то пустынно и разбросано (много свободных областей).
0
xkelx, #
я не собираюсь продолжать дискуссию «у кого сервер круче», а по поводу сайта — мы не делали ещё оформление, сугубо программирование.
0
wind1r, #
Помнится вы месяца 4 назад жутко лагали и закрываться собирались? Как сейчас со стабильностью?
0
Devil_Chrono, #
Да, было такое… Сейчас со стабильностью после долгих месяцев мучений всё в порядке. Лагов ноль.
0
CAHTEXHuK, #
Расскажите кто-нибудь про возможность предзаказа LEGO Minecraft.

Только зарегистрированные пользователи могут оставлять комментарии.
Войдите, пожалуйста.