- Установка сервера Minecraft на Linux
- Доступы и начальные приготовления
- Открыть порт в Linux
- Создание пользователя в Linux
- Загрузка сервера Minecraft на Linux
- Запуск сервера Minecraft
- Разворачивание Minecraft сервера под linux
- Разворачиваем сервер
- Запрещение логина root
- Непосредственный запуск сервера
- Наша Minecraft карта
- Пару слов, о том как создавалась эта карта
- Что делать, если хочется играть на других картах или даже с модами?
- Удачи в игре!
Установка сервера Minecraft на Linux
Для создания сервера Minecraft на 10 игроков понадобится сервер с минимум 2 ядрами, 2 гигабайтами оперативной памяти и 10 гигабайтами дискового пространства. Само программное обеспечение занимает примерно 4 гигабайта и зависит от размера созданных миров и сохранённых данных. В этой статье пошагово разберём, как сделать такой сервер.
Пожалуйста, обратите внимание, что данная статья могла устареть. Потому что игра Minecraft изменила механику создания серверов после покупки проекта компанией Microsoft.
Доступы и начальные приготовления
Для начала необходимо заказать сервер с перечисленными параметрами. Рекомендуем сделать у нас: «Заказать VPS». В качестве операционной системы используем Debian (или Ubuntu). На дистрибутивах Linux игровые серверы будут работать быстрее, чем на Windows (в подавляющем большинстве случаев все серверы работают на Linux из за его стабильности и меньшем потреблении ресурсов, по сравнения с Windows).
После покупки сервера Вы получите доступы к серверу: логин (root) и пароль. Зайдите на сервер через ssh. Если работаете на Windows, то используйте клиент PuTTY. Если вы работаете на дистрибутивах Linux, то откройте консоль и используйте команду «ssh root@ip_адрес_сервера«, чтобы подключиться к серверу с логином root.
После получения доступа к серверу необходимо первым делом выполнить команду для обновления уже установленного программного обеспечения от лица root пользователя и добавить стандартные пакеты:
apt-get update apt-get -y install htop apt-get -y install screen apt-get -y install nano apt-get -y install sudo apt-get -y install wget
После чего необходимо установить Java, используя пакет OpenJDK. Сделать это можно следующей командой:
sudo apt install openjdk-8-jre-headless screen
Открыть порт в Linux
Чтобы сервер Minecraft работал корректно, необходимо открыть для него порт в firewall. Делается это командой:
-A INPUT -p tcp –dport 25565 -j ACCEPT
Создание пользователя в Linux
На серверах крайне не рекомендуют запускать игровые (и иные) приложения от лица суперпользователя (root). Потому что при появлении уязвимости в приложении, которое запущено из-под root пользователя, злоумышленник может получить полный доступ к системе. Лучше создать пользователя с меньшими правами и запускать игровой сервер из-под него. Для этого зайдите на сервер через консоль, в учётную запись root. И создайте нового пользователя командой:
В нашем случае пользователь будет иметь имя «minecraft». Ключ «-m» в команде означает, что будет создан домашний каталог /home/minecraft/. Теперь введём команду, чтобы перейти из сеанса суперпользователя в пользователя «minecraft»:
Рекомендуем ознакомиться со статьёй «Загрузка файлов на сервер с помощью FileZilla», в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер. А так же с одной из статей, описывающих редактор файлов на сервере: «Средство разработки: Notepad++» или «Средство разработки: Atom»
Загрузка сервера Minecraft на Linux
Перейдите на официальный сайт игры Minecraft.net. Создайте свою учётную запись в сервисе Mojang. Лицензионный сервер игры Minecraft является платным, поэтому необходимо приобрести его после регистрации. Как только программное обеспечение будет куплено, его можно будет загрузить к себе на сервер. Для этого официальный портал Minecraft даёт подробные инструкии. Если кратно, то вам необходимо зайти на свой сервер и выполнить команду для загрузки на него. Перейдите в домашнюю папку пользователя:
И выполните команду загрузки, которая будет выглядеть примерно так (точную команду можно взять с сайта minecraft.net после покупки ПО):
wget https://launcher.mojang.com/v1/objects/server.jar -O minecraft_server.1.14.jar
Запуск сервера Minecraft
Создадим скрипт для запуска классического сервера в фоновом режиме. Назовём файл скрипта для запуска сервера «start.sh». Создать этот скрипт можно следующей командой:
printf '#!/bin/sh \njava -Xms1024M -Xmx1536M -jar minecraft_server.1.14.jar -o true < /dev/null 2
Вместо "minecraft_server.1.13.jar" вставьте название загруженного на предыдущем шаге файла сервера. В команде рядом с "Xms" и "Xmx" указан минимальное и паксимальное количество оперативной памяти, которое можнет использовать сервер Minecraft. В данном примере значения подходят для сервера с 2 гигабайтами оперативной памяти.
После создания файла "start.sh" необходимо дать ему права для запуска, используя команду:
При первом запуске сервер не будет работать, а вместо этого создаст файл по адресу "/home/minecraft/eula.txt". Это файл лицензионного соглашения, которое надо принять. Для этого откройте файл редактором:
nano /home/minecraft/eula.txt
И замените стретью строку "eula=false" на "eula=true". Затем запустите сервер заново. Теперь можно попробовать присоединиться к серверу игры, зная ip адрес сервера.
Разворачивание Minecraft сервера под linux
В моей прошлой статье я рассказывал, как быстро развернуть свой Minecraft сервер из образа под Windows. И очень многие справедливо заметили, что Windows не очень годится для разворачивания такого типа сервера. А PowerShell через RDP — это какое-то ненормальное извращение.
Поэтому мы сделали новый образ, под Centos с преферансом и поэтессами, учтя все ваши замечания. Плюс, прямо из коробки для вас наша карта с секретом, выполнив небольшой квест, вы можете получить приз! Подробности далее!
Разворачиваем сервер
Как я уже сказал, мы поняли, что игровой сервер под Windows, возможно не самая удачная затея. Он прекрасно работает, и у меня несколько серверов именно из этого образа, но всё же Windows в консольном режиме не очень годится для таких целей.
Значительно лучше, и удачнее для этого годится linux. Поэтому мы сделали новый образ в нашем Маркетплейс.
Если открыть описание этого образа, то будет достаточно полное описание, как данный образ использовать, и как его первично настроить.
Но всё же пробежимся по основным моментам. Создаём сервер из Маркетплейса, с рекомендованными параметрами. Если у вас бюджет позволяет, то я рекомендую из личного опыта оперативной памяти ставить не менее 4-6 ГБ. Но, даже в базовом варианте всё будет работать как часы (могут быть тормоза при путешествиях).
После успешного создания, нам необходимо будет подключиться по ssh, чтобы согласиться с лицензией EULA и стартануть сервер. Это не сложно, даже если вы ничего об этом не знаете. В операционной системе Windows можно подключиться к серверу, используя утилиту Putty, согласно нашему мануалу. В linux просто, открываем консоль и пишем:
Запрещение логина root
После подключения, очень рекомендую отключить возможность логина по ssh пользователя root и завести нового пользователя, и далее уже подключаться через него. Это необязательная процедура, но я настоятельно рекомендую её сделать, если не хотите, чтобы ваш сервер быстро взломали.
Создаём нового пользователя:
Не забываем задать корректный, длинный пароль:
Теперь необходимо этой учётной записи добавить возможность прав администратора.
usermod -aG wheel your_nickname
Теперь, после логина, вы можете вводить sudo перед командами, для выполнения их с правами superuser.
После того, как мы создали своего пользователя, можем подключаться и выполнять операции уже от его имени (не забываем про права администратора). Теперь задача отключить возможность логина root по ssh. Для этого отредактируем файл sshd_config .
sudo nano /etc/ssh/sshd_config
Находим строчку содержащую PermitRootLogin и меняем её на состояние no.
Есть ещё и другие возможности, например, отключение логина по паролю, но описывать в данной статье смысла не вижу. Всё, сохраняем и перезапускаем демон ssh для применения изменений.
Теперь мы можем завершить сессию и подключиться уже с нашим пользователем.
Непосредственный запуск сервера
После того, как мы всё настроили, можем стартануть сервер. Для начала принимаем лицензию Майнкрафта (это делается один раз, только при создании сервера).
И после этого, можно уже запустить сервер.
systemctl start minecraft
Всё, сразу после этого запустится сервер, с нашей предустановленной картой. И можно начать играть.
Сервер готов принимать людей.
Обратите внимание, что старт сервера идёт буквально двумя командами. Или «одной», как меня пытались убедить:
mc_accepteula && systemctl start minecraft
Если вы не хотите использовать предустановленную карту, то можно перед запуском сервера сразу удалить мир следующей командой:
И после этого уже стартануть сервер, тогда будет создан новый уникальный мир. Но всё же, я рекомендую хотя бы посмотреть нашу карту, там есть приз для внимательных игроков.
Наша Minecraft карта
Многие из нас, кто заходил в наш блог на хабре, видели в шапке эту карту.
На самом деле, карта не простая, тут отмечены символично многие наши достижения. О многих из них можно прочитать в этой статье. И мы приняли решение воплотить эту карту в мире Minecraft. Плюс ещё спрятать призы на ней, так чтобы игроки смогли найти их на данной карте. Обо всём по порядку.
Эта же карта в мире Майнкрафт.
Эта карта будет запущена по умолчанию, после создания сервера. Выше написал, как этого избежать, просто дополнительное простое телодвижение. Мы решили сделать не только карту, ради понта. В одном из сооружений спрятана секретная комната, в которой вы найдёте незеритовую броню, плащ для полётов, фейерверки для полётов и всё необходимое, чтобы найти секрет. Там будет табличка, того что нужно будет делать.
Торопитесь, количество призов ограничено.
Пару слов, о том как создавалась эта карта
Карта создавалась вручную, в творческом режиме, на майнкрафте 1.16.3. Оказалось достаточно сложно перенести дизайнерскую задумку в мир Майнкрафта. Тем более, что если вы посмотрите, то рисованная карта имеет углы не строго 90 градусов, от этого были все сложности.
Первый построенный объект на карте — бутер.
Для замеров расстояния был выбран самый маленький объект на карте, и просто в графическом редакторе gimp осуществлялись замеры, а по ним уже рисовались остальные объекты.
Пример измерения расстояний.
Самое сложное было делать из кубиков тела вращения, типа воздушного шара. С шаром и надписью прошлось повозиться особенно долго. Особенно с надписью, потому, что кубики идут под углом около 30 градусов к линии надписи. Но мы справились.
Тело вращения из квадратов можно представить следующим образом.
Мы выбрали второй вариант, так как он был более «круглым». После этого мы очень долго пытались понять “реальный” размер воздушного шара.
Прикидки размеров (ошибочные).
Но в конце-концов, методом проб и ошибок установили размеры шара спроецированного на плоскость.
Дальше, было относительно просто. Вспоминаем институтские знания черчения и переводим сечения шара снизу в верх, с помощью циркуля.
И так, на бумажке отрисовав все сечения, мы начали строить сам шарик.
Ну, а дальше, дело техники — «обмазать» его.
Про надпись рассказывать даже не хочу, крови попила столько, что просто ужас. Но мы справились. Точно так же, на бумаге в клетку переводили надпись и добивались, чтобы она выглядела корректно. На это ушло очень много времени и сил (чуть ли не 30% от всей карты).
Ну и напоследок, пару кадров промежуточной постройки карты.
Что делать, если хочется играть на других картах или даже с модами?
Пара слов, как сменить версию майнкрафта и установить другую карту.
Весь майнкрафт у нас обитает в папке:
Если мы говорим о ваниле, то для начала нужно остановить сервер, затем удалить старый мир.
Посмотреть список доступных версий майнкрафта можно командой.
После чего делаем обнуление мира (просто удаляет текущий мир).
И ставим последнюю версию ванильного майнкрафта.
После чего стартуем сервер командой.
systemctl start minecraft
Всё, так будет последняя версия майнкрафта.
Если требуется установить моды, то можно установить Forge (он уже предустановлен на сервер, и требуется только скопировать на него моды).
Остановите сервер, удалите мир, укажите нужную версию, при необходимости скопируйте нужные моды на сервер в папку mods и запустите сервер, например для версии forge-1.12.2:
systemctl stop minecraft mc_wipe mc_version forge-1.12.2 systemctl start minecraft
Для удобства конфигурирования, мы даже сняли видео первичной настройки майнкрафт-сервера. Чтобы было удобнее.
К сожалению, видео чуток отстало от окончательных изменений нашего образа в маркетплейсе (смотрите актуальную версию конфигурацию у нас в маркетплейсе, там исчерпывающий мануал). Но тем не менее, оно очень поможет для старта, как же создать сервер и с ним работать!