Как добавить игрока в белый список
Введение
Данная инструкция описывает процесс добавления игрока в белый список (whitelist) Minecraft-сервера, развернутого на выделенном сервере с Ubuntu под управлением панели proxify.cloud (виртуализация Proxmox). Рассматриваются три основных способа: через консоль сервера, через файл конфигурации и через RCON. Все команды проверены на актуальных версиях Paper/Spigot/Purpur (1.18–1.21.x).
1. Подготовка и доступ к серверу
1.1. Вход в панель proxify.cloud
- Откройте браузер и перейдите по адресу вашей панели proxify.cloud (обычно
https://panel.proxify.cloudили кастомный домен). - Авторизуйтесь под учётной записью администратора.
- В списке серверов выберите нужный контейнер (CT) или виртуальную машину (VM) с Ubuntu, где запущен Minecraft-сервер.
- Нажмите кнопку Console (Консоль) или используйте SSH-доступ (рекомендуется для работы с файлами).
Совет: SSH-доступ быстрее и удобнее для редактирования файлов. Данные для подключения (IP, порт, логин/пароль или ключ) указаны во вкладке Network или Access панели proxify.cloud.
1.2. Подключение по SSH
ssh root@<IP-адрес_сервера> -p <SSH-порт>
# Пример:
ssh root@192.0.2.10 -p 2222
Если используется ключ:
ssh -i ~/.ssh/id_rsa root@192.0.2.10 -p 2222
1.3. Переход в пользователя сервера (best practice)
На панели proxify.cloud серверы часто запускаются от отдельного пользователя (например, minecraft, mcserver или ubuntu). Не работайте от root внутри контейнера.
su - minecraft
# или
sudo -u minecraft -s
Перейдите в директорию сервера (стандартный путь на proxify.cloud):
cd /home/minecraft/server
# или
cd /opt/minecraft/server
# Уточните точный путь командой:
ls -la /home/minecraft/ # или /opt/
2. Проверка статуса белого списка
Перед добавлением убедитесь, что whitelist включен.
2.1. Через консоль сервера (в панели proxify.cloud или screen/tmux)
Если сервер запущен в screen (стандарт для proxify.cloud):
screen -r minecraft
# В консоли сервера введите:
whitelist list
Вывод покажет текущих игроков в списке и статус: Whitelist is enabled / disabled.
2.2. Через файл server.properties
cat server.properties | grep whitelist
Ожидаемый результат:
enforce-whitelist=true
white-list=true
Если false — включите (см. раздел 5).
3. Способ 1: Добавление через игровую консоль (Команды оператора)
Самый быстрый способ, не требующий перезагрузки сервера. Требует прав оператора (OP) или доступа к консоли панели proxify.cloud.
3.1. Открытие консоли
- В панели proxify.cloud: вкладка Console у нужного контейнера/VM.
- Через SSH:
screen -r minecraft(для выхода:Ctrl+AзатемD).
3.2. Выполнение команд
Добавление игрока по нику (игрок не обязан быть онлайн):
whitelist add <Ник_Игрока>
Пример:
whitelist add Steve_Builder
Успешный ответ:
[Server thread/INFO]: Added Steve_Builder to the whitelist
Добавление нескольких игроков сразу (через пробел не работает, вводите по очереди или используйте цикл в bash — см. раздел 6).
3.3. Проверка
whitelist list
Вывод:
[Server thread/INFO]: Whitelisted players: Steve_Builder, Alex_Miner
[Server thread/INFO]: Whitelist is enabled.
4. Способ 2: Редактирование файла whitelist.json (Ручное/Автоматизированное)
Файл whitelist.json хранит UUID и ники. Находится в корневой папке сервера.
4.1. Остановка сервера (Обязательно!)
Редактирование файла на работающем сервере приведет к потере изменений при следующей автосохранке или перезаписи сервером. В консоли proxify.cloud или SSH:
stop
Дождитесь полной остановки (процесс исчезнет из screen -ls или htop).
4.2. Получение UUID игрока
Ники в файле привязаны к UUID. Используйте официальный API Mojang:
curl -s "https://api.mojang.com/users/profiles/minecraft/Steve_Builder" | jq .
Ответ:
{
"id": "123e4567e89b12d3a456426614174000",
"name": "Steve_Builder"
}
Если
jqне установлен:apt update && apt install -y jq(требует root/sudo).
4.3. Редактирование файла
nano whitelist.json
Структура массива объектов:
[
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "Steve_Builder"
},
{
"uuid": "987fcdeb-56a8-4321-b876-543210fedcba",
"name": "Alex_Miner"
}
]
Важно: UUID записывайте с дефисами (стандартный формат 8-4-4-4-12). Сервер сам приведет к нужному виду при загрузке, но стандарт безопаснее.
Добавьте новый объект в массив, соблюдая запятые между элементами. После последнего элемента запятая не нужна.
Сохранить: Ctrl+O, Enter. Выйти: Ctrl+X.
4.4. Запуск сервера
В панели proxify.cloud нажмите Start или через SSH:
screen -S minecraft -d -m bash start.sh
# или ваш скрипт запуска, например:
./start.sh
5. Способ 3: Использование RCON (Для автоматизации и панелей управления)
Если у вас настроен RCON (порт и пароль в server.properties), можно добавлять игроков удаленно без входа в консоль proxify.cloud.
5.1. Проверка настроек RCON
grep -E "rcon\.(port|password|enable)" server.properties
Пример вывода:
enable-rcon=true
rcon.port=25575
rcon.password=StrongPassword123
5.2. Установка rcon-cli (на локальной машине или сервере)
# Ubuntu/Debian
sudo apt update && sudo apt install -y golang-go
go install github.com/itzg/rcon-cli@latest
# Бинарник будет в ~/go/bin/rcon-cli
5.3. Команда добавления
~/go/bin/rcon-cli -a <IP_сервера>:25575 -p "StrongPassword123" "whitelist add Steve_Builder"
Для локального вызова (из контейнера proxify.cloud):
~/go/bin/rcon-cli -a 127.0.0.1:25575 -p "StrongPassword123" "whitelist add Steve_Builder"
6. Массовое добавление игроков (Скрипт Bash)
Удобно для импорта списка из файла players.txt (по одному нику в строке).
6.1. Создание скрипта bulk_whitelist.sh
nano bulk_whitelist.sh
Содержимое:
#!/bin/bash
# Путь к файлу с никами
INPUT_FILE="players.txt"
# Путь к whitelist.json
WL_FILE="whitelist.json"
# API Mojang
API_URL="https://api.mojang.com/users/profiles/minecraft/"
# Проверка файлов
if [[ ! -f "$INPUT_FILE" ]]; then
echo "Файл $INPUT_FILE не найден!"
exit 1
fi
# Создаем бэкап
cp "$WL_FILE" "${WL_FILE}.bak.$(date +%F_%H-%M-%S)"
# Читаем текущий JSON в переменную (массив)
# Используем jq для безопасного манипулирования
JSON_CONTENT=$(cat "$WL_FILE")
while IFS= read -r NICK || [[ -n "$NICK" ]]; do
# Пропуск пустых строк и комментариев
[[ -z "$NICK" || "$NICK" =~ ^# ]] && continue
echo "Обработка: $NICK"
# Запрос UUID
RESPONSE=$(curl -s -H "Accept: application/json" "${API_URL}${NICK}")
UUID=$(echo "$RESPONSE" | jq -r '.id // empty')
NAME=$(echo "$RESPONSE" | jq -r '.name // empty')
if [[ -z "$UUID" ]]; then
echo " [WARN] Игрок $NICK не найден (премиум/пиратка/ошибка API). Пропуск."
continue
fi
# Форматирование UUID с дефисами
UUID_FORMATTED=$(echo "$UUID" | sed -E 's/(.{8})(.{4})(.{4})(.{4})(.{12})/\1-\2-\3-\4-\5/')
# Проверка на дубликат в текущем JSON
if echo "$JSON_CONTENT" | jq -e --arg uuid "$UUID_FORMATTED" 'map(.uuid) | index($uuid)' > /dev/null; then
echo " [INFO] $NAME ($UUID_FORMATTED) уже в списке."
continue
fi
# Добавление в JSON
JSON_CONTENT=$(echo "$JSON_CONTENT" | jq --arg uuid "$UUID_FORMATTED" --arg name "$NAME" '. + [{"uuid": $uuid, "name": $name}]')
echo " [OK] Добавлен: $NAME ($UUID_FORMATTED)"
# Пауза чтобы не попасть в rate limit Mojang (100 req/мин)
sleep 0.6
done < "$INPUT_FILE"
# Запись результата
echo "$JSON_CONTENT" | jq '.' > "$WL_FILE"
echo "Готово. Обновлен $WL_FILE"
6.2. Запуск
chmod +x bulk_whitelist.sh
# Остановите сервер перед запуском!
stop
# В консоли сервера или через панель proxify.cloud
./bulk_whitelist.sh
# Запустите сервер
./start.sh
7. Включение белого списка (Если был выключен)
Если white-list=false в server.properties:
Комментарии (0)