Tutorial

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

Published on May 21, 2020
Default avatar

By Mason Egger

Developer Advocate

Русский
Создание сервера Minecraft в Ubuntu 18.04

Автор выбрал Tech Education Fund для получения пожертвования в рамках программы Write for DOnations.

Введение

Minecraft — это популярная видеоигра в жанре Sandbox (песочница). Вышедшая в 2009 году игра позволяет игрокам создавать, изучать, мастерить и выживать в мире из 3D кирпичиков. На конец 2019 года она была второй по популярности видеоигрой всех времен. В этом руководстве вы создадите собственный сервер Minecraft, чтобы вы и ваши друзья могли играть вместе. В частности, вы установите необходимые программные пакеты для запуска Minecraft, настроите сервер для запуска, а затем развернете игру.

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

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

Предварительные требования

Для выполнения этого обучающего руководства вам потребуется следующее:

Шаг 1 — Установка необходимых пакетов программного обеспечения и настройка брандмауэра

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

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

  1. sudo apt update

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

  1. sudo apt install openjdk-8-jre-headless

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

  1. sudo apt install screen

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

  1. sudo ufw allow 25565

Теперь, когда вы установили Java и корректно настроили ваш брандмауэр, вы можете загрузить сервер Minecraft с веб-сайта Minecraft.

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

Теперь вам нужно загрузить актуальную версию сервера Minecraft. Вы можете сделать это, открыв сайт Minecraft и скопировав ссылку с названием Download minecraft_server. X.X.X.jar, где X — последняя версия сервера.

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

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

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

  1. mv server.jar minecraft_server_1.15.2.jar

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

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

Теперь, когда вы загрузили jar-файл Minecraft, вы можете запустить его.

Сначала запустите сеанс screen, выполнив команду screen:

  1. screen

После изучения содержания появившегося на экране баннера, нажмите кнопку ПРОБЕЛ. screen отобразит для вас терминальный сеанс как обычный. Теперь этот сеанс является отделяемым, что означает, что вы сможете запустить здесь команду и оставить ее в работающем состоянии.

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

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

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

  • Xms1024M — этот аргумент выполняет настройку запуска сервера с 1024 Мб или 1 Гб ОЗУ. Вы можете увеличить этот лимит, если хотите, чтобы ваш сервер запускался с большим объемом оперативной памяти. Аргумент поддерживает как М для мегабайт, так и G для гигабайт. Например, аргумент Xms2G будет запускать сервер с 2 гигабайтами оперативной памяти.

  • Xmx1024M — этот аргумент позволяет серверу использовать не более 1024 Мб оперативной памяти. Вы можете увеличить этот лимит, если хотите, чтобы ваш сервер имел больший размер и принимал больше игроков, либо если ваш сервер работает медленно.

  • jar — этот аргумент указывает, какой jar-файл сервера должен быть запущен.

  • nogui — этот аргумент указывает серверу не запускать графический пользовательский интерфейс, так как это сервер, где вам не требуется графический пользовательский интерфейс.

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

Output
[22:05:31] [environment second] [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 (Лицензионное соглашение конечного пользователя) в eula.txt​​ и файл конфигурации server.properties. К счастью, поскольку сервер не смог найти эти файлы, он создал их в текущем рабочем каталоге.

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

  1. nano eula.txt

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

~/eula.txt
#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

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

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

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

  1. nano server.properties

Ваш файл будет выглядеть следующим образом:

~/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) — Данное свойство активирует pvp режим. Если установлено значение true, игроки смогут вступать в бой и наносить друг другу урон.

После настройки нужных опций сохраните и закройте файл.

Теперь, когда вы установили значение true в EULA и настроили параметры, вы можете успешно запустить сервер.

Как и в прошлый раз, давайте запустим ваш сервер с 1024 Мб оперативной памяти. Однако в этот раз мы также предоставим Minecraft возможность использовать до 4 Гб оперативной памяти при необходимости. Помните, что вы можете изменить это число согласно ограничениям вашего сервера или потребностям пользователя:

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

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

Output
[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

После того как сервер будет запущен, вы увидите следующий вывод:

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

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

  1. help

Вывод будет выглядеть следующим образом:

Output
[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:

  1. screen -list

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

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

Для возобновления сеанса передайте флаг -r в команду screen, а затем введите идентификатор вашего сеанса:

  1. screen -r 26653

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

Шаг 5 — Подключение к вашему серверу из клиента Minecraft

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

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

Выбор режима Multiplayer в меню

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

Нажмите кнопку Add Server (Добавить сервер)

На экране Edit Server Info (Изменить информацию сервера) укажите имя вашего сервера и введите его IP-адрес. Это тот же IP-адрес, который вы использовали для подключения через SSH.

Укажите имя и IP-адрес вашего сервера

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

Выберите сервер и нажмите Join Server (Войти на сервер)

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

Наслаждайтесь игрой!

Вы находитесь на сервере и готовы к игре!

Заключение

Теперь у вас есть сервер Minecraft, работающий на Ubuntu 18.04, для вас и всех ваших друзей! Наслаждайтесь исследованиями, оттачивайте мастерство и выживайте в грубом 3D мире. И следите за гриферами.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Developer Advocate

Mason is currently a Sr. Developer Advocate at DigitalOcean who specializes in cloud infrastructure, distributed systems, and Python.



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
1 Comments


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Consider opening port 22 otherwise you won’t be able to connect to your server via SSH

sudo ufw allow 22

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel