Разворачивание Minecraft сервера под linux
В моей прошлой статье я рассказывал, как быстро развернуть свой Minecraft сервер из образа под Windows. И очень многие, справедливо заметили, что Windows не очень годится для разворачивания такого типа сервера. А PowerShell через RDP — это какое-то ненормальное извращение.
Поэтому мы сделали новый образ, под Centos с с преферансом и поэтессами, учтя все ваши замечания. Плюс, прямо из коробки для вас наша карта с секретом, выполнив небольшой квест, мы можете получить приз! Подробности далее!
Разворачиваем сервер
Как я уже сказал, мы поняли что игровой сервер под Windows, возможно не самая удачная затея. Он прекрасно работает, и у меня несколько серверов именно из этого образа, но всё же Windows в консольном режиме не очень годиться для таких целей.
Значительно лучше, и удачнее для этого годится linux. Поэтому мы сделали новый образ в нашем Маркетплейс.
Если открыть описание этого образа, то будет достаточно полное описание, как данный образ использовать, и как его первично настроить.
Но всё же пробежимся по основным моментам. Создаём сервер из Маркетплейса, с рекомендованными параметрами. Если у вас бюджет позволяет, то я рекомендую из личного опыта оперативной памяти ставить не менее 4–6 ГБ. Но, даже в базовом варианте всё будет работать как часы (могут быть тормоза при путешествиях).
После успешного создания, нам необходимо будет подключиться по 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
Всё, сразу после этого запуститься сервер, с нашей предустановленной картой. И можно начать играть.
Сервер готов принимать людей.
Обратите внимание, что старт сервера идёт буквально двумя командами. Или «одной», как меня пытались убедить:
mc_accepteula && systemctl start minecraft
Если вы не хотите использовать предустановленную карту, то можно перед запуском сервера сразу удалить мир:
rm -rf /opt/minecraft/world/
И после этого уже стартануть сервер, тогда будет создан новый уникальный мир. Но всё же, я рекомендую хотя бы посмотреть нашу карту, там есть приз для внимательных игроков.
Наша Minecraft карта
Многие из нас, кто заходил в наш блог на хабре, видели в шапке эту карту.
На самом деле, карта не простая, тут отмечены символично многие наши достижения. Не буду сейчас их перечислять. И мы приняли решение воплотить эту карту в мире Minecraft. Плюс ещё спрятать призы на ней, так чтобы игроки смогли найти их на данной карте. Обо всё по порядку.
Эта же карта в мире Майнкрафт.
Эта карта будет запущена по умолчанию, после создания сервера. Выше написал, как этого избежать, просто дополнительное простое телодвижение. Мы решили сделать не только карту, ради понта. В одном из сооружений спрятана секретная комната, в которой вы найдёте незеритовую броню, плащ для полётов, фейерверки для полётов и всё необходимое, чтобы найти секрет. Там будет табличка, того что нужно будет делать.
Секретная комната.
Торопитесь, количество призов ограничено.
Пару слов, о том как создавалась эта карта
Карта создавалась вручную, в творческом режиме, на майнкрафте 1.16.3. Оказалось достаточно сложно перенести дизайнерскую задумку в мир Майнкрафта. Тем более, что если вы посмотрите, то рисованная карта имеет углы не строго 90 градусов, от этого были все сложности.
Первый построенный объект на карте — бутер.
Для замеров расстояния был выбран самый маленький объект на карте, и просто в графическом редакторе gimp осуществлялись замеры, а по ним уже рисовались остальные объекты.
Пример измерения расстояний.
Самое сложное было делать из кубиков тела вращения, типа воздушного шара. С шаром и надписью прошлось повозиться особенно долго. Особенно с надписью, потому, что кубики идут под углом около 30 градусов к линии надписи. Но мы справились.
Тело вращения из квадратов можно представить следующим образом.
Мы выбрали второй вариант, так как он было более «круглым». После этого мы очень долго пытались понять «реальный» размер воздушного шара.
Прикидки размеров (ошибочные).
Но в конце-концов, методом проб и ошибок установили размеры шара спроецированного на плоскость.
Дальше, было относительно просто. Вспоминаем институтские знания черчения и переводим сечения шара снизу в верх, с помощью циркуля.
И так, на бумажке отрисовав все сечения, мы начали строить сам шарик.
Прикидка формы шара.
Ну, а дальше, дело техники его «обмазать».
Готовый шарик.
Про надпись рассказывать даже не хочу, крови попила столько, что просто ужас. Но мы справились. Точно так же, на бумаге в клетку переводили надпись и добивались, чтобы она выглядела корректно. На это ушло очень много времени и сил (чуть ли не 30% от всей карты).
Ну и напоследок, пару кадров промежуточной постройки карты.
Что делать, если хочется играть на других картах или даже с модами?
Пара слов, как сменить версию майнкрафта и установить другую карту.
Весь майнкрафт у нас обитает в папке:
/opt/minecraft
Если мы говорим о ваниле, то для начала нужно установить сервер, затем удалить старый мир.
systemctl stop minecraft
rm -rf /opt/minecraft/world/
Посмотреть список доступных версий майнкрафта можно командой.
mc_version show
После чего делаем обнуление мира.
mc_wipe
И ставим последнюю версию ванильного майнкрафта.
mc_version 1.16.4
После чего стартуем сервер командой.
systemctl start minecraft
Всё, так будет последняя версия майнкрафта.
Если требуется установить моды, то можно установить Forge (он уже предустановлен на сервер, и требуется только скопировать на него моды).
Остановите сервер, удалите мир, укажите нужную версию, при необходимости скопируйте нужные моды на сервер в папку mods и запустите сервер, например для версии forge-1.12.2:
systemctl stop minecraft
mc_wipe
mc_version forge-1.12.2
systemctl start minecraft
Для удобства конфигурирования, мы даже сняли видео первичной настройки майнкрафт-сервера. Чтобы было удобнее.
К сожалению, видео чуток отстало от окончательных изменениях нашего образа в маркетплейсе (смотрите актуальную версию конфигурацию у нас в маркетплейсе, там исчерпывающий мануал). Но тем не менее, оно очень поможет для старта, как же создать сервер и с ним работать!