Автозапуск сервера minecraft linux при падении

Обновлено: 05.07.2024

В этом руководстве объясняется, как создать сервер Minecraft на Ubuntu 20.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к запущенному экземпляру. Мы также покажем вам, как создать задание cron, которое выполняет регулярное резервное копирование сервера.

Подготовка

Согласно официальному сайту Minecraft, в качестве минимальной конфигурации для типичной установки рекомендуется 4 ГБ ОЗУ.

Установите пакеты, необходимые для сборки инструмента mcrcon :

Установка среды выполнения Java

Minecraft требует Java 8 или выше. Серверу Minecraft не нужен графический пользовательский интерфейс, поэтому мы установим безголовую версию Java. Эта версия больше подходит для серверных приложений, поскольку у нее меньше зависимостей и меньше системных ресурсов.

Выполните следующую команду, чтобы установить пакет OpenJRE 11 без заголовка:

Проверьте установку, распечатав версию Java :

Создание пользователя Minecraft

По соображениям безопасности Minecraft не следует запускать от имени пользователя root. Мы создадим нового системного пользователя и группу с домашним каталогом /opt/minecraft . У пользователя будут минимально необходимые разрешения для запуска сервера Minecraft:

Мы не будем устанавливать пароль для этого пользователя. Таким образом, пользователь не сможет войти через SSH и его нельзя будет скомпрометировать. Чтобы перейти на пользователя minecraft , вам необходимо войти на сервер как пользователь root или пользователь с привилегиями sudo .

Установка Minecraft на Ubuntu

Перед тем как начать процесс установки, переключитесь на пользователя minecraft :

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

  • В каталоге backups будут храниться резервные копии вашего сервера Minecraft. Вы можете синхронизировать этот каталог с вашим удаленным сервером резервного копирования.
  • Каталог tools будет содержать клиент mcrcon и скрипт резервного копирования.
  • Каталог server будет содержать фактический сервер Minecraft и его данные.

Скачивание и компиляция mcrcon

Мы mcrcon исходный код с GitHub и mcrcon двоичный файл mcrcon .

Tiiffi/mcrcon репозиторий Tiiffi/mcrcon с GitHub в каталог

По завершении mcron каталог mcron и mcron утилиту:

После завершения убедитесь, что mcrcon успешно скомпилирован, распечатав его версию:

Результат будет выглядеть примерно так:

Скачивание сервера Minecraft

Существует несколько модов сервера Minecraft, таких как Craftbukkit или Spigot, которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать и настраивать параметры сервера.

В этом руководстве мы установим последний официальный ванильный сервер Minecraft от Mojang. Те же инструкции применимы и для установки других серверных модов.

Загрузите файл jar в каталог

/server с помощью wget :

Настройка Сервера Майнкрафт

После завершения загрузки переключитесь в каталог

/server и запустите сервер Minecraft:

При первом запуске сервер выполняет некоторые операции, создает файлы server.properties и eula.txt и останавливается.

Чтобы запустить сервер, вам необходимо согласиться с лицензионным соглашением Minecraft EULA, как указано в выходных данных выше. Откройте файл eula.txt и замените eula=false на eula=true :

Закройте и сохраните файл.

Затем откройте файл server.properties включите протокол rcon и установите пароль rcon:

Найдите следующие строки и обновите их значения, как показано ниже:

Не забудьте сменить надежный strong-password на более безопасный. Если вы не хотите подключаться к серверу Minecraft из удаленных мест, убедитесь, что порт rcon заблокирован вашим брандмауэром.

Здесь вы также можете настроить свойства сервера по умолчанию. Для получения дополнительной информации о настройках сервера посетите страницу server.properties .

Создание файла модуля Systemd

Вместо того, чтобы вручную запускать сервер Minecraft, мы создадим файл модуля Systemd и запустим Minecraft как службу.

Вернитесь к своему пользователю sudo, набрав exit .

Откройте текстовый редактор и создайте файл с именем minecraft.service в каталоге /etc/systemd/system/ :

Вставьте следующую конфигурацию:

Измените флаги Xmx и Xms соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный пул распределения памяти для виртуальной машины Java (JVM), а Xms определяет начальный пул распределения памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.

Сохраните файл и перезагрузите конфигурацию systemd manager:

Теперь вы можете запустить сервер Minecraft, набрав:

При первом запуске службы она сгенерирует несколько файлов конфигурации и каталогов, включая мир Minecraft.

Проверьте статус службы с помощью следующей команды:

Наконец, включите автоматический запуск службы Minecraft во время загрузки:

Настройка брандмауэра

Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр , и вы хотите получить доступ к серверу Minecraft извне вашей локальной сети, вам необходимо открыть порт 25565 :

Настройка резервного копирования

В этом разделе мы создадим сценарий оболочки резервного копирования и задание cron для автоматического резервного копирования сервера Minecraft.

Откройте текстовый редактор и создайте следующий файл:

Вставьте следующую конфигурацию:

Затем создайте задание cron, которое будет запускаться автоматически один раз в день в определенное время.

Откройте файл crontab, набрав:

Чтобы запускать сценарий резервного копирования каждый день в 23:00, вставьте следующую строку:

Доступ к консоли Minecraft

Для доступа к консоли Minecraft используйте утилиту mcrcon . Вам необходимо указать хост, порт rcon, пароль rcon и использовать переключатель -t который включает mcrcon терминала mcrcon :

При доступе к консоли Minecraft из удаленного места убедитесь, что порт rcon не заблокирован.

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

Выводы

Мы показали вам, как создать сервер Minecraft на Ubuntu 20.04 и настроить ежедневное резервное копирование.

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

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Что ж папки сервера у нас в порядке, приступим к установке Java.

3. Установка Java

Для установки Java на Debian'е необходимо ввести в терминале слудующую команду устанавливающую из репозитория сам продукт:

apt-get install openjdk-6-jre

После ввода вам возможно должны предложить согласиться с установкой, введите y для соглашения.

После выполнения вышеуказанных действий рекомендуется перезагрузить машину, после чего выполните dpkg --configure -a для полной конфигурации установленных пакетов. На этом установка Java завершена. Ну а больше для работоспособности сервера Minecraft ничего и не нужно.

4. Тестовый запуск

Откройте терминал SSH. с помощью команды cd перейдите в папку с сервером. Затем введите следующее: java -Xms1G -Xmx1G -jar craftbukkit-<version>-<snapshot>.jar nogui , где

-Xms1G -Xmx1G Обьём памяти на который будет рассчитывать Виртуальная Java машина. 1G - 1 Гигабайт 2G - 2 Гигабайта

craftbukkit-<version>-<snapshot>.jar - ваш исполняемый файл, например - craftbukkit-1.2.5-R4.1.jar.

После запуска у вас должны поочерёдно выводиться в консоли строки запуска сервера - загрузка плагинов, создание и загрузка мира и тд.

На этом всё, если вы всё сделали правильно, ваш сервер должен работать и быть доступным по умолчанию по адресу <ваш IP>:25565. Например:

78.24.219.108:25565. Однако это пока тестовый запуск и проверка работоспособности всей настройки, скорее всего если вы закроете консоль сервер так же может быть закрыт. При желании вы можете изменить порт и прочие параметры сервера в файле server.properties.

5. Установка скрипта автоматической загрузки.

Теперь для для ещё более стабильной и удобной работы мы установим скрипт автозагрузки/автоперезагрузки для Minecraft сервера.

Создайте в папке /etc/init.d/ файл без расширения с названием minecraftи наполните его содержимым:

Где измените следующие строки относительно вашей конфигурации:

SERVICE='craftbukkit--.jar' //ваш исполняемый файл

OPTIONS='nogui' // не менять

USERNAME='minecraft' //ваше имя пользователя в системе Linux

MCPATH='/home/minecraft/minecraft' //ваша папка с сервером

Внимание старайтесь указывать полные пути ОТ КОРНЯ СИСТЕМЫ!

Затем, назначьте этому файлу права на исполнение

chmod a+x /etc/init.d/minecraft

и добавьте его в список автозагрузки командой:

update-rc.d minecraft defaults


Всё, на этом установка скрипта завершена, для его проверки перезапустите ваш хостинг - сервер должен включиться автоматически. или введите в терминале для запуска сервера : sh /etc/init.d/minecraft start. Так же для вас доступны команды управления сервера через терминал:

sh /etc/init.d/minecraft start - Запустить сервер

sh /etc/init.d/minecraft stop - Остановить сервер

sh /etc/init.d/minecraft restart - Перезагрузка сервера

sh /etc/init.d/minecraft status - Статус сервера

sh /etc/init.d/minecraft command <команда> - Выполнить команду на сервере от игровой консоли. Например sh /etc/init.d/minecraft command say WOW

6. Добавление сервера Minecraft в планировщик Cron для автоперезагрузки

Для пользователей имеющих ISP Manager это сущая пара пустяков. Перейдя в Cron из панели управления, нажмите вверху кнопку создать. В появившемся окошке введите полный путь от корня системы до файла minecraft с командой перезагрузки. Скорее всего у вас это будет выглядеть так /etc/init.d/minecraft restart и поставьте период каждые 3 часа.

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

Joris Clerk

В данной статье я расскажу про все тонкости настройки и создания серверов minecraft на примере операционной системы OS X Lion (и Debian Linux). В данной статье не будет рассматриваться автоматический запуск серверов при перезагрузке компьютера, т.к. для каждой операционной системы используются разные стартовые скрипты. Так же я не буду рассматривать вопросы по настройки роутеров и фаерволов.

С чего начать?
Если вы хотите сделать свой собственный сервер вам необходимо определиться, где этот сервер будет размещен. Разместить сервер Minecraft можно на домашнем компьютере или на хостинге.

Если вы решили разместить сервер minecraft на домашнем компьютере, вам потребуется:

1. Реальный IP-адрес (доступный из сети интернет). Отвечаю на самый распространненый вопрос, где взять реальный IP-адрес. Он покупается у вашего провайдера. В Москве данная услуга стоит приблизительно от 100 до 300 рублей.
2. Стабильный канал подключения к сети Интернет (от 10Мбит/Сек)
3. Роутер (обычный или WiFi) с возможностью PortForwarding или PortMapping. Нужно для того, чтобы открыть порт для игры
4. Системный блок с запасом оперативной памяти (например, если вы используете Windows 7 x64, вам необходимо минимум 4Гб ОЗУ, 2Гб пойдет на операционную систему и 2Гб вы сможеет выделить на работу своего севрера для 20 игроков).
5. Желательно, чтобы на этом компьютере не выполнялось никаких программ. Я не рекомендую играть на серверном компьютере в какие-нибудь игры или пользоваться программами, так как это отрицательно скажется на производительности сервера

Cоздание сервера Minecraft
После приобретения необходимых устройств, стабильного канала Интернет, реального IP-адреса, необходимо создать и настроить сервер Minecraft. Сейчас я расскажу, как это делается на примере "родного" (не модифицированного) bukkit сервера. Bukkit - это версия Minecraft поддерживающая плагины. Официальный сервер minecraft пока не поддерживает плагины. Итак,

Автоматический запуск Сервера при падении

1.Качаем реаниматор hlr.zip [0 b] (cкачиваний: 916)
2.Запускаем его жмем на зеленый плюсик


3.В поле название пишем название какое хотите(лично я писал название своего сервера и какой он по счету)
4.В поле Путь к файлу выбираем hlds.exe
Fatal error - Dedicated server
HLDS Launcher
ssReborn.exe
hlds.exe - ошибка приложения

Третий способ:

с использованием FireDaemon

FireDaemon - Демоны (фоновые программы) из Unix давно не дают покоя пользователям Windows, где не существует аналогичных средств исполнения приложений. Утилита FireDaemon позволяет запускать любое Win32 приложение или скрипт (например: BAT/CMD, Perl, Java, Python, TCL/TK) как Windows сервис. Легко настраивается через GUI или XML, потребляет мало системной памяти и процессорного времени, управляет приоритетом подпроцессов, настройками окружения, назначение использования одного или нескольких CPU, а так же собирает статистику событий и записывает в log файлы на диск.

Автоматический запуск Сервера при падении


Вот параметры запуска (корректируйте их по себя или добавляйте свои)
-console -game "cstrike" -secure +map de_dust -autoupdate +log on +maxplayers 32 -port 27015 +ip 1.2.3.4 +exec server.cfg

"-console" консольный режим сервера.
"-game" какой мод игры (Например:Counter-Strike(cstrike) Half-Life (hl)).
"-secure" включить VAC античит на вашем сервере (valve anti cheat). Можно удалить команду если не хотите использовать VAC.
"+map" карта которая будет при старте сервера
"+log on" включить логирование на сервере
"maxplayers 32" сколько слотов на сервере
"-port 27015" порт вашего сервера
"+ip" ваш IP адрес
"+exec server.cfg" конфигурация сервера ( можно и загрузить например и server2.cfg )

3.Теперь перейдите на вкладку Settings.Если вы не хотите видеть запущен ли ваш сервер, поменяйте значение на "Hidden" в "Show Window" . Все теперь ты можно запустить HLDS (или SCRDS). В поле Logon Account впишите своего пользователя (напрм. Administrator) и введите пароль дважды в поля Password и Confirm.



Forge install guide
Для того чтобы была возможность установки модов и плагинов на сервер, нужно скачать Installer - модификацию оригинального сервера.

В эту папку кладём скачанный forge.

После установки серверной части форжа, появится файл forge-. -universal.jar, а forge-. -installer.jar можно удалить.

Общие настройки сервера лежат в server.properties. Описание параметров.

Оформление названия сервера.


За название в списке выбора серверов отвечает параметр motd в файле server.properties.

Пример оформления названия сервера (форматирование текста).
motd=\u00A74[INF666] \u00A77TechMagic 1.12.2

где
\u00A74 - красный цвет
\u00A77 - серый цвет

Чтобы добавить логотип в название - в любимом графическом редакторе создаёте новый файл размером 64x64 пикселей, делаете картинку, сохраняете его в .jpg, называете server-icon.jpg, размещаете в корне сервера.


Установка модов на сервер

Просто закидывайте нужные моды (и, при необходимости, их библиотеки) в папку /mods.

Запуск сервера

где
-Xms2G — минимальной значение выделенной оперативной памяти
-Xmx2G — максимальное значение выделенной оперативной памяти
-Xmn256M — кол-во выделяемой памяти под объекты, которые не были выгружены сборщиком мусора

Скрипты для запуска и остановки сервера

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

Скрипт на запуск:
nano start_server.sh

Ctrl+O, Ctrl+X (сохранить скрипт и выйти из редактора)

Скрипт на сохранение изменений в мире:
nano save_server.sh

Скрипт на остановку:
nano stop_server.sh

Запустить скрипт:
./start_server.sh

Посмотреть работу сервера в screen:
screen -r

Выйти из screen (не выключая сервер):
CTRL+a+d

Подробный баш скрипт для запуска, сохранения, остановки Minecraft сервера и много другого можно найти по ссылке.

Автоматическая перезагрузка сервера:
crontab -e

*где
каждые 3 часа в 57 минут запускается скрипт на остановку и сохранение сервера
каждые 3 часа в 58 минут запускается скрипт на запуск сервера

После изменений перезагрузим crontab и проверим расписание:
/etc/init.d/cron restart
crontab -l

Порт игры по умолчанию - tcp 25565

Основные консольные команды (все команды).
/stop - сохранить и выключить сервер игры
/setworldspawn [x y z ] - установить точку спавна
/time set [day|midnight|night|noon|время] - установить время суток в игре
где время может принимать значения, например:

day 1000 утро
noon 6000 полдень
night 13000 вечер
midnight 18000 полночь

/weather [clear|rain|thunder] длительность в секундах - установить погоду (ясно/дождь/гроза) (по умолчанию 5 минут)
/xp число игрок - выдать опыт игроку
/op игрок - повышение игрока в должности (модер/админ)
/deop игрок - понижение игрока в должности (модер/админ)

Читайте также: