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

Привет, Хабр! На связи хостинг-провайдер SpaceWeb. Несколько месяцев назад мы решили попробовать сделать игровой сервер для Minecraft. Это был командный пет-проект, в котором поучаствовал даже наш гендир и его семья. Эксперимент был удачным. Рассказываем, почему обратили внимание именно на эту игру и как создавали сервер.

9ef45ce660305181ff5665eb2047bbd1.jpeg

Почему выбрали Minecraft

В первую очередь мы смотрели на популярность игры. Minecraft — самая продаваемая видеоигра всех времен: за 15 лет с релиза было продано более 300 млн копий. Квадратный мир связал разные поколения: Minecraft любят и школьники, и взрослые люди. 

Еще одна особенность, которая стала для нас преимуществом, — готовые серверы для Minecraft может создать любой хостинг-провайдер. С другими играми всё сложнее. Например, Valve запрещает сторонним компаниям использовать свои игры в коммерческих целях и сама занимается поддержкой серверов по Counter-Strike: Global Offensive и Dota 2.

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

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

Мы же хотели создать готовое решение, которое сэкономит время игроков: просто вводишь IP-адрес и попадаешь на сервер, где уже всё настроено. 

Как создавали сервер

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

Мы взяли классическую виртуальную машину, с которой обычно работаем, и установили на нее Minecraft: Java Edition без модификаций. От виртуального хостинга отказались, потому что для игрового сервера он недостаточно мощный.

Обычно хостинг-провайдеры игровых серверов предлагают решения для определенного количества игроков — например, на 10, 20 или 50 человек. Мы решили зайти со стороны технических характеристик. Первым делом позаботились о достаточном объеме оперативной памяти, так как для многопользовательского режима это ключевая характеристика. Сделали несколько вариантов. Базовый объем, которого хватит на 10–12 человек, — 6 ГБ. При необходимости оперативку можно расширить до 32 ГБ: на таком сервере могут играть сотни игроков со множеством модов.

По сути сервер уже был готов — заходи и играй. Но когда начали его тестировать, поняли — нужно добавить решение, с которым игроки смогут устанавливать моды и кастомизировать сервер без лишних трудностей. Выбрали Forge Addon, потому что с ним работает большинство модификаций, например популярный Macaw«s Holiday, который добавляет в игру праздничный декор, и мод с подарками Jolly Boxes.

Оказалось, что даже с аддоном установить мод не так просто: нужно вручную останавливать сервер, менять код и снова запускать его. Стали думать, как сделать так, чтобы можно было в одном месте одновременно остановить сервер и запустить и включить forge. Обычно это решается с помощью визуальной панели управления, через которую владелец настраивает мир.

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

Через консоль можно менять игровой режим, уровень сложности, статус игроков

Через консоль можно менять игровой режим, уровень сложности, статус игроков

Что получили в итоге

Мы запустили эксперимент с игровым сервером, чтобы заглянуть в новую для себя нишу гейминга. В процессе изучили саму игру, попробовали популярные моды и получили удовольствие от процесса.

Результат — готовый сервер с IP-адресом, чтобы зайти в игру. Это максимально простое решение, чтобы играть с друзьями на своем серваке и не тратить на его создание и поддержание кучу часов. Вот что еще мы добавили:

  • Три резервные копии виртуальной машины — можно сделать бэкап сервера перед тем, как устанавливать разные режимы и моды. Пока тестировали установку модов, поняли, что важно сохранить возможность легко вернуться к исходным настройкам. Учли это в финальной версии сервера.

  • Гибкое управление ресурсами — оперативную память можно расширить при необходимости. Во время подготовки сервера нам хватало и базового объема на 6 ГБ. Но для тех, кому захочется собрать под сотню друзей на серваке, добавили больше гибкости. 

  • Бесплатная защита от DDoS. Пока изучали игру, узнали, что многие геймеры зарабатывают на собственных серверах, а конкуренты могу устроить DDoS-атаку, чтобы этому помешать. Учли это в настройках. 

  • Административный Root-доступ — предоставляем владельцу сервера полное управление. У нас, как у провайдера, нет доступа к нему. Это чтобы геймеры точно ни о чем не переживали.

Minecraft — это только начало. Мы хотим и дальше креативить и создавать серверы для других игр и пет-проектов. 

Помогите нам определиться: какую игру нам взять следующей? Что посоветуете учесть при создании сервера для нее?

© Habrahabr.ru