Создание сервера Minecraft в Ubuntu 20.04

Minecraft – это популярная песочница, которая вышла в 2009 году. Minecraft позволяет игрокам строить, крафтить, исследовать трехмерный мир и выживать в нем. По состоянию на конец 2019 года это была вторая по продаваемости видеоигра всех времен. В данном мануале вы научитесь создавать свой собственный сервер Minecraft. Для этого вы установите необходимые программные пакеты Minecraft, настроите сервер и затем развернете игру.

Примечание: В мануале используется Java версия Minecraft. Если вы приобрели свою версию Minecraft через Microsoft App Store, вы не сможете подключиться к этому серверу. Большинство версий Minecraft, приобретенных через приставки (через PlayStation 4, Xbox One или Nintendo Switch), также являются версией Minecraft от Microsoft. Эти консоли также не смогут подключиться к серверу, который мы создадим в этом руководстве. Получить Java версию Minecraft можно по этой ссылке.

Требования

  • Свежий сервер Ubuntu 20.04, а также пользователь с привилегиями sudo и включенным SSH. Настроить сервер можно по этому мануалу. Minecraft может потребовать много ресурсов, имейте это в виду при выборе размера вашего сервера.
  • Установленный Minecraft Java Edition на локальном компьютере Mac, Windows или Linux.

1: Установка пакетов и настройка брандмауэра

Если вы работаете со свежим сервером, вам нужно установить пакет Java; он нужен для запуска Minecraft.

Обновите индекс пакетов менеджера APT:

sudo apt update

Читайте также: Основы управления пакетами: apt, yum, dnf, pkg

Затем установите OpenJDK 8, headless JRE. Это базовая версия Java, которая устраняет поддержку приложений с графическим интерфейсом, благодаря чему она идеально подходит для запуска приложений Java на сервере.

sudo apt install openjdk-8-jre-headless

Вам также понадобится программа screen, которая предназначена для переключения между сеансами терминала. screen позволяет создавать несколько сеансов терминала и переключаться между ними, при этом не прерывая обработку процессов, запущенных в том или ином сеансе. Эта утилита важна; если вы запустите свой сервер, а затем закроете терминал, сеанс будет прерван и сервер остановится.

sudo apt install screen

Теперь, когда у вас установлены все необходимые пакеты, нужно настроить брандмауэр для поддержки трафика Minecraft. В базовой настройке брандмауэр пропускает только трафик SSH. Теперь нужно открыть порт 25565, который по умолчанию используется для соединений Minecraft. Добавьте такое правило брандмауэра:

sudo ufw allow 25565

2: Загрузка последней версии Minecraft

Теперь вам нужно скачать текущую версию сервера Minecraft. Вы можете найти ссылку Download minecraft_server.X.X.X.jar на сайте Minecraft и скопировать ее (где X – последняя версия сервера).

Затем используйте скопированную ссылку для загрузки сервера с помощью wget:

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

Если вы собирались обновить свой сервер Minecraft или хотите запустить другие версии Minecraft, переименуйте загруженный server.jar в minecraft_server_1.15.2.jar (только укажите номер версии, которую вы только что загрузили):

mv server.jar minecraft_server_1.15.2.jar

Если вы хотите загрузить более старую версию Minecraft, вы можете найти ее в архиве mcversions.net. Но здесь мы используем свежую версию. Теперь давайте приступим к настройке сервера Minecraft.

3: Настройка и запуск сервера Minecraft

Загрузив Minecraft, вы можете запустить его.

Сначала запустите сессию screen:

screen

Прочитав появившееся сообщение, нажмите пробел. screen откроет обычную сессию терминала. Вы можете свернуть эту сессию (то есть если вы запустите в ней команду и перейдете в другую сессию, эта команда продолжит работу).

Теперь вы можете выполнить начальную настройку сервера. Не пугайтесь, если следующая команда выдаст ошибку. Установка Minecraft спроектирована таким образом, чтобы пользователи сначала приняли лицензию компании. Для этого введите:

java -Xms1024M -Xmx1024M -jar minecraft_server_1.15.2.jar nogui

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

  • Xms1024M позволяет настроить сервер для работы с 1024 МБ или 1 ГБ оперативной памяти. Вы можете увеличить это значение, если хотите, чтобы ваш сервер пользовался большим объемом оперативной памяти. Опция поддерживает параметры M для определения мегабайт и G для гигабайт. Например, Xms2G запустит сервер с 2 гигабайтами оперативной памяти.
  • Xmx1024M задает ограничение для оперативной памяти в 1024M. Вы можете поднять этот лимит, если хотите, чтобы ваш сервер использовал больше памяти (так он сможет обслуживать больше игроков или работать быстрее).
  • Флаг -jar указывает, какой файл jar нужно запустить.
  • nogui отключает запуск графического интерфейса.

Эта команда должна запустить сервер, но при первом запуске она выдаст следующую ошибку:

[22:05:31] [22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
[22:05:31] [main/WARN]: Failed to load eula.txt
[22:05:31] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Сервер выдал эти ошибки, потому что ему не удалось найти два файла, необходимых для запуска: EULA (End User License Agreement, лицензионное соглашение с конечным пользователем), что хранится в файле eula.txt, и конфигурационный файл server.properties. Поскольку сервер не смог найти эти файлы, он самостоятельно создал их в вашем текущем рабочем каталоге.

Сначала откройте файл eula.txt в nano или в другом текстовом редакторе:

nano eula.txt

Внутри этого файла вы увидите ссылку на лицензионное соглашение Minecraft. Скопируйте URL:

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Mar 24 22:05:31 UTC 2020
eula=false

Откройте ссылку в браузере и прочитайте соглашение. Затем вернитесь в текстовый редактор и найдите последнюю строку в eula.txt. Здесь измените eula=false на eula=true. Теперь сохраните и закройте файл.

Итак, вы приняли лицензионное соглашение, и теперь пришло время настроить сервер в соответствии с вашими требованиями.

В вашем текущем рабочем каталоге вы также найдете только что созданный файл server.properties. Он содержит все параметры конфигурации для вашего сервера Minecraft. Вы можете найти подробный список всех свойств сервера в официальной вики Minecraft. Внесите в этот файл ваши настройки перед запуском сервера. В мануале мы рассмотрим только базовые параметры.

nano server.properties

В файле вы увидите:

#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false

Давайте подробнее остановимся на самых важных свойствах из этого списка:

  • Параметр difficulty (значение по умолчанию easy) устанавливает сложность игры, например, он определяет, сколько урона наносится и как элементы влияют на игрока. Он принимает значения peaceful, easy, normal и hard .
  • gamemode (по умолчанию survival) устанавливает режим игры. Возможные значения: survival, creative, adventure и spectator.
  • level-name (world по умолчанию) задает имя вашего сервера, которое будет отображаться в клиенте.
  • motd (по умолчанию A Minecraft Server) – это сообщение, которое отображается в списке серверов клиента Minecraft.
  • pvp (по умолчанию true) включает бой между игроками. Если установлено значение true, игроки смогут вступать в бой и наносить друг другу урон.

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

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

Снова запустите сервер с лимитом 1024M RAM. Только теперь давайте также предоставим Minecraft возможность использовать до 4 ГБ оперативной памяти, если это необходимо. Помните, что вы можете изменить этот лимит в соответствии с ограничениями или потребностями вашего сервера.

java -Xms1024M -Xmx4G -jar minecraft_server_1.15.2.jar nogui

Инициализация займет несколько минут. Скоро ваш сервер Minecraft выведет такой результат:

[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.15.2
[21:08:14] [Server thread/INFO]: Loading properties
[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
[21:08:14] [Server thread/INFO]: Generating keypair
[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

Когда сервер запустится, вы увидите такой вывод:

[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"

Ваш сервер запущен. После этого вы попадете в панель администратора сервера. Теперь введите help:

help

На экране появится:

[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
[21:15:37] [Server thread/INFO]: /ban <targets> [<reason>]
[21:15:37] [Server thread/INFO]: /ban-ip <target> [<reason>]
[21:15:37] [Server thread/INFO]: /banlist [ips|players]
...

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

4: Поддержка работы сервера

Теперь, когда ваш сервер запущен, нужно сделать так, чтобы он продолжал работать даже после отключения от SSH. Поскольку ранее вы запустили программу screen, вы можете свернуть эту сессию, нажав Ctrl+A+D. Эта комбинация вернет вас в исходную оболочку.

Запустите эту команду, чтобы увидеть все ваши сессии screen:

screen -list

В выводе вы найдете идентификатор вашей сессии, который вам понадобится для ее возобновления:

There is a screen on:
26653.pts-0.minecraft   (03/25/20 21:18:31)     (Detached)
1 Socket in /run/screen/S-root.

Чтобы восстановить сессию, передайте команде, передайте утилите флаг –r и укажите ID:

screen -r 26653

Когда вы будете готовы выйти со своего сервера, обязательно сверните сессию с помощью Ctrl+A+D, а затем выйдите.

5: Подключение к серверу Minecraft с клиента

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

Запустите вашу установку Minecraft Java Edition и выберите Multiplayer в меню.

Затем нужно добавить сервер, к которому вы будете подключаться, поэтому нажмите кнопку Add Server.

В появившемся окне Edit Server Info укажите имя и введите IP-адрес сервера. Это тот же IP-адрес, который вы использовали для подключения через SSH.

После того как вы ввели имя и IP-адрес своего сервера, вы вернетесь на экран Multiplayer, где теперь отображается ваш сервер.

После этого ваш сервер всегда будет отображаться в этом списке. Выберите его и нажмите Join Server.

Теперь вы находитесь на своем сервере и готовы играть!

Заключение

Теперь на Ubuntu 20.04 у вас есть сервер Minecraft, на котором вы можете играть со своими друзьями.

Tags: , , , ,