mcrcon и консоль администрирования сервера Minecraft
Содержание
Введeние
В сервер Minecraft встроена консоль администрирования, которая доступна через стандартный поток ввода и стандартный поток вывода. Но также возможно получить доступ к консоли администрирования через сеть. Для этого сервер Minecraft поддерживает специальный протокол RCON, описание которого можно найти по ссылкам RCON и Source RCON Protocol.
Для подключения к консоли администрирования сервера по протоколу RCON существуют специальные клиенты. Одним из таких клиентов, написаным на языке программирования Си, является клиент mcrcon. Подготовка pkgsrc с этим клиентом описана в статье Делаем pkgsrc для клиента консоли администрирования сервера Minecraft mcrcon.
Установка mcrcon
Установим пакет с помощью команд:
# cd /usr/pkgsrc/games/mcrcon
# make install
Я пользуюсь собственным сборочным сервером, настройка которого описана в статье Настройка сборочного сервера NetBSD, с помощью которого поддерживаю собственный репозиторий с готовыми двоичными пакетами, собранными с нужными мне опциями. Поэтому я установил готовый пакет из этого репозитория:
# pkgin update
# pkgin -y install mcrcon
Включение консоли администрирования
Для включения и настройки консоли администрирования сервером Minecraft, работающей по протоколу RCON, предназначены следующие опции в файле /var/games/minecraft-server/server.properties
:
enable-rcon=true
rcon.password=$ecret_p4$$w0rd
rcon.port=25575
broadcast-rcon-to-ops=false
Где:
enable-rcon
- логическая переменная, включающая консоль администрирования. Значениеtrue
включает консоль, значениеfalse
- выключает,rcon.password
- пароль для доступа к консоли адинистрирования,rcon.port
- номер TCP-порта для доступа к консоли администрирования. По умолчанию для консоли администрирования используется порт с номером 25575,broadcast-rcon-to-ops
- логическая переменная, вклюающая отправку вывода команд всем администраторам, подключенным к серверу. Значениеtrue
включает отправку вывода команд всем администраторам сервера, значениеfalse
- отключает.
После изменения настроек сервер Minecraft нужно перезапустить, чтобы настройки вступили в силу. В моём случае сервер Minecraft работает под управлением daemontools
(см. статью Запуск сервера Minecraft в NetBSD с помощью daemontools), поэтому перезапустить его можно следующим образом:
# svc -du /service/minecraft-server
Подключение к консоли администрирования
Если клиент mcrcon
установлен на тот же компьютер, где установлен сервер Minecraft, то для подключения достаточно простой команды с указанием пароля для доступа к консоли администрирования:
$ mcrcon -p $ecret_p4$$w0rd
В случае, если сервер и клиент установлены на разных компьютерах, для подключения нужно так же указать адрес и порт сервера, если он отличается от TCP-порта по умолчанию с номером 25575:
$ mcrcon -H minecraft.vm.stupin.su -P 25575 -p $ecret_p4$$w0rd
Можно выполнять команды в консоли не в интерактивном режиме. В документации приводится пример выполнения трёх команд в неинтерактивном режиме:
$ mcrcon -H minecraft.vm.stupin.su -p $ecret_p4$$w0rd -w 5 "say Server is restarting!" save-all stop
Выполняются три команды с интервалом в 5 секунд:
"say Server is restarting!"
- вывод сообщения "Server is restarting!" для всех пользователей,save-all
- сохранение всех данных сервера в файлы на диске,stop
- завершить работу сервера.
Администрировать сервер можно и из консоли, встроенной в сам игровой клиент. Однако прежде чем появится доступ к командам администрирования, пользователю нужно выдать права администратора. Для этого можно воспользоваться командой op
с аргументом - именем пользователя, которому выдаются права администратора, например:
$ mcrcon -p $ecret_p4$$w0rd "op meinecruft"