Виберіть свою мову

Установка Minecraft Multiplayer Server в Ubuntu 16.04

 
Minecraft - очень популярная игра в жанре песочницы. В этой статье мы покажем вам, как установить сервер Minecraft для игры с друзьями в собственном виртуальном мире. Вам может понадобиться купить Minecraft. Игра написана на Java, поэтому она может работать в Linux, macOS или Windows. Мы собираемся установить сервер и играть в Ubuntu. Сервер будет установлен в облачном узле (например в digitalocean, aws, linode и rackspace), хотя вы можете установить его и на локальной машине. В этом случае он, скорее всего, будет доступен только в вашей домашней сети, если только у вас нет публичного IP.
 
Как установить Minecraft Server
 
Первым делом необходимо установить Java. Документация Minecraft рекомендует Sun JDK 6, но он сильно устарел, и стандартом де-факто уже стал OpenJDK, поэтому мы будем использовать OpenJDK 8 вместо проприетарного Oracle JDK. Давайте установим его:
 
sudo apt install openjdk-8-jre
 
Для обеспечения безопасности не рекомендуется запускать сервер Minecraft от имени root, поэтому мы создадим пользователя minecraft и добавим его в группу minecraft.
 
adduser minecraft
 
groupadd minecraft
 
usermod -a -G minecraft minecraft
 
Теперь мы можем авторизоваться в системе как пользователь minecraft, чтобы установить сервер minecraft.
 
su minecraft
 
Нам также необходимо перейти в свою домашнюю директорию, чтобы скачивание не производилось в директорию root, так как у нас нет прав записи в нее.
 
cd
 
Далее мы скачиваем текущую версию (1.10.2 ) сервера minecraft.
 
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.10.2/minecraft_server.1.10.2.jar
 
Мы переименуем сервер таким образом, чтобы избавиться от номера версии. В будущем это упростит его обновление, можно будет просто заменять бинарный файл.
 
mv minecraft_server.1.10.2.jar minecraft_server.jar
 
Теперь мы запускаем сервер в первый раз:
 
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
 
Первый запуск будет безуспешным, так как нам необходимо согласиться с EULA. При первом запуске будет создан файл eula.txt, который нам будет необходимо отредактировать, чтобы согласиться с EULA. Это можно сделать с помощью следующей команды:
 
sed -i.orig 's/eula=false/eula=true/g' eula.txt
 
Снова запускаем сервер.
 
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
 
Теперь сервер должен запуститься, и вы можете ввести его ip-адрес в игре, чтобы подключиться к серверу.
 
Подключение к серверу
 
Теперь у нас есть работающий сервер и нам необходимо подключить к нему нашу игру. Мы предполагаем, что вы купили игру, так как мы не знаем, можно ли каким-либо образом получить ее бесплатно. Если вы купили игру, опция мультиплеера у вас разблокирована, и это то, что вам нужно для подключения к серверу. Для тестирования мы купили лицензию за $26.95. После покупки можно скачивать игру неограниченное количество раз с любого числа компьютеров. Скачайте последнюю версию клиента с официального сайта Minecraft. Сделайте файл исполняемым:
 
chmod +x minecraft.jar
 
Далее вы можете дважды кликнуть jar-файл, либо с помощью контекстного меню запустить его с OpeJDK. Далее необходимо ввести данные аккаунта, которые вы использовали для покупки игры.
 
 
 
После ввода имени пользователя и пароля вы должны увидеть следующую картину:
 
 
После входа в мультиплеер вы не должны видеть здесь серверы. Необходимо добавить сервер, который мы установили.
 
 
Для добавления сервера просто введите ip-адрес. Название сервера может быть любым.
 
 
После добавления сервера он появится в списке и мы можем подключиться к нему. После подключения к игре в консоли сервера должно появиться следующее сообщение:
 
[Server thread/INFO]: LinoxideBlaster joined the game
 
Имя пользователя у вас конечно будет другое.
 
 
Когда вы закончите играть и выйдите, в консоли должно появиться сообщение такого вида:
 
[Server thread/INFO]: LinoxideBlaster left the game
 
Создание скрипта запуска сервера
 
Убедившись, что все работает нормально, вы захотите закрыть окно терминала с сессией SSH-соединения. Однако при этом сервер Minecraft выключится, так как он работает в режиме обычного приложения. Поэтому необходим стартовый скрипт, который будет запускать сервер в фоновом режиме при загрузке системы. Давайте займемся его созданием.
 
Сначала необходимо закрыть предыдущий экземпляр сервера Minecraft, который работает в обычном режиме. Просто нажмите  Ctrl-C, чтобы закрыть его. Далее нам необходимо авторизоваться как root.
 
su
 
Создадим новый файл, который будет нашим скриптом.
 
nano /etc/systemd/system/minecraft-server.service
 
Вставьте в него следующие строки:
 
[Unit]
Description=start and stop the minecraft-server
 
[Service]
WorkingDirectory=/home/minecraft
User=minecraft
Group=minecraft
Restart=on-failure
RestartSec=20 5
ExecStart=/usr/bin/java -Xms1536M -Xmx1536M -jar minecraft_server.jar nogui
 
[Install]
WantedBy=multi-user.target
Alias=minecraft.service
 
Далее мы можем запустить службу:
 
systemctl start minecraft-server.service
 
И добавить скрипт в автозагрузку:
 
systemctl enable minecraft-server.service