- Сервер Forge майнкрафта на линуксе через консоль
- Установка Java
- Загрузка файлов сервера
- Распаковка и настройка сервера
- Добавление модов
- Иконка сервера
- Автоматическое сохранение мира
- Разворачивание Minecraft сервера под linux
- Разворачиваем сервер
- Запрещение логина root
- Непосредственный запуск сервера
- Наша Minecraft карта
- Пару слов, о том как создавалась эта карта
- Что делать, если хочется играть на других картах или даже с модами?
- Удачи в игре!
Сервер Forge майнкрафта на линуксе через консоль
Есть ноутбук с неработающей графической картой, который я хочу использовать в качестве сервера для майнкрафта (Forge с модулями). На компьютер я установил линукс (Debian 10) без графического интерфейса, но с SSH-сервером, через который и буду управлять системой.
Выключать компьютер я буду командой: «sudo shutdown -h now».
Установка Java
Для установки java в терминал вводим команду «sudo apt install openjdk-11-jdk».
Когда установка закончится, можно проверить введя команду «java —version» в терминале.
Загрузка файлов сервера
В домашней папке создаём новую папку «minecraft» командой «mkdir minecraft».
Чтобы скачать файлы сервера, вначале надо узнать адрес этих файлов. Для этого переходим на сайт forge minecraft. На данный момент актуальная версия 1.16.5. Там я узнаю ссылку на «Installer«.
Теперь приступим к загрузке файлам сервера:
cd ~/minecraft wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.16.5-36.1.0/forge-1.16.5-36.1.0-installer.jar chmod +x forge-1.16.5-36.1.0-installer.jar
Распаковка и настройка сервера
Переходим в новую папку «minecraft»: cd ~/minecraft/
Распаковываем файлы для сервера: «java -jar forge-1.16.5-36.1.0-installer.jar ——installServer»
Запускаем сервер в первый раз: «java -Xms1024M -Xmx3000M -jar forge-1.16.5-36.1.0.jar nogui»
Редактируем файл “eula.txt”, там меняем “eula=false” на “eula=true”. (nano eula.txt)
После этого запускаем сервер во второй раз: «java -Xms1024M -Xmx3000M -jar forge-1.16.5-36.1.0.jar nogui«
Во время второго запуска будет создана папка «world» и конфигурационный файл server.properties.
Сервер останавливается командой «stop».
А папку «world» можно удалять командой «rm -r world».
Настало очередь поправить файл «server.properties» (nano server.properties).
Там подправил следующие параметры:
snooper-enabled=false server-port=25500 online-mode=false motd=Server by Me
Добавление модов
На другом компьютере уже собрал интересные мне моды и упаковал их в zip-архив. Первая попытка перенести файлы через флешку у меня не получилась. Поэтому я их выложил на свой локальный виртуальный сервер, от куда и буду их переносить на сервер.
Для начала установим пакет для распаковки zip-архивов: «sudo apt install unzip».
А теперь загружаем архив и распаковываем его:
cd ~/minecraft/mods/ wget http://192.168.1.2/mods.zip unzip mods.zip mv mods/* . rm -r mods
Иконка сервера
Иконка для сервера является картинка размером 64х64 пикселя, сохранённая в формате PNG, при этом она должна называться «server-icon.png». Создаю на своём компьютере эту картинку и переношу её на свой локальный виртуальный сервер. Дальше делаю по вышеописанной схеме:
cd ~/minecraft/ wget http://192.168.1.2/server-icon.png
Автоматическое сохранение мира
Убеждаемся, что мы находимся в папке “minecraft”. (cd ~/minecraft)
Создаём файл “mcbackup.sh” (nano mcbackup.sh) и пишем внутрь:
# What to backup. Name of minecraft folder
backup_files=»minecraft»
# Specify which directory to backup to.
# Make sure you have enough space to hold 7 days of backups. This
# can be on the server itself, to an external hard drive or mounted network share.
# Warning: minecraft worlds can get fairly large so choose your backup destination accordingly.
dest=»/home/user/minecraftbackups»
# Create backup archive filename.
day=$(date +%A)
archive_file=»$day-$backup_files-.tar.gz»
# Backup the files using tar.
cd /home/user && tar zcvf $dest/$archive_file $backup_files
Проверяем работает ли этот скрипт….
Вписываем команду в кронджоб (crontab -e):
05 3 * * * /home/user/minecraft/mcbackup.sh &> /dev/null
Разворачивание 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
Для удобства конфигурирования, мы даже сняли видео первичной настройки майнкрафт-сервера. Чтобы было удобнее.
К сожалению, видео чуток отстало от окончательных изменений нашего образа в маркетплейсе (смотрите актуальную версию конфигурацию у нас в маркетплейсе, там исчерпывающий мануал). Но тем не менее, оно очень поможет для старта, как же создать сервер и с ним работать!