Разворачивание Minecraft сервера под linux

hms-s6flnod589kpkvcgz2w_cqy.png

В моей прошлой статье я рассказывал, как быстро развернуть свой Minecraft сервер из образа под Windows. И очень многие, справедливо заметили, что Windows не очень годится для разворачивания такого типа сервера. А PowerShell через RDP — это какое-то ненормальное извращение.

Поэтому мы сделали новый образ, под Centos с с преферансом и поэтессами, учтя все ваши замечания. Плюс, прямо из коробки для вас наша карта с секретом, выполнив небольшой квест, мы можете получить приз! Подробности далее!

Разворачиваем сервер


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

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

-28bvp_xhzimvbz6jfd9h4logza.png


Если открыть описание этого образа, то будет достаточно полное описание, как данный образ использовать, и как его первично настроить.

Но всё же пробежимся по основным моментам. Создаём сервер из Маркетплейса, с рекомендованными параметрами. Если у вас бюджет позволяет, то я рекомендую из личного опыта оперативной памяти ставить не менее 4–6 ГБ. Но, даже в базовом варианте всё будет работать как часы (могут быть тормоза при путешествиях).

tuqs7whf8gvdjuabdtsadazhzpo.png


После успешного создания, нам необходимо будет подключиться по ssh, чтобы согласиться с лицензией EULA и стартануть сервер. Это не сложно, даже если вы ничего об этом не знаете. В операционной системе Windows можно подключиться к серверу, используя утилиту Putty, согласно нашему мануалу. В linux просто, открываем консоль и пишем:

ssh root@your_server_ip


Запрещение логина root


После подключения, очень рекомендую отключить возможность логина по ssh пользователя root и завести нового пользователя, и далее уже подключаться через него. Это необязательная процедура, но я настоятельно рекомендую её сделать, если не хотите, чтобы ваш сервер быстро взломали.

Создаём нового пользователя:

adduser your_nickname


Не забываем задать корректный, длинный пароль. Теперь необходимо этой учётной записи добавить возможность прав администратора.

usermod -aG sudo your_nickname


Теперь, после логина, вы можете вводить sudo перед командами, для выполнения их с правами superuser.

После того, как мы создали своего пользователя, можем подключаться и выполнять операции уже от его имени (не забываем про права администратора). Теперь задача отключить возможность логина root по ssh. Для этого отредактируем файл sshd_config.

sudo nano /etc/ssh/sshd_config


Находим строчку содержащую PermitRootLogin и меняем её на состояние no.

PermitRootLogin no


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

sudo service sshd reload


Теперь мы можем завершить сессию и подключиться уже с нашим пользователем.

Непосредственный запуск сервера


После того, как мы всё настроили, можем стартануть сервер. Для начала принимаем лицензию Майнкрафта (это делается один раз, только при создании сервера).

mc_accepteula


И после этого, можно уже запустить сервер.

systemctl start minecraft


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

yyplhlej4lafots7bcteqj1jlw0.png


Сервер готов принимать людей.

Обратите внимание, что старт сервера идёт буквально двумя командами. Или «одной», как меня пытались убедить:

mc_accepteula && systemctl start minecraft


Если вы не хотите использовать предустановленную карту, то можно перед запуском сервера сразу удалить мир:

rm -rf /opt/minecraft/world/


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

Наша Minecraft карта


Многие из нас, кто заходил в наш блог на хабре, видели в шапке эту карту.

tplazrhgdl1zibudpssuowpfiig.png

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

hms-s6flnod589kpkvcgz2w_cqy.png


Эта же карта в мире Майнкрафт.

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

7gvlicyk9sfq-qfclnwz8qz-on0.jpeg


Секретная комната.

Торопитесь, количество призов ограничено.

Пару слов, о том как создавалась эта карта


Карта создавалась вручную, в творческом режиме, на майнкрафте 1.16.3. Оказалось достаточно сложно перенести дизайнерскую задумку в мир Майнкрафта. Тем более, что если вы посмотрите, то рисованная карта имеет углы не строго 90 градусов, от этого были все сложности.

gmcc2pvadaepss6hx8vhyimtdbg.jpeg


Первый построенный объект на карте — бутер.

Для замеров расстояния был выбран самый маленький объект на карте, и просто в графическом редакторе gimp осуществлялись замеры, а по ним уже рисовались остальные объекты.

52enmmwkhkeh0mknxlmdwrtaa7m.jpeg


Пример измерения расстояний.

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

Тело вращения из квадратов можно представить следующим образом.

zl0tyrtqtzqxzgbkg21slvlhvwo.jpeg

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

3dgd_m0dbypfxxnwnul8517jeve.jpeg


Прикидки размеров (ошибочные).

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

8lq5vjrxezqgpcigrq-ytdzhbve.jpeg

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

cjyu8dpd0ltvr1dqr_a2um_hv-a.jpeg
lhkhtujmvlhq6ozkqfp0slzy-t4.jpeg

И так, на бумажке отрисовав все сечения, мы начали строить сам шарик.

ggn1y0y7lj8ody_aikk-hbkevq8.jpeg


Прикидка формы шара.

Ну, а дальше, дело техники его «обмазать».

ed9dpfspwjy-wc_iqg9wpxlnzuc.jpeg


Готовый шарик.

Про надпись рассказывать даже не хочу, крови попила столько, что просто ужас. Но мы справились. Точно так же, на бумаге в клетку переводили надпись и добивались, чтобы она выглядела корректно. На это ушло очень много времени и сил (чуть ли не 30% от всей карты).
Ну и напоследок, пару кадров промежуточной постройки карты.

shqaznntvowf23mfka_zbo9k4-c.jpeg


yzay_pgnk21lzd2f2bg2kfgisgk.jpeg


Что делать, если хочется играть на других картах или даже с модами?


Пара слов, как сменить версию майнкрафта и установить другую карту.
Весь майнкрафт у нас обитает в папке:

/opt/minecraft


qzbzpt2swzvda5nmawzj1mkhcei.png


Если мы говорим о ваниле, то для начала нужно установить сервер, затем удалить старый мир.

systemctl stop minecraft
rm -rf /opt/minecraft/world/


Посмотреть список доступных версий майнкрафта можно командой.

mc_version show


После чего делаем обнуление мира.

mc_wipe


И ставим последнюю версию ванильного майнкрафта.

mc_version 1.16.4


После чего стартуем сервер командой.

systemctl start minecraft


0jor2628bsr9bxtf7f4if6ktrvi.png

Всё, так будет последняя версия майнкрафта.

Если требуется установить моды, то можно установить Forge (он уже предустановлен на сервер, и требуется только скопировать на него моды).

Остановите сервер, удалите мир, укажите нужную версию, при необходимости скопируйте нужные моды на сервер в папку mods и запустите сервер, например для версии forge-1.12.2:

systemctl stop minecraft
mc_wipe
mc_version forge-1.12.2
systemctl start minecraft


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

Удачи в игре!


8xzqbhb0at3_pjylb5c4366w_t8.png

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru