Настройка whitelist и управления игроками на Bedrock

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск

Содержание

Настройка whitelist и управления игроками на Bedrock

1. Подготовка

  • Убедитесь, что Bedrock сервер установлен и находится в `/opt/bedrock`.
  • Имейте права доступа для редактирования конфигурационных файлов.
  • Знайте XUID игроков для добавления в whitelist.
  • Рекомендуется использовать Ubuntu 24.04 LTS.

2. Включение whitelist

Активация через server.properties

1. Отредактируйте конфигурацию:

cd /opt/bedrock
nano server.properties

2. Включите whitelist:

white-list=true

3. Перезапустите сервер:

sudo systemctl restart minecraft-bedrock

4. Проверьте статус:

sudo systemctl status minecraft-bedrock

Активация через консоль сервера

1. Подключитесь к консоли:

screen -r minecraft-bedrock

2. Включите whitelist:

whitelist on

3. Выйдите из консоли:

Ctrl+A, затем D

3. Работа с allowlist.json

Структура файла

1. Файл `allowlist.json` находится в директории сервера:

cd /opt/bedrock
cat allowlist.json

2. Базовая структура:

[
  {
    "name": "PlayerName",
    "xuid": "1234567890123456"
  }
]

Получение XUID игрока

1. Метод 1: Через консоль сервера

  • Попросите игрока попытаться подключиться
  • В логах сервера появится его XUID

2. Метод 2: Через логи

grep "PlayerName" logs/*.log | grep xuid

3. Метод 3: Попросить игрока

  • XUID можно найти в файлах игры на устройстве игрока
  • Или через специальные инструменты

Добавление игрока в whitelist

1. Способ 1: Через консоль сервера

screen -r minecraft-bedrock
whitelist add PlayerName

2. Способ 2: Редактирование allowlist.json

cd /opt/bedrock
nano allowlist.json

3. Добавьте игрока:

[
  {
    "name": "Player1",
    "xuid": "1234567890123456"
  },
  {
    "name": "Player2",
    "xuid": "9876543210987654"
  }
]

4. Перезагрузите whitelist:

screen -r minecraft-bedrock
whitelist reload

Примеры конфигураций

1. Базовый whitelist (1 игрок):

[
  {
    "name": "MyFriend",
    "xuid": "1234567890123456"
  }
]

2. Расширенный whitelist (несколько игроков):

[
  {
    "name": "AdminUser",
    "xuid": "1234567890123456"
  },
  {
    "name": "TrustedPlayer1",
    "xuid": "2345678901234567"
  },
  {
    "name": "TrustedPlayer2",
    "xuid": "3456789012345678"
  },
  {
    "name": "TrustedPlayer3",
    "xuid": "4567890123456789"
  }
]

3. Whitelist с комментариями (используйте отдельный файл для заметок):

\# allowlist.json
[
  {
    "name": "Owner",
    "xuid": "1234567890123456"
  }
]

\# whitelist-notes.txt (создайте отдельный файл)
\# Owner - Владелец сервера
\# TrustedPlayer1 - Проверенный игрок
\# TrustedPlayer2 - Модератор

4. Управление через консоль

Базовые команды

1. Просмотр списка whitelist:

screen -r minecraft-bedrock
whitelist list

2. Добавление игрока:

whitelist add PlayerName

3. Удаление игрока:

whitelist remove PlayerName

4. Включение whitelist:

whitelist on

5. Выключение whitelist:

whitelist off

6. Перезагрузка whitelist из файла:

whitelist reload

Примеры использования

1. Добавление нескольких игроков:

whitelist add Friend1
whitelist add Friend2
whitelist add Friend3
whitelist list

2. Временное отключение whitelist:

whitelist off
\# Сервер доступен всем
whitelist on
\# Только whitelist игроки

3. Обновление whitelist из файла:

\# Отредактировали allowlist.json вручную
whitelist reload
\# Изменения применены

5. Автоматизация управления =

Создание скрипта добавления

1. Создайте скрипт:

sudo nano /usr/local/bin/bedrock-whitelist-add.sh

2. Добавьте содержимое:

\#!/bin/bash

if [ -z "$1" ]; then
    echo "Usage: $0 <player-name> [xuid]"
    exit 1
fi

PLAYER_NAME="$1"
XUID="$2"
ALLOWLIST_FILE="/opt/bedrock/allowlist.json"
BACKUP_FILE="/opt/bedrock/allowlist.json.backup"

\# Создание резервной копии
cp "$ALLOWLIST_FILE" "$BACKUP_FILE"

\# Если XUID не указан, используем временный
if [ -z "$XUID" ]; then
    XUID="0"
fi

\# Добавление игрока через консоль
screen -S minecraft-bedrock -X stuff "whitelist add $PLAYER_NAME$(printf \\r)"

echo "Player $PLAYER_NAME added to whitelist"
echo "Reloading whitelist..."
screen -S minecraft-bedrock -X stuff "whitelist reload$(printf \\r)"

3. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-whitelist-add.sh

4. Использование:

sudo /usr/local/bin/bedrock-whitelist-add.sh PlayerName
sudo /usr/local/bin/bedrock-whitelist-add.sh PlayerName 1234567890123456

Создание скрипта удаления

1. Создайте скрипт:

sudo nano /usr/local/bin/bedrock-whitelist-remove.sh

2. Добавьте содержимое:

\#!/bin/bash

if [ -z "$1" ]; then
    echo "Usage: $0 <player-name>"
    exit 1
fi

PLAYER_NAME="$1"
ALLOWLIST_FILE="/opt/bedrock/allowlist.json"
BACKUP_FILE="/opt/bedrock/allowlist.json.backup"

\# Создание резервной копии
cp "$ALLOWLIST_FILE" "$BACKUP_FILE"

\# Удаление игрока
screen -S minecraft-bedrock -X stuff "whitelist remove $PLAYER_NAME$(printf \\r)"

echo "Player $PLAYER_NAME removed from whitelist"
echo "Reloading whitelist..."
screen -S minecraft-bedrock -X stuff "whitelist reload$(printf \\r)"

3. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-whitelist-remove.sh

4. Использование:

sudo /usr/local/bin/bedrock-whitelist-remove.sh PlayerName

Создание скрипта просмотра

1. Создайте скрипт:

sudo nano /usr/local/bin/bedrock-whitelist-list.sh

2. Добавьте содержимое:

\#!/bin/bash

ALLOWLIST_FILE="/opt/bedrock/allowlist.json"

if [ ! -f "$ALLOWLIST_FILE" ]; then
    echo "Allowlist file not found!"
    exit 1
fi

echo "=== Whitelist Players ==="
cat "$ALLOWLIST_FILE" | grep -o '"name": "[^"]*"' | sed 's/"name": "//;s/"//' | nl

3. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-whitelist-list.sh

4. Использование:

sudo /usr/local/bin/bedrock-whitelist-list.sh

6. Массовое управление =

Импорт из текстового файла

1. Создайте файл со списком игроков:

nano /tmp/players.txt

2. Добавьте список (по одному на строку):

Player1
Player2
Player3
Player4

3. Создайте скрипт импорта:

sudo nano /usr/local/bin/bedrock-whitelist-import.sh

4. Добавьте содержимое:

\#!/bin/bash

if [ -z "$1" ]; then
    echo "Usage: $0 <players-file.txt>"
    exit 1
fi

PLAYERS_FILE="$1"

if [ ! -f "$PLAYERS_FILE" ]; then
    echo "File not found: $PLAYERS_FILE"
    exit 1
fi

while IFS= read -r player; do
    if [ ! -z "$player" ]; then
        echo "Adding $player to whitelist..."
        screen -S minecraft-bedrock -X stuff "whitelist add $player$(printf \\r)"
        sleep 1
    fi
done < "$PLAYERS_FILE"

echo "Reloading whitelist..."
screen -S minecraft-bedrock -X stuff "whitelist reload$(printf \\r)"
echo "Import completed!"

5. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-whitelist-import.sh

6. Использование:

sudo /usr/local/bin/bedrock-whitelist-import.sh /tmp/players.txt

Экспорт в текстовый файл

1. Создайте скрипт экспорта:

sudo nano /usr/local/bin/bedrock-whitelist-export.sh

2. Добавьте содержимое:

\#!/bin/bash

ALLOWLIST_FILE="/opt/bedrock/allowlist.json"
OUTPUT_FILE="/tmp/bedrock-whitelist-export.txt"

if [ ! -f "$ALLOWLIST_FILE" ]; then
    echo "Allowlist file not found!"
    exit 1
fi

\# Извлечение имен игроков
cat "$ALLOWLIST_FILE" | grep -o '"name": "[^"]*"' | sed 's/"name": "//;s/"//' > "$OUTPUT_FILE"

echo "Whitelist exported to: $OUTPUT_FILE"
cat "$OUTPUT_FILE"

3. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-whitelist-export.sh

4. Использование:

sudo /usr/local/bin/bedrock-whitelist-export.sh

7. Управление игроками в игре

Базовые команды управления

1. Список онлайн игроков:

screen -r minecraft-bedrock
list

2. Информация об игроке:

screen -r minecraft-bedrock
\# Используйте команды для просмотра информации

3. Кик игрока:

kick PlayerName

4. Бан игрока:

ban PlayerName

5. Разбан игрока:

pardon PlayerName

Работа с операторами

1. Добавление оператора:

op PlayerName

2. Удаление оператора:

deop PlayerName

3. Список операторов:

screen -r minecraft-bedrock
\# Проверьте permissions.json или используйте команды

8. Интеграция с permissions.json

Связь whitelist и permissions

1. Проверьте permissions.json:

cd /opt/bedrock
cat permissions.json

2. Пример конфигурации:

[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  },
  {
    "permission": "member",
    "xuid": "2345678901234567"
  }
]

3. Добавление оператора в permissions:

[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]

Уровни разрешений

1. visitor - только просмотр 2. member - стандартные права игрока 3. operator - права администратора

9. Мониторинг подключений =

Логирование подключений

1. Проверьте логи:

tail -f /opt/bedrock/logs/*.log

2. Фильтрация по событиям:

grep "connected" /opt/bedrock/logs/*.log
grep "disconnected" /opt/bedrock/logs/*.log
grep "whitelist" /opt/bedrock/logs/*.log

Создание скрипта мониторинга

1. Создайте скрипт:

sudo nano /usr/local/bin/bedrock-player-monitor.sh

2. Добавьте содержимое:

\#!/bin/bash

LOG_FILE="/var/log/bedrock-players.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')

\# Получение списка онлайн игроков через консоль
screen -S minecraft-bedrock -X stuff "list$(printf \\r)"
sleep 1

\# Анализ whitelist
WHITELIST_COUNT=$(cat /opt/bedrock/allowlist.json | grep -c '"name"')

echo "[$DATE] Whitelist players: $WHITELIST_COUNT" >> $LOG_FILE

3. Сделайте исполняемым:

sudo chmod +x /usr/local/bin/bedrock-player-monitor.sh

10. Безопасность whitelist =

Защита файла

1. Установите права доступа:

sudo chmod 644 /opt/bedrock/allowlist.json
sudo chown bedrock:bedrock /opt/bedrock/allowlist.json

2. Создайте резервную копию:

sudo cp /opt/bedrock/allowlist.json /opt/bedrock/allowlist.json.backup

Валидация данных

1. Проверьте формат JSON:

cat /opt/bedrock/allowlist.json | python3 -m json.tool

2. Если есть ошибки, исправьте:

nano /opt/bedrock/allowlist.json

11. Примеры использования =

Сценарий 1: Приватный сервер для друзей

1. Включите whitelist:

white-list=true

2. Добавьте друзей:

whitelist add Friend1
whitelist add Friend2
whitelist add Friend3

3. Проверьте список:

whitelist list

Сценарий 2: Публичный сервер с временным доступом

1. Создайте скрипт временного доступа:

sudo nano /usr/local/bin/bedrock-temp-access.sh

2. Добавьте временного игрока и автоматическое удаление через cron

Сценарий 3: Сервер с модерацией

1. Используйте whitelist для контроля доступа 2. Добавьте модераторов в permissions.json как operators 3. Модераторы могут управлять игроками через команды

12. Устранение неполадок =

Игрок не может подключиться

1. Проверьте whitelist:

whitelist list
grep "PlayerName" /opt/bedrock/allowlist.json

2. Проверьте XUID:

  • Убедитесь, что XUID правильный
  • Проверьте правильность написания имени

3. Перезагрузите whitelist:

whitelist reload

Проблемы с форматом JSON

1. Проверьте синтаксис:

python3 -m json.tool /opt/bedrock/allowlist.json

2. Исправьте ошибки:

nano /opt/bedrock/allowlist.json

3. Восстановите из резервной копии при необходимости:

sudo cp /opt/bedrock/allowlist.json.backup /opt/bedrock/allowlist.json

Заключение

Настройка whitelist и управление игроками на Bedrock сервере позволяет контролировать доступ к серверу и обеспечивать безопасность. Правильная настройка whitelist и использование команд управления обеспечит комфортную работу сервера.

Для размещения ваших Bedrock серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Bedrock серверов и управлением игроками!