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

Почему выбрали 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 — это только начало. Мы хотим и дальше креативить и создавать серверы для других игр и пет-проектов. 

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

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


  1. Classic_Fungus
    03.05.2024 10:12
    +1

    А почему ни слова о CPU? Какая там частота на ядро? Вы же в курсе, что лучше частоты побольше, а не ядер? или тоже в зеоны ударились? майн же больше чем с 1-2 ядрами работать не умеет (если вы не строите очередной хайпиксель, вам этой информации достаточно). 6Гб ОЗУ? а дальность прорисовки у вас, простите, какая? 6 чанков? А как с ТПС вопрос обстоит? Игроки там блоки собираются добывать? А диск HDD или SSD?

    Результаты - не результаты. данных о конфиге не особо, выводов нет. больше похоже на рекламу без ссылок.

    У меня стоит i3-10что-то там, 32Гб ОЗУ. Работает на Spigot, прорисовка 20 чанков. из плагинов Dynmap, CoreProtect и самописный 2фа+чат. при 10 игроках (это не публичный сервер, выше онлайн там просто не бывает) у всех, при прорисовке 20 будет всегда 20ТПС, даже при активной деятельности в виде афкашения на мега-фермах (ниже 20 уронить никак не получилось). собрать такую железку стоит 30к рублей + бесплатный DDNS и не нужны всякие хамачи. бекап можно сделать через Cron. Диск, разумеется, SSD. В моём конфиге избыточное ОЗУ, хватило бы и 16.

    Меня, как активного игрока и владельца сервера, которому чрезвычайно важна ВЕЛИКОЛЕПНАЯ производительность, такие статьи расстраивают. Либо пишут ctrl+c, ctrl+v, покупайте наших слонв, либо: вот мы сделали сервер, напихали туда кучу всего, оно завелось мы молодцы.


  1. gurovofficial
    03.05.2024 10:12

    Ну вы же понимаете, что все понимают - вы просто рекламируете свою услугу?;)