Автор выбрал 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 здесь.
Для выполнения этого обучающего руководства вам потребуется следующее:
Сервер со свежеустановленной ОС Ubuntu 20.04, пользователь без прав root с привилегиями sudo
и поддержка SSH. Вы можете воспользоваться этим руководством для инициализации вашего сервера и выполнения этих шагов. Minecraft может потреблять множество ресурсов, поэтому мы рекомендуем учитывать это при выборе размера вашего сервера. Если вы используете DigitalOcean и вам требуются дополнительные ресурсы, вы в любой момент можете изменить размер дроплета, добавив процессоры и оперативную память.
Копия Java-версии Minecraft, установленная на локальном компьютере Mac, Windows или Linux.
После инициализации сервера вашим первым действием будет установка Java, которая потребуется вам для запуска Minecraft.
Обновите индекс пакетов для менеджера пакетов APT:
- sudo apt update
Затем установите 8 версию OpenJDK для Java, в частности, headless JRE. Это минимальная версия Java, которая не имеет поддержки графического интерфейса приложений. Это делает ее идеальным решением для запуска приложений Java на сервере:
- sudo apt install openjdk-8-jre-headless
Также вам потребуется программное обеспечение под названием screen
для создания отделяемых сеансов сервера. screen
позволяет вам создать терминальный сеанс и отделиться от него, оставляя процесс, который крутится в новом сеансе, запущенным. Это важно, поскольку если бы вы запустили сервер и закрыли терминальный сеанс, это приводило бы к прекращению сеанса и остановке сервера. Установите screen
:
- sudo apt install screen
Теперь, когда вы установили все пакеты, необходимо активировать брандмауэр для подключения трафика на наш сервер Minecraft. Когда вы производили начальную настройку сервера, вы установили разрешение только на трафик от SSH. Теперь вам нужно разрешить трафик от порта 25565, который Minecraft использует по умолчанию для подключений. Добавьте необходимое правило брандмауэра, запустив следующую команду:
- sudo ufw allow 25565
Теперь, когда вы установили Java и корректно настроили ваш брандмауэр, вы можете загрузить сервер Minecraft с веб-сайта Minecraft.
Теперь вам нужно загрузить актуальную версию сервера Minecraft. Вы можете сделать это, открыв сайт Minecraft и скопировав ссылку с названием Download minecraft_server. X.X.X.jar, где 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
Если вы хотите загрузить более старую версию, воспользуйтесь архивом на сайте mcversions.net. В этом руководстве вы будем рассматривать самую последнюю версию. Теперь, когда вы загрузили нужные файлы, давайте приступим к настройке вашего сервера Minecraft.
Теперь, когда вы загрузили jar-файл Minecraft, вы можете запустить его.
Сначала запустите сеанс screen, выполнив команду screen
:
- screen
После изучения содержания появившегося на экране баннера, нажмите кнопку ПРОБЕЛ
. screen
отобразит для вас терминальный сеанс как обычный. Теперь этот сеанс является отделяемым, что означает, что вы сможете запустить здесь команду и оставить ее в работающем состоянии.
Теперь вы можете выполнить начальную конфигурацию. Не обращайте внимания, когда следующая команда выдаст ошибку. Minecraft разработал установку таким образом, чтобы пользователи сначала согласились с лицензионным соглашением компании. Вы можете сделать это с помощью следующей команды:
- 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
или предпочитаемом текстовом редакторе:
- nano eula.txt
Внутри этого файла вы найдете ссылку на EULA 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
Откройте URL в браузере и прочитайте соглашение. Затем вернитесь в текстовый редактор и перейдите к последней строке файла 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
и spectacor
.
level-name
(по умолчанию world
) — Это свойство задает имя вашего сервера, которое будет отображаться в клиенте. Такие символы, как апостроф, возможно, потребуется экранировать с помощью обратной косой черты.
motd
(по умолчанию A Minecraft Server
) — Сообщение, отображаемое в списке серверов клиента Minecraft.
pvp
(по умолчанию true
) — Данное свойство активирует pvp режим. Если установлено значение true
, игроки смогут вступать в бой и наносить друг другу урон.
После настройки нужных опций сохраните и закройте файл.
Теперь, когда вы установили значение true
в EULA и настроили параметры, вы можете успешно запустить сервер.
Как и в прошлый раз, давайте запустим ваш сервер с 1024 Мб оперативной памяти. Однако в этот раз мы также предоставим Minecraft возможность использовать до 4 Гб оперативной памяти при необходимости. Помните, что вы можете изменить это число согласно ограничениям вашего сервера или потребностям пользователя:
- 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
:
- 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 и запустить новую игру.
Теперь, когда у вас есть работающий сервер, вы можете захотеть, чтобы он продолжал работать даже после вашего отключения от SSH сеанса. Поскольку вы уже использовали screen
ранее, вы можете отсоединиться от этого сеанса, нажав Ctrl + A + D
. После этого вы вернетесь в первоначальную оболочку:
Запустите эту команду, чтобы посмотреть все ваши сеансы screen:
- screen -list
Вы получите вывод с идентификатором вашего сеанса, который вам потребуется для возобновления этого сеанса:
OutputThere is a screen on:
26653.pts-0.minecraft (03/25/20 21:18:31) (Detached)
1 Socket in /run/screen/S-root.
Для возобновления сеанса передайте флаг -r
в команду screen
, а затем введите идентификатор вашего сеанса:
- screen -r 26653
Когда вы будете готовы выйти из вашего сервера, обязательно выполните отсоединение от сеанса, нажав Ctrl + A + D
, а затем выполните выход.
Теперь, когда ваш сервер запущен и работает, давайте подключимся к нему из клиента Minecraft. А затем вы сможете начать играть!
Запустите вашу копию Java-версии Minecraft и выберите Multiplayer в меню.
Затем вам потребуется добавить сервер для подключения, поэтому нажмите кнопку Add Server (Добавить сервер).
На экране Edit Server Info (Изменить информацию сервера) укажите имя вашего сервера и введите его IP-адрес. Это тот же IP-адрес, который вы использовали для подключения через SSH.
После ввода имени и IP-адреса сервера вы вернетесь на экран Multiplayer, где теперь будет указан ваш сервер.
С этого момента ваш сервер всегда будет отображаться в этом списке. Выберите его и нажмите Join Server (Войти на сервер).
Вы находитесь на сервере и готовы к игре!
Теперь у вас есть сервер Minecraft, работающий на Ubuntu 20.04, для вас и всех ваших друзей! Наслаждайтесь исследованиями, оттачивайте мастерство и выживайте в грубом 3D мире. И следите за гриферами.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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!