Установка и настройка сервера Minecraft через Docker
Системные требования
Хранилище: от 15GB свободного дискового пространства
Процессор: соответствие минимальным требованиям ОС, 1 ядро и выше
Подготовка машины
Установка необходимых библиотек
apt update
Установим docker (контейнерная среда) и docker-compose (дополнение к docker для автоматизации действий)
apt install docker docker-compose -y
Если не возникло ошибок, то мы успешно подготовили машину к установке и настройке Minecraft сервера
Настройка docker-compose и настройка YML файла
Рассмотрим файл docker-compose.yml:
{
"services": {
"mc": {
"environment": {
"EULA": "TRUE",
"VERSION": "latest",
"SERVER_PORT": "25565"
},
"tty": true,
"volumes": [
"./minecraft:/data"
],
"image": "itzg/minecraft-server",
"stdin_open": true,
"ports": [
"25565:25565"
],
"restart": "unless-stopped"
}
},
"version": "3"
}Рассмотрим необходимые нам строки
...
"EULA": "TRUE",
...подразумевает, что мы согласны с правилами использования и размещения сервера Minecraft
...
"VERSION": "latest"
...указывает, какую версию сервера Minecraft использовать, в данном случае использовать последнюю стабильную версию. Можно указать значение "SNAPSHOT", в таком случае будет использоваться версия последнего снапшота. Можно вручную указать нужную нам версию Minecraft, например: "1.12.2".
...
"ports": [
"25565:25665"
],
...включают Port mapping с контейнера на основную машину. Значение перед «:» является портом в основной машине, его можно изменить например на 1234, в таком случае, подключаться к серверу нужно будет: IP:1234. Значение после «:» является портом, который необходимо пробросить из контейнера Docker, это же значение является переменной «SERVER_PORT»
...
"MEMORY": "1G"
...указывает, какое количество оперативной памяти выделить для сервера
Сохраним настроенный/приведенный файл в домашнюю директорию пользователя с названием docker-compose.yml
Запуск и управление Docker контейнером
Запуск контейнера
Перейдем в домашнюю директорию пользователя:
cd ~/
Для запуска контейнера в фоновом режиме введем:
docker-compose up -d
В случае если запуск происходит впервые, начнётся установка сервера в ./minecraft
Управление контейнером
Наблюдать за процессом создания сервера можно подключившись к контейнеру (там же и есть консоль):
docker attach $(docker ps -q)
После завершения установки сервера сообщится:
[Server thread/INFO]: Done (337.541s)! For help, type "help"]
В случае если в течении 10 секунд ничего не вывелось, нажмите Enter в консоли, если вы увидите:
[Server thread/INFO]: Unknown or incomplete command, see below for error
то сервер в контейнере уже настроен.
Для сворачивания консоли необходимо нажать комбинацию Ctrl-P, а затем Ctrl-Q
Настройка файрвола
Необходимо разрешить использование порта, проброшенного в основную машину (настраивался в Настройка YML файла). По стандарту применяется порт 25565, поэтому рассмотрим команду с ним:
ufw allow 25565
В случае успеха получим ответ:
Rules updated Rules updated (v6)
Это означает что мы успешно настроили файрвол и можем играть на настроенном сервере Minecraft
Для подключения к серверу в поле «Адрес сервера» если порт остался неизменным, то вводится IP адрес машины
Большинство параметров возможно изменить в ~/minecraft/server.properties
Больше документации возможно получить на Github