Генератор пароля RCON для Minecraft
Сгенерируйте надёжный пароль RCON для вашего сервера Minecraft вместе с готовыми к вставке строками для server.properties, командой Docker (itzg/minecraft-server) и командой mcrcon, работающей через SSH-туннель. Всё генерируется в вашем браузере.
Люди ищут «пароль сервера Minecraft», ожидая поле, куда игроки вводят пароль для входа. В ванильной Java Edition такого нет. Пароль RCON — тоже не это. RCON — это удалённая админ-консоль: TCP-порт, который принимает команды сервера (/op, /stop, /whitelist и все остальные) от любого, кто знает пароль. Он позволяет выполнять команды, не подключаясь к терминалу сервера, а скрипты резервного копирования используют его для приостановки сохранения. Он ничего не делает, чтобы остановить игроков от входа.
Итак, здесь две отдельные задачи:
- Управляйте тем, кто может играть: белый список плюс online-режим.
- Защитите админ-консоль: надёжный пароль RCON и RCON, недоступный из публичного интернета.
Белый список — это замок. Вот настройки server.properties, которые имеют значение:
| Свойство | Что он делает |
|---|---|
white-list=true | Подключаться могут только игроки из белого списка (и операторы). |
enforce-whitelist=true | Когда белый список меняется, онлайн-игроки, которых в нём больше нет, выкидываются с сервера. |
online-mode=true | Игроки должны быть проверены через серверы учётных записей Minecraft. Именно это придаёт смысл именам в белом списке. |
Затем добавьте своих игроков через консоль сервера или в игре как оператора (op):
/whitelist on
/whitelist add SomePlayer
/whitelist remove SomePlayer
/whitelist list
/whitelist reload
/op YourName
Операторы всегда могут зайти, пока включён белый список, даже если их в нём нет, поэтому не раздавайте /op направо и налево. Операторы также могут выполнять все команды, доступные RCON.
Со стороны server.properties это три строки:
enable-rcon=true
rcon.port=25575
rcon.password=YOUR_GENERATED_PASSWORD
По умолчанию: enable-rcon равен false, rcon.port равен 25575, а rcon.password пуст. Если включить RCON с пустым паролем, сервер не запустится.
Длинный случайный пароль справляется с подбором. Но ни один пароль не справится с открытым текстом. Поэтому:
- Не пробрасывайте 25575 на роутере. Игрокам должен быть доступен только игровой порт (по умолчанию 25565).
- Заблокируйте его файрволом на VPS. С помощью ufw:
sudo ufw allow 25565/tcpиsudo ufw deny 25575/tcp. - В Docker публикуйте только игровой порт или публикуйте RCON на localhost с помощью
-p 127.0.0.1:25575:25575. Порты, опубликованные через Docker, обходят правила ufw.
server.properties читается как файл Java properties. Обратный слеш начинает escape-последовательность, а ведущие пробелы отбрасываются. Двоеточия, знаки равенства, решётка и восклицательные знаки работают, но Minecraft переписывает их, добавляя перед ними обратный слеш. Именно поэтому этот генератор по умолчанию использует A-Z, a-z и 0-9.
| Написано в файле | Пароль, который сработал | Урок |
|---|---|---|
ab\cd | abcd | Обратный слэш экранирует следующий символ и исчезает. |
x\ty | x, a tab, y | \t становится настоящей табуляцией. |
end\\ | end\ | Напишите \\ для одного обратного слэша. |
ab:c=d#e!f | ab:c=d#e!f | Работает, сервер переписал строку как ab\:c\=d\#e\!f. |
Файл — не единственный парсер в цепочке. Пароль также проходит через вашу оболочку, возможно, через файл Compose, возможно, через файл .env, возможно, через скрипт резервного копирования. У каждого свои правила для $, кавычек, обратных слэшей и !. Если вы выберете режим «все символы», генератор экранирует \ : = # ! в строке properties.
- RCON включён по умолчанию, потому что образ использует его для корректного завершения работы и координации сохранений во время резервного копирования.
- Если не задать RCON_PASSWORD, при каждом запуске генерируется случайный пароль. Это безопасно, но внешние инструменты не смогут его узнать.
- Задайте RCON_PASSWORD или RCON_PASSWORD_FILE, указывающий на файл (удобно с Docker secrets).
- В контейнере есть rcon-cli, уже настроенный с этим паролем.
docker exec mc rcon-cli listпросто работает. - Будьте осторожны с пробросом порта RCON наружу.
- RCON нет. У Bedrock Dedicated Server нет настройки RCON в server.properties.
- Allowlist, а не whitelist. Установите allow-list=true и управляйте allowlist.json командой allowlist. В отличие от Java, статус оператора не даёт обойти этот список.
online-mode=trueтребует аутентификации Xbox Live.
Меняйте пароль RCON, когда уходит кто-то с доступом, когда он когда-либо был введён в чат или попал на скриншот, или когда вы обнаружили, что порт был открыт.
- Проброс 25575 «чтобы панель работала» — используйте туннель или разместите панель на той же машине.
- Переиспользование пароля от вашего хостинг-аккаунта или чего угодно ещё. RCON отправляет его открытым текстом, поэтому считайте, что он может утечь.
- Коммит пароля в git в Compose-файле. Используйте RCON_PASSWORD_FILE или неотслеживаемый .env.
- Рассматривать пароль RCON как пароль для входа. Игроки всё равно зайдут без белого списка.
- Вставка обратного слеша в server.properties и удивление, почему пароль не работает.