вторник, 29 ноября 2016 г.

Установка 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

Комментариев нет:

Отправить комментарий