MarokoLiberti

[Гайд] Как создать свой сервер

3 сообщения в этой теме

Выбираем платформу

 
В состав игры Minecraft входят следующие архитектурные элементы:
серверпрограмма, с помощью которой игроки взаимодействуют друг с другом по сети;
клиентпрограмма для подключения к серверу, устанавливаемая на компьютере игрока;
плагины дополнения к серверу, добавляющие новые функции или расширяющие старые;
модыдополнения к игровому миру (новые блоки, предметы, возможности).
 
Серверные платформы
 
Vanilla это официальная платформа от разработчиков игры. Распространяется как в графическом, так и в консольном варианте. Новая версия Vanilla всегда выходит одновременно с новой версией Minecraft. 
 
Недостатком Vanilla является чрезмерное потребление памяти (примерно 50 МБ на одного игрока). Еще один существенный недостаток — отсутствие плагинов.
 
Bukkit был создан группой энтузиастов, предпринявших попытку усовершенствовать официальный сервер Minecraft. Попытка оказалась вполне удачной: по функциональности Bukkit намного шире, чем Vanilla — в первую очередь благодаря поддержке разнообразных модов и плагинов. При этом он потребляет меньше памяти на каждого игрока — примерно 5–10 МБ. 
 
Минусы Bukkit заключаются в том, что при запуске он забирает слишком много оперативной памяти. Кроме того, чем дольше сервер работает, тем больше ему требуется памяти (даже если игроков мало). Выбирая в качестве сервера Bukkit, следует учитывать, что его новые версии, как правило, содержат ошибки; стабильная версия обычно появляется примерно через 2-3 недели после выхода официальной версии Minecraft. 
 
Кроме того, в последнее время набирают популярность и другие платформы (например, Spout, MCPC и MCPC+), но они отличаются ограниченной совместимостью с Vanilla и Bukkit и крайне ограниченной поддержкой модов (например, для Spout вообще можно только писать моды c нуля). Если их и использовать — то только для экспериментов. 
 
Для организации игрового сервера мы рекомендуем использовать платформу Bukkit, так как она отличается наибольшей гибкостью; кроме того, под нее существует множество разнообразных модов и плагинов. Стабильная работа сервера Minecraft во многом зависит от грамотного выбора аппаратной платформы. Рассмотрим этот вопрос более подробно.
 
Системные требования
 
И сервер, и клиент Mineсraft очень требовательны к системным ресурсам.
При выборе аппаратной платформы следует учитывать, что многоядерный процессор больших преимуществ не даст: ядро сервера Minecraft может использовать лишь один поток вычисления. Второе ядро, впрочем, будет нелишним: некоторые плагины выполняются в отдельных потоках, да и Java тоже потребляет немало ресурсов… 
 
Поэтому для Minecraft-сервера лучше выбирать процессор, у которого выше производительность одного ядра. Более мощный двух ядерный процессор будет более предпочтительным, чем многоядерный, но менее мощный. На специализированных форумах рекомендуется использоваться процессоры с тактовой частотой не ниже 3ГГц.
 
Для нормального функционирования сервера Minecraft требуется большое количество оперативной памяти. Bukkit занимает примерно 1ГБ оперативной памяти; кроме того, под каждого игрока, как уже было сказано выше, отводится от 5 до 10 МБ. Плагины и моды тоже потребляют довольно много памяти. Для сервера на 30 — 50 игроков, таким образом, потребуется не менее 4 ГБ оперативной памяти. 
В Minecraft очень многое (например, загрузка тех же плагинов) зависит от скорости работы файловой системы. Поэтому предпочтительно выбирать сервер с SSD-диском. Шпиндельные диски вряд ли подойдут по причине низкой скорости случайного чтения. 
Огромное значение имеет и скорость интернет-подключения. Для игры 40-50 человек вполне хватит канала 10 Мб/c. Однако тем, кто планирует более масштабный minecraft-проект, включающий сайт, форум и динамическую карту, крайне желательно иметь канал с большей пропускной способностью. 
Какую конкретную конфигурацию лучше всего выбрать? Из предлагаемых нами конфигураций рекомендуем обратить внимание на следующие: 
Intel Core 2 Duo E8400 3ГГц, 6ГБ RAM, 2×500ГБ SATA, 3000 руб/мес.;
Intel Core 2 Quad Q8300 2.5ГГц, 6ГБ RAM, 2×500ГБ SATA, 3500 руб/мес. 
Intel Core i3-2120 3.3ГГц, 8ГБ RAM, 2×500ГБ SATA, 3500 руб/мес.
Эти конфигурации вполне подойдут для создания серверa Minecraft на 30-40 игроков. Некоторым минусом является отсутствие SSD-дисков, но мы даем другое немаловажное преимущество: гарантированный канал 100 Мб/с без каких-либо ограничений и соотношений. При заказе всех перечисленных выше конфигураций установочный платеж не взимается.
 
Настройка и конфигурирование сервера
 
Настройки сервера хранятся в конфигурационном файле server.properties. Он содержит следующие параметры:
generator-settings — задает шаблон генерации суперплоского мира;
allow-nether — определяет возможность перехода в Нижний мир. По умолчанию для этого параметра установлено значение true. Если установлено значение false, то все игроки из Нижнего мира будут перемещены в обычный;
level-name — имя папки с файлами карты, которая будет использоваться во время игры. Папка размещается в той же директории, где находятся файлы сервера. Если такой директории нет, сервер автоматически создает новый мир и помещает его в директорию с таким же именем;
enable-query — при установленном значении true активирует протокол GameSpy4 для прослушивания сервера;
allow-flight — разрешает полеты по миру Minecraft. По умолчанию имеет значение false (полеты запрещены);
server-port — указывает порт, который будет использоваться сервервом игры. Стандартный порт для Minecraft — 25565. Значение этого параметра изменять не рекомендуется;
level-type — определяет тип мира (DEFAUT/FLAT/LARGEBIOMES);
enable-rcon — открывает удаленный доступ к консоли сервера. По умолчанию он отключен (false);
level-seed — входные данные для генератора уровней. Чтобы иметь возможность создавать случайные миры, это поле нужно оставить пустым;
force-gamemode — уставливает для игроков, подключающихся к серверу, стандартный режим игры;
server-ip — указывает IP-адрес, который будет использоваться игроками для подключения к серверу;
max-build-height — указывает максимальную высоту постройки на сервере. Его значение должно представлять собой число, кратное 16 (64, 96, 256 и т.п.);
spawn-npcs — разрешает (если установлено значение true) или запрещает (если установлено значение false) появление NPС в деревнях;
white-list — включает и отключает использование белого списка игроков на сервере. Если установлено значение true, то администратор сможет формировать белый список, добавляя в него ники игроков вручную. Если же установлено значение false, то на сервер может заходить любой пользователь, знающий его IP-адрес и порт;
spawn-animals — разрешает автоматическое появление дружелюбных мобов, если установлено значение true);
snooper-enabled — разрешает серверу отправлять статистику и данные разработчикам;
hardcore — включает на сервере режим Хардкор;
texture-pac — файл текстур, который будет использоваться при подключении игрока к серверу. В качестве значения этого параметра указывается имя zip-архива с текстурами, который хранится в той же директории, что и сервер;
online-mode — включает проверку премиум-аккаунтов пользователей, подключающихся к серверу. Если для этого параметра установлено значение true, но на сервер смогут заходить только владельцы премиум-аккаунтов. Если проверка аккаунтов отключена (установлено значение false), то на сервер могут заходить любые пользователи (в том числе, например, и игроки, подделавшие ник), что создает дополнительные риски безопасности. При отключенной проверке можно играть в Minecraft по локальной сети, без доступа к Интернету;
pvp — разрешает или запрещает игрокам воевать друг с другом. Если этот параметр имеет значение true, то игроки могут уничтожать друг друга. Если установлено значение false, то игроки не могут наносить друг другу прямой урон;
difficulty — задает уровень сложности игры. Может принимать значения от 0 (самый легкий) до 3 (самый сложный);
gamemode — указывает, какой игровой режим будет установлен для заходящих на сервер игроков. Может принимать следующие значения: 0 — Survival, 1-Creative, 2-Adventure;
player-idle-timeout — время бездействия (в минутах), по истечении которого игроки автоматически отключаются от сервера;
max-players — максимальное допустимое количество игроков на сервере (от 0 до 999);
spawn-monsters — разрешает (если установлено значение true) порождение враждебных мобов;
generate-structures — включает (true)/отключает (false) генерацию структур (сокровищницы, крепости, деревни);
view-distance — регулирует радиус обновляемых чанков для отсылки игроку; может принимать значения от 3 до 15.
 
Одной из самых распространенных проблем, возникающих при игре в Minecraft, являются так называемые лаги — ситуации, когда программа вовремя не реагирует на пользовательский ввод. Они могут быть обусловены проблемами как на стороне клиента, так и на стороне сервера. Ниже мы дадим рекомендации, которые помогут снизить вероятность возникновения проблем на серверной стороне. 
 
Регулярно контролируйте расход памяти сервером и плагинами
 
Потребление памяти можно отслеживать при помощи специализированных административных плагинов — например, LagMeter.
 
Следите за обновлениями плагинов
 
Как правило, разработчики новых плагинов с каждой новой версией стремятся снизить нагрузку.
 
Старайтесь не пользоваться множеством плагинов со сходной функциональностью
 
Большие плагины (например, Essentials, AdminCMD, CommandBook) очень часто включают в себя функциональность многих мелких плагинов. Например, тот же Essential содержит функции плагинов iConomy, uHome, OpenInv, VanishNoPacket, Kit. Мелкие плагины, функциональность которых полностью покрывается функциональностью одного большого, в большинстве случаев можно удалить, чтобы не перегружать сервер. 
 
Ограничивайте карту и прогружайте ее самостоятельно
 
Если не ограничивать карту, то нагрузка на сервер существенно увеличится. Ограничить карту можно при помощи плагина WorldBorder. Для этого нужно запустить этот плагин и выполнить команду /wb 200, а затем прорисовать карту при помощи команды /wb fill. 
 
Прорисовка, конечно, займет немало времени, но лучше это сделать один раз, закрыв сервер на технические работы. Если карту будет прорисовывать каждый игрок — сервер будет работать медленно.
 
Замените тяжеловесные плагины на более быстрые и менее ресурсоемкие
 
Далеко не все плагины для Minecraft можно назвать удачными: часто они содержат много лишних и ненужных функций, а иногда еще и потребляют много памяти. Неудачные плагины лучше заменять на альтернативные (их существует довольно много). Например, плагин LWC можно заменить на Wgfix+MachineGuard, а плагин DynMap — на Minecraft Overviewer. 
 
Всегда очищайте дроп или установите плагин для автоматического удаления дропа
 
Дропом в играх называются предметы, выпадающие при смерти моба или разрушении некоторых блоков. Хранение и обработка дропов занимают очень много системных ресурсов.
 
Чтобы сервер работал быстрее, дроп желательно удалять. Это лучше делать при помощи специальных плагинов — например, NoLagg или McClean. 
 
Не используйте античиты
 
На игровых серверах часто устанавливаются так называемые античиты — программы, которые блокируют попытки воздействовать на игру нечестными способами. 
 
Существуют античиты и для Minecraft. Любой античит — это всегда дополнительная нагрузка на сервер. Предпочтительнее устанавливать защиты для лаунчера (которые, впрочем, абсолютной гарантии безопасности не дают и легко ломаются — но этой уже тема для отдельного разговора) и для клиента.
 
Ссылки
 
Сервер bukkit: http://dl.bukkit.org
Сервер vanilla: https://minecraft.net/download
Изменено пользователем DrTauren
Исправлены цвета, орфографические ошибки (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас