Настройка разрешений и рангов на Bedrock сервере

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

Содержание

Настройка разрешений и рангов на Bedrock сервере

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

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

2. Система разрешений Bedrock

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

Bedrock сервер поддерживает три уровня разрешений:

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

Файл permissions.json

1. Расположение файла:

cd /opt/bedrock
cat permissions.json

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

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

3. Настройка permissions.json

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

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

screen -r minecraft-bedrock
op PlayerName

2. Способ 2: Редактирование файла

cd /opt/bedrock
nano permissions.json

3. Добавьте оператора:

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

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

sudo systemctl restart minecraft-bedrock

Назначение разных уровней

1. Пример: Смешанные уровни разрешений

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

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

1. Базовая конфигурация (1 оператор):

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

2. Конфигурация для команды модераторов:

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

3. Конфигурация с комментариями (в отдельном файле):

\# permissions.json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]

\# permissions-notes.txt (создайте отдельный файл)
\# xuid 1234567890123456 - Владелец сервера
\# xuid 2345678901234567 - Главный модератор
\# xuid 3456789012345678 - Модератор

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

Команды операторов

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

screen -r minecraft-bedrock
op PlayerName

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

deop PlayerName

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

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

Права оператора

Операторы могут использовать:

  • Все команды управления сервером
  • Управление игроками (kick, ban, pardon)
  • Управление миром (weather, time, gamemode)
  • Управление сущностями (summon, kill)
  • Изменение блоков (fill, setblock)
  • И другие административные команды

5. Связь с default-player-permission-level

Настройка уровня по умолчанию

1. Отредактируйте server.properties:

cd /opt/bedrock
nano server.properties

2. Установите уровень по умолчанию:

default-player-permission-level=member
\# Возможные значения: visitor, member, operator

3. Примеры:

\# Новые игроки только просматривают
default-player-permission-level=visitor

\# Новые игроки могут играть
default-player-permission-level=member

\# Новые игроки - операторы (не рекомендуется)
default-player-permission-level=operator

Комбинация с whitelist

1. Сценарий: Приватный сервер

\# server.properties
white-list=true
default-player-permission-level=member

\# permissions.json - только операторы
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]

2. Сценарий: Публичный сервер

\# server.properties
white-list=false
default-player-permission-level=member

\# permissions.json - операторы и доверенные игроки
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  },
  {
    "permission": "member",
    "xuid": "2345678901234567"
  }
]

6. Создание системы рангов

Ранги через permissions.json

Поскольку Bedrock имеет только 3 уровня, можно создать псевдо-ранги:

1. Уровень 1: Visitor - Гость 2. Уровень 2: Member - Игрок, VIP 3. Уровень 3: Operator - Модератор, Админ, Владелец

Документирование рангов

1. Создайте файл с описанием:

nano /opt/bedrock/ranks.txt

2. Добавьте описание:

=== Система рангов ===

Visitor:
- Только просмотр мира
- Не может ломать/ставить блоки
- Не может взаимодействовать

Member:
- Стандартные права игрока
- Может играть в выживании
- Может строить и добывать

VIP (Member):
- Те же права, что Member
- Отмечен в списке игроков

Модератор (Operator):
- Все права Member
+ Может кикать/банить игроков
+ Может телепортироваться
+ Может изменять режим игры

Админ (Operator):
- Все права Модератора
+ Может управлять сервером
+ Может изменять мир

Владелец (Operator):
- Все права Админа
+ Полный контроль сервера

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

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

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

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

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

\#!/bin/bash

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

PLAYER_NAME="$1"
PERMISSIONS_FILE="/opt/bedrock/permissions.json"
BACKUP_FILE="/opt/bedrock/permissions.json.backup"

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

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

echo "Player $PLAYER_NAME granted operator permissions"
echo "Restart server to apply permissions.json changes"

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

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

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

sudo /usr/local/bin/bedrock-op-add.sh PlayerName

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

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

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

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

\#!/bin/bash

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

PLAYER_NAME="$1"
PERMISSIONS_FILE="/opt/bedrock/permissions.json"
BACKUP_FILE="/opt/bedrock/permissions.json.backup"

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

\# Удаление через консоль
screen -S minecraft-bedrock -X stuff "deop $PLAYER_NAME$(printf \\r)"

echo "Player $PLAYER_NAME operator permissions revoked"
echo "Restart server to apply permissions.json changes"

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

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

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

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

8. Получение XUID игроков

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

1. Попросите игрока подключиться 2. Проверьте логи:

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

Метод 2: Через консоль

1. Когда игрок онлайн, проверьте информацию через команды 2. XUID отображается в логах при подключении

Метод 3: Создание скрипта

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

sudo nano /usr/local/bin/bedrock-get-xuid.sh

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

\#!/bin/bash

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

PLAYER_NAME="$1"

\# Поиск XUID в логах
XUID=$(grep -i "$PLAYER_NAME" /opt/bedrock/logs/*.log | grep -o '"xuid":"[^"]*"' | head -1 | cut -d'"' -f4)

if [ -z "$XUID" ]; then
    echo "XUID not found for player: $PLAYER_NAME"
    echo "Player should connect to server first"
else
    echo "XUID for $PLAYER_NAME: $XUID"
fi

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

sudo chmod +x /usr/local/bin/bedrock-get-xuid.sh

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

sudo /usr/local/bin/bedrock-get-xuid.sh PlayerName

9. Примеры конфигураций для разных серверов

Пример 1: Маленький приватный сервер

\# permissions.json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]

\# server.properties
default-player-permission-level=member

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

\# permissions.json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  },
  {
    "permission": "operator",
    "xuid": "2345678901234567"
  },
  {
    "permission": "operator",
    "xuid": "3456789012345678"
  }
]

\# server.properties
default-player-permission-level=member

Пример 3: Большой сервер с командой

\# permissions.json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  },
  {
    "permission": "operator",
    "xuid": "2345678901234567"
  },
  {
    "permission": "operator",
    "xuid": "3456789012345678"
  },
  {
    "permission": "operator",
    "xuid": "4567890123456789"
  },
  {
    "permission": "operator",
    "xuid": "5678901234567890"
  },
  {
    "permission": "member",
    "xuid": "6789012345678901"
  }
]

\# server.properties
default-player-permission-level=member

10. Валидация и безопасность =

Проверка формата JSON

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

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

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

nano /opt/bedrock/permissions.json

Резервное копирование

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

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

2. Автоматическое резервное копирование:

sudo nano /usr/local/bin/bedrock-permissions-backup.sh

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

\#!/bin/bash

BACKUP_DIR="/backup/bedrock"
DATE=$(date +%Y%m%d_%H%M%S)
PERMISSIONS_FILE="/opt/bedrock/permissions.json"

mkdir -p "$BACKUP_DIR"
cp "$PERMISSIONS_FILE" "$BACKUP_DIR/permissions-$DATE.json"

echo "Permissions backed up to: $BACKUP_DIR/permissions-$DATE.json"

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

sudo chmod +x /usr/local/bin/bedrock-permissions-backup.sh

Защита файла

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

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

11. Интеграция с другими системами =

Связь с whitelist

1. Операторы автоматически получают доступ даже если их нет в whitelist 2. Для членов команды можно добавить в оба файла:

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

\# permissions.json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]

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

Игрок не получает права оператора

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

cat /opt/bedrock/permissions.json

2. Убедитесь, что перезапустили сервер после изменения файла

3. Проверьте через консоль:

screen -r minecraft-bedrock
op PlayerName

Ошибки в permissions.json

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

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

2. Восстановите из резервной копии:

sudo cp /opt/bedrock/permissions.json.backup /opt/bedrock/permissions.json
sudo systemctl restart minecraft-bedrock

Заключение

Настройка разрешений и рангов на Bedrock сервере позволяет эффективно управлять правами доступа игроков. Правильная конфигурация permissions.json и server.properties обеспечит безопасность и удобство управления сервером.

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

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