Что такое протокол управления сервером Minecraft?
Протокол управления сервером - это API выделенного сервера Java Edition, представленный в версии 1.21.9. Он передает сообщения JSON-RPC 2.0 через WebSocket, поэтому панели управления и автоматизация могут работать с типизированными игроками, банами, настройками, game rules и состоянием сервера вместо анализа текста консоли.
Minecraft 26.2 использует версию протокола 3.0 и может предоставлять rpc.discover до полного запуска игрового сервера. Обнаружение - это самый безопасный способ для клиента узнать методы и уведомления, поддерживаемые именно тем сервером, к которому он подключился.
Этот проводник является справочником и построителем полезных данных, а не панелью удаленного управления. Он намеренно использует секрет-заполнитель и выполняет все редактирование локально в вашем браузере.
Management API против RCON
RCON отправляет консольные команды и возвращает неструктурированный текст. Management API возвращает типизированный JSON и может отправлять события присоединения, выхода, сохранения, gamerule и статуса, что делает его более подходящим для панелей управления, мониторинга и ботов.
API предназначен только для Java Edition и по умолчанию отключен. Производственный клиент должен проверять обнаруженные схемы, обрабатывать стандартные объекты ошибок JSON-RPC, переподключаться с экспоненциальной задержкой и рассматривать операции stop, clear, set, ban, kick и operator как привилегированные действия.
Порт 0 просит Minecraft выбрать случайный порт; он не отключает службу. TLS по умолчанию включен, и клиентам браузера также требуется разрешенный Origin плюс подпротокол WebSocket minecraft-v1.
Часто задаваемые вопросы
Может ли эта страница подключиться к моему действующему серверу Minecraft?
Нет. Он создает примеры локально и никогда не запрашивает ваш настоящий секрет. Используйте сгенерированный фрагмент в доверенном локальном инструменте или используйте поддерживаемую клиентскую библиотеку.
Почему параметры отображаются как массив JSON?
Методы API Minecraft используют позиционные параметры JSON-RPC. Даже метод с одним логическим аргументом отправляет это значение внутри массива params.
Работает ли протокол на Bedrock Edition?
Нет. Протокол управления сервером Minecraft в настоящее время является функцией выделенного сервера Java Edition.
Следует ли мне жестко кодировать список методов в панели сервера?
Используйте rpc.discover во время выполнения, когда это возможно. Протокол уже изменился в версиях 1.21.9, 1.21.11 и 26.2.