🐹 Minecraft: Настройка системы rcon. Удалённое управление игровым сервером консолью под Windows и под GNU/Linux. Утилита mcrcon.

Содержание:

1. Что такое rcon?
2. Варианты управления сервером.

2.1. Web-приложение Minecraft RCON Console.
2.2. Утилита mcrcon для GNU/Linux.

2.2.1. Из GitHub — сами соберем.
2.2.2. Из GitHub — скачаем собранную.
2.2.3. Установим из репозитория.
2.2.4. Синтаксис и управление утилитой mcrcon.

2.3. Утилита mcrcon для Windows.

2.3.1. Скачивание улиты с GitHub.
2.3.2. Создание скриптов запуска.
2.3.3. Создание скрипта запуска.

3. Краткий справочник команд.
4. Оригиналы источников информации.



1. Что такое rcon?

Rcon — это система, которая может локально или удаленно управлять вашим Minecraft сервером через web-интерфейс, если вы находясь далеко от компьютера на котором запущен сервер.

Настроим взаимодействие rcon и сервера Minecraft.

Эти параметры находится в файле конфигурации сервера Minecraft server.properties, который распаковывается всегда рядом с eula.txt:

# mcedit /home/minecraftuser/server.properties

Ищем строки, которые содержат эти параметры и заменяем их на вот эти значения:

query.port=25585
enable-query=true
rcon.port=25575
rcon.password=rconpassword
enable-rcon=true

Вот несколько полезных параметров:

  • query.port=25585 — Данное значение менять на свое не рекомендуется, но если понимаете, как это работает, то меняйте по ситуации;
  • rcon.port=25575 — Данное значение менять на свое не рекомендуется, но если понимаете, как это работает, то меняйте по ситуации;
  • rcon.password — Пароль для подключения rcon к серверу Minecraft;
  • значения 'enable-query=false' поменяйте на 'enable-query=true';
  • значение 'enable-rcon=false' поменяйте на 'enable-rcon=true'.

Сохраняем файл конфигурации и выходим из редактора.

2. Варианты управления сервером.

2.1. Web-приложение Minecraft RCON Console.

Для того, чтобы web-панель заработала, вам потебуется полнять у себя nginx с модудем обработки PHP.

Если вы не знаете как настроить nginx, то далее по инструкции будет описание как сделать свою локальную консоль с помощью специальной утилиты mcrcon.

Ссылка: «CentOS 7: Настройка web-сервера Nginx и выход в Интернет со своим доменным именем.»

Для активации работы Minecraft RCON Console, выполним некоторые действия.

2.1.1. Скачаем архив с системой Minecraft RCON Console с GitHub-раздела разработчиков:

Ссылка: https://github.com/ekaomk/Minecraft-RCON-Console.

2.1.2. Создадим каталог Minecraft RCON Console в каталоге сервера Nginx:

# mkdir -p /var/www/rcon

Распакуем все содержимое Minecraft RCON Console в каталог /var/www/rcon.

2.1.3. Редактируем файл config.php в каталоге /var/www/rcon используя значения rcon.port и rcon.password, которые вы указали на предыдущем шаге.

# mcedit /var/www/rcon/config.php

$serverName = "Minecraft Server";
$rconHost = "127.0.0.1";
$rconPort = 25575;
$rconPassword = "rconpassword";
$queryHost = "127.0.0.1";
$queryPort = 25585;

Сохраним файл.

Запустим раздачу Minecraft RCON Console через Nginx.

2.1.4. Заходим в web-интерфейс Minecraft RCON Console любым удобным способом, который вы сделали для себя с помощью nginx.

# http://ваш-IP-адрес

Нас попривествует окно авторизации:

Пользователь по умолчанию используется admin, пароль по умолчанию 1234abcd.

Внешний вид интерфейса Minecraft RCON Console:

Что сюда вводить? Обычные команды для сервера Minecraft. Всё как обычно.

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

Заходим в web-интерфейс Minecraft RCON Console любым удобным способом, и добавляем приписку в пути адреса с новым паролем на конце:

# http://ваш-IP-адрес/authsys.php?generate_password=your_password

Ответ:

В ответ получим хэш пароля: $2y$10$OKUGUYKLPATNIeKNlOFcJ.COKt7.dJ8RpCbf60o8SHX9bzTXi9QqK.

Редактируем файл authsys.php в каталоге /var/www/rcon для замены логина и пароля администратора.

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

Открываем файл с параметрами авторизации:

# mcedit /home/minecraftuser/rcon/authsys.php

Заменяем по смыслу участки кода с строке с логинов и паролем:

$login_data = array("admin" => '$2y$10$1PGI0jsBj8w413SvbriuZOFHgiqqtu3aXgC2.cNwP4vGKIGqmDUAO');

на вот это:

$login_data = array("newadmin" => '$2y$10$OKUGUYKLPATNIeKNlOFcJ.COKt7.dJ8RpCbf60o8SHX9bzTXi9QqK');

В итоге у нас будет новая пара для входа в web-интерфейс Minecraft RCON Console:

  • Логин: newadmin
  • Пароль: your_password

Следующий вход в Minecraft RCON Console выполните с помощью нового логина и пароля.

2.2. Утилита mcrcon для GNU/Linux.

2.2.1. Из GitHub — сами соберем.

Скачаем архив с оболочкой утилиты mcrcon с GitHub-раздела разработчика.

Ссылка: https://github.com/Tiiffi/mcrcon.

Создадим папку mcrcon в корневом каталоге сервера Minecraft:

# mkdir -p /home/minecraftuser/mcrcon

Переместимся в неё:

# cd /home/minecraftuser/mcrcon
# yum -y install git gcc
# git clone https://github.com/Tiiffi/mcrcon.git
# cd mcrcon
# make
# sudo make install

Ответ:

Проверим версию программы:

# mcrcon -v

Ответ:

2.2.2. Из GitHub — скачаем собранную.

Можно скачать собранную.

Ссылка: https://github.com/Tiiffi/mcrcon/releases.

Скачиваем архив mcrcon-0.7.1-linux-x86-64.tar.gz по ссылке с GitHub:

# cd /tmp
# wget https://github.com/Tiiffi/mcrcon/releases/download/v0.7.1/mcrcon-0.7.1-linux-x86-64.tar.gz
# tar -xvf /tmp/mcrcon-0.7.1-linux-x86-64.tar.gz
# cp /tmp/mcrcon-0.7.1-linux-x86-64/mcrcon /usr/sbin/mcrcon
# mcrcon -v

Проверим версию программы:

# mcrcon -v

Ответ:

2.2.3. Установим из репозитория.

Установми репозиторий EPEL:

# yum -y install epel-release

Установим mcrcon:

# yum -y install mcrcon

Проверим версию программы:

# mcrcon -v

Ответ:

С GitHub версия актуальнее.

2.2.4. Синтаксис и управление утилитой mcrcon.

Посылает mcrcon команды серверу Minecraft.

# mcrcon [OPTIONS] [COMMANDS]

Вызов справки традиционно:

# man mcrcon

Опции:

  • -H адрес сервера (по умолчанию: localhost);
  • -P порт (по умолчанию: 25575);
  • -p пароль;
  • -t режим терминала;
  • -s скрытый режим;
  • -c отменить цветовую разметку;
  • -r вывод необработанных пакетов;
  • -w задает длительность (секунды) между каждой командой (1 — 600 сек);
  • -h вывести символы;
  • -i для вызова терминального режима;
  • -v информация о версии.

Адрес сервера, порт и пароль могут быть установлены с помощью следующих переменных сред:

MCRCON_HOST
MCRCON_PORT
MCRCON_PASS

Заметки:

  • Утилита mcrcon запустится в терминальном режиме, если никакие команды не будут даны заранее;
  • Параметры командной строки будут переопределять переменные среды;
  • Команды rcon с пробелами должны быть заключены в кавычки.

Примеры использования:

  • Сохранить мир игры:

# mcrcon -H 192.168.0.29 -P 25575 -p rconpassword save-all

  • Перезапустить сервер для принятия новых настроек и параметров после измений:

# mcrcon -H 192.168.0.29 -P 25575 -p rconpassword restart

  • Отправим на исполнение 3 команды («say», «save-all», «stop») с шагом ожидания 7 секунд между командами.

# mcrcon -H 192.168.0.29 -P 25575 -p rconpassword -w 7 "say Server is restarting" save-all restart
2.3. Утилита mcrcon для Windows.

2.3.1. Скачивание улиты с GitHub.

Утилита mcrcon — позволяет удалёно управлять вашим сервером Minecraft через rcon даже в Windows.

Скачиваем крайнюю mcrcon версию под Windows или с GitHub-раздела рахработчика.

Ссылка: https://github.com/Tiiffi/mcrcon/releases.

Распаковываем архив с mcrcon в любую папку в Windows.

У нас будет там всего 2 файла: лицензионное соглашение и сама утилита.

Без специальных скриптов запуска мы ее использовать не сможем! Создадим их!

2.3.2. Создание скриптов запуска.

Создадим скрипт для запуска утилиты mcrcon. Для этого нам понадобится дополнительно создать руками 2 файла: launch.bat и create_shortcut.dat.

Создадим простой текстовый файл launch.txt и поместим в него вот эти строки:

@echo off
@cls

@if not exist mcrcon.exe (
  @echo ERROR: Cannot find "mcrcon.exe". Bailing out!
  @echo.
  @pause
  @exit
)

@set /p host="Enter host (default: 127.0.0.1): "
@if "%host%"=="" set host=127.0.0.1

@set /p port="Enter port (default: 25575): "
@if "%port%"=="" set port=25575

@set /p passwd="Enter password: "
@if "%passwd%"=="" set passwd=

@echo.
mcrcon.exe -t -H %host% -P %port% -p %passwd%
@echo.

@set "host="
@set "port="
@set "passwd="

@pause

Переименуем launch.txt в launch.bat.

Создадим простой текстовый файл create_shortcut.txt и поместим в него вот эти строки:

@echo off
@cls

@set /p host="Enter host (default: "127.0.0.1"): "
@if "%host%"=="" set host=127.0.0.1

@set /p port="Enter port (default: 25575): "
@if "%port%"=="" set port=25575

@set /p passwd="Enter password: "
@if "%passwd%"=="" set passwd=

set name=connect_%host%-%port%

@set /p name="Enter shortcut name (default: "%name%.bat"): "
@if "%name%"=="" set name=connect_%host%-%port%

set command=@mcrcon.exe -t -H %host% -P %port% -p %passwd%

@echo %command% >> %name%.bat
@echo.
@echo Command: "%command%"
@echo.
@echo Shortcut "%name%.bat" created!
@echo.

@set "host="
@set "port="
@set "passwd="

@pause

Переименуем create_shortcut.txt в create_shortcut.bat.

2.3.3. Создание скрипта запуска.

Запустим от имени Администратора Windows файл create_shortcut.bat. Откроется окно конструктора. По смыслу введем туда некоторые переменные, которые мы указали ранее в файле конфигурации сервера Minecraftserver.properties.

По шагам:

  • Enter host. Вводим IP-адрес сервера Minecraft. IP-адрес куда будем подключаться. В случае нашего примера это 192.168.0.29.
  • Enter port. Вводим порт IP-адреса сервера Minecraft. Порт IP-адреса куда будем подключаться. В случае нашего примера это 25575. Не забыли сделать проброс порта 25575 в iptables?
  • Enter password. Вводим пароль, который мы указали ранее в файле конфигурации сервера Minecraftserver.properties. В нашем случае он rconpassword.
  • Enter shortcut name. Сделать можно придумать название файлу запуска сервера Minecraft. Я оставляю его по умолчанию. И так красиво получится. Просто нажимаю клавишу Enter.

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

Поздравляю! Теперь у нас есть файл запуска утилиты mcrcon и мы сможем управлять сервером Minecraft прямо из под Windows!

Запустим от имени Администратора Windows файл connect_192.168.0.29-25575.bat и попадем в привычную консоль управления сервером Minecraft.

Что делать с ней даль вы и так знаете. Команды для сервера Minecraft в избытке имеются на страницах Интернета.

3. Краткий справочник команд.

Команды связанные с действиями игрока:

  • /kick ник игрока — кикнуть игрока,
  • /ban ник игрока — забанить игрока,
  • /pardon ник игрока — разбанить игрока,
  • /op ник игрока — дает игроку админку,
  • /deop ник игрока — отключает у игрока админку,
  • /gamemode 0 или 1 ник игрока – меняет режим игры игрокам (где число 0 — это выживание, а число 1 — креатив),
  • /tp ник игрока1 ник игрока2 — телепорт игрока 1 к игроку 2,
  • /tp ник игрока <x> <y> <z> – телепортирует игрока по указанным координатам,
  • /give ник игрока <номер предмета> <количество> — дает игроку ресурсы,
  • /list — отображение всех подключенных игроков,
  • /say сообщение — отправка сообщения всем игрокам (анонс) “Говорит сервер”, сообщение отображается розовым цветом,
  • /xp <количество> ник игрока – дает игроку с указанным ником указанное количество очков опыта.

Команды связанные с IP-адресом:

  • /ban-ip <ip-адрес> — банит IP адрес, путем занесения его в черный список. Игроки, имеющие IP-адрес в черном списке не могут играть на сервере,
  • /pardon-ip <ip-адрес> — противоположная бану по IP команда, также удаляет IP из черного списка.

Команды сервера:

  • /stop — остановка сервера,
  • /save-all — принудительное сохранение уровня,
  • /save-off — отключение сохранение уровней,
  • /save-on — включение сохранения уровня,
  • /whitelist on или off — включение или отключение белого списка,
  • /whitelist add или remove ник игрока — внесение в белый список или удаление игрока из него,
  • /whitelist list — отобразить всех игроков включенных в белый список,
  • /whitelist reload — отображение всех подключенных игроков,
  • /toggledownfall – изменяет погоду (каждый раз по-разному),
  • /time add или set <число> — коррекция текущего времени в диапазоне от 0 до 2400.

Прочие полезные команды:

  • /me — команда, позволяющая отправлять сообщения от третьего лица,
  • /defaultgamemode 0 или 1 — меняет игровой режим мира.

4. Оригиналы источников информации.

  1. github.com «ekaomk / Minecraft-RCON-Console.»
  2. github.com «Tiiffi / mcrcon.»
  3. github.com «Tiiffi / mcrcon releases.»
  4. ferrum1games.wordpress.com «Minecraft: Как стать админом на своем сервере, а так же его команды.»

Читайте также: