Использование RCON и добавление доната на сервер

При создании сервера вы можете столкнуться с необходимостью выполнять какие-либо команды на нём, не имея прямого доступа к консоли. Эту задачу позволяет решить протокол RCON, доступный по умолчанию на любом ядре. Он может быть использован как для простого выполнения команд на сервере вручную, так и для автоматизации различных процессов, требующих выполнения команд в консоли. В этой статье мы рассмотрим, как можно использовать RCON на сервере, запущенном на нашем хостинге.

Включаем RCON

В целях безопасности RCON по умолчанию выключен. Убедиться в этом можно, открыв файл server.properties. Параметр enable-rcon будет иметь значение false, если Вы его ранее не изменяли. Чтобы включить RCON, необходимо установить этому параметру значение true:

enable-rcon=true

После этого необходимо перезагрузить сервер, чтобы применить изменения. В server.properties появятся новые строчки:

rcon.ip=0.0.0.0
rcon.port=25893
rcon.password=

Эти строки, скорее всего, будут идти не в таком порядке и не будут находиться рядом. Вы можете использовать поиск (Ctrl+F) по слову rcon, чтобы найти их. Изменять параметр rcon.ip мы не рекомендуем, он всегда должен иметь значение 0.0.0.0.

Важно обратить внимание на параметр rcon.port. Порт по умолчанию будет на 10 больше, чем основной порт сервера, поэтому у Вас он будет не таким, как в примере. Нужно понимать, что RCON - в некотором смысле отдельная служба, которая запускается на отдельном порте, и не может быть запущена на том же порте, что и сам сервер. Это значит, что при выборе порта для RCON, необходимо убедиться, что значения параметров rcon.port и server-port не совпадают. Следует указать свободный порт, доступный Вашему серверу. Чтобы посмотреть, какие порты Вам доступны, зайдите во вкладку "Сеть" в панели:

Вкладка "Сеть"

По умолчанию серверу доступны два порта. Один из них справа помечен как "Основной", это значит, что панель его автоматически подставляет в параметр server-port в файле server.properties. Как уже было сказано выше, вы не можете указать один и тот же порт в server-port и в rcon.port, поэтому использовать "Основной" порт для RCON нельзя. Выбираем свободный порт, не помеченный как "Основной", в примере выше это 25884. Укажем его в server.properties:

rcon.port=25884

Параметр rcon.password по умолчанию не будет иметь значения, и в таком случае RCON запускаться не будет, а в логах сервера вы сможете найти предупреждение:

No rcon password set in '/home/container/server.properties', rcon disabled!

В этом параметре необходимо указать пароль, который будет необходим для подключения к RCON. Помните: использование простого пароля позволит любому человеку выполнять любые команды на Вашем сервере. Если Вы настраиваете какие-либо сторонние сервисы для работы с RCON (например, автоматическую выдачу доната), то вполне возможно, что необходимо будет установить пароль, выданный этими сервисами. При необходимости сгенерировать пароль можно здесь. Укажем наш пароль в server.properties:

rcon.password=Imv?*K|-E}V9<N"y_gQ3 (не забудьте заменить на свой пароль!)

Настройка RCON на этом завершена. Сохраните server.properties и перезапустите сервер. Если всё настроено верно, то Вы увидите примерно такую строку в логах сервера:

RCON running on 0.0.0.0:25884

Теперь Вы можете убедиться, что RCON работает, с помощью, например, этого сайта.

Настраиваем автоматическую выдачу доната

Один из наиболее распространённых сценариев использования RCON - автоматическая выдача привилегий игрокам после оплаты. Существуют различные сервисы, позволяющие создать своеобразный магазин доната, при покупке в котором на сервере выполняется команда, выдающая какие-либо привилегии покупателю. Один из таких сервисов - Trade MC, и ниже мы рассмотрим его настройку.

После регистрации на сайте Trade MC, создайте новый магазин. Для этого зайдите во вкладку "Мои магазины" бокового меню и выберите вкладку "Новый магазин". Укажите название Вашего сервера, желаемый адрес для магазина и адрес с портом сервера. IP адрес сервера можно узнать по этой таблице. Порт необходимо использовать основной, в примере выше это 25583, а порт для RCON мы укажем позже. Тип сервера - Minecraft, тип подключения - RCON.

Пример настройки

Нажмите "Создать", после чего перейдите во вкладку "Мои магазины" и кликните на шестерёнку ("Панель магазина") напротив только что созданного магазина. В меню сверху выберите вкладку "Настройка магазина". Здесь необходимо лишь указать "Порт RCON". Значение этого поля должно совпадать со значением rcon.port из файла server.properties. Не забудьте сохранить настройки.

Порт RCON

Чуть ниже этого блока Вы увидите раздел "Ключ магазина". Указанное здесь значение - пароль, который будет использовать Trade MC при подключении к Вашему серверу через RCON. Его необходимо указать в параметре rcon.password в файле server.properties. Пример Вы можете найти в первой части этого гайда.

Ключ магазина

На этом настройка подключения в Trade MC завершена. Вы самостоятельно должны добавить товары в магазин, и, возможно, захотите изменить какие-либо другие настройки. Подробнее о том, как это можно сделать, можно узнать на сайте Trade MC.