Настройка античита и валидации на Bedrock сервере

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

Настройка античита и валидации на Bedrock сервере

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

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

2. Встроенная валидация Bedrock

Server-authoritative-movement

1. Включите серверное управление движением:

cd /opt/bedrock
nano server.properties

2. Настройте строгую валидацию:

server-authoritative-movement=server-auth
player-movement-score-threshold=15
player-movement-action-direction-threshold=0.75
player-movement-distance-threshold=0.2
player-movement-duration-threshold-in-ms=300
correct-player-movement=true

Server-authoritative-block-breaking

1. Включите валидацию разрушения блоков:

server-authoritative-block-breaking=true

3. Настройка строгих порогов валидации =

Максимальная защита

1. Конфигурация для максимальной защиты:

server-authoritative-movement=server-auth
player-movement-score-threshold=10
player-movement-action-direction-threshold=0.70
player-movement-distance-threshold=0.15
player-movement-duration-threshold-in-ms=250
correct-player-movement=true
server-authoritative-block-breaking=true

Баланс защиты и производительности

1. Рекомендуемая конфигурация:

server-authoritative-movement=server-auth
player-movement-score-threshold=20
player-movement-action-direction-threshold=0.85
player-movement-distance-threshold=0.3
player-movement-duration-threshold-in-ms=500
correct-player-movement=true
server-authoritative-block-breaking=true

4. Мониторинг нарушений =

Скрипт мониторинга

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

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

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

\#!/bin/bash

LOG_FILE="/opt/bedrock/logs/latest.log"
VIOLATION_LOG="/var/log/bedrock-violations.log"

tail -f "$LOG_FILE" | while read line; do
    \# Обнаружение нарушений движения
    if echo "$line" | grep -qi "movement.*violation\|invalid.*movement"; then
        PLAYER=$(echo "$line" | grep -oE "Player[^:]*:\s*\w+" | awk '{print $NF}')
        if [ ! -z "$PLAYER" ]; then
            echo "[$(date '+%Y-%m-%d %H:%M:%S')] Movement violation: $PLAYER - $line" >> "$VIOLATION_LOG"
        fi
    fi
    
    \# Обнаружение нарушений разрушения блоков
    if echo "$line" | grep -qi "block.*break.*violation\|invalid.*block"; then
        PLAYER=$(echo "$line" | grep -oE "Player[^:]*:\s*\w+" | awk '{print $NF}')
        if [ ! -z "$PLAYER" ]; then
            echo "[$(date '+%Y-%m-%d %H:%M:%S')] Block break violation: $PLAYER - $line" >> "$VIOLATION_LOG"
        fi
    fi
done

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

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

5. Автоматические действия при нарушениях =

Скрипт автоматической модерации

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

sudo nano /usr/local/bin/bedrock-anticheat-action.sh

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

\#!/bin/bash

VIOLATION_LOG="/var/log/bedrock-violations.log"
WARN_THRESHOLD=3
KICK_THRESHOLD=5
BAN_THRESHOLD=10

\# Анализ нарушений
analyze_violations() {
    tail -1000 "$VIOLATION_LOG" | \
    grep -oE "Player[^:]*:\s*\w+" | \
    awk '{print $NF}' | \
    sort | uniq -c | \
    awk -v warn="$WARN_THRESHOLD" -v kick="$KICK_THRESHOLD" -v ban="$BAN_THRESHOLD" '
        $1 >= ban { print "BAN " $2 }
        $1 >= kick && $1 < ban { print "KICK " $2 }
        $1 >= warn && $1 < kick { print "WARN " $2 }
    '
}

\# Выполнение действий
while IFS= read -r action; do
    TYPE=$(echo "$action" | awk '{print $1}')
    PLAYER=$(echo "$action" | awk '{print $2}')
    
    case "$TYPE" in
        BAN)
            screen -S minecraft-bedrock -X stuff "ban $PLAYER Cheating$(printf \\r)"
            echo "Banned: $PLAYER"
            ;;
        KICK)
            screen -S minecraft-bedrock -X stuff "kick $PLAYER Suspicious activity$(printf \\r)"
            echo "Kicked: $PLAYER"
            ;;
        WARN)
            screen -S minecraft-bedrock -X stuff "tell $PLAYER Warning: Suspicious activity detected$(printf \\r)"
            echo "Warned: $PLAYER"
            ;;
    esac
done < <(analyze_violations)

3. Добавьте в cron (каждые 10 минут):

*/10 * * * * /usr/local/bin/bedrock-anticheat-action.sh

6. Интеграция с Discord =

Webhook для нарушений

1. Добавьте в скрипт мониторинга отправку в Discord:

WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK"

if [ ! -z "$PLAYER" ]; then
    curl -H "Content-Type: application/json" \\
         -X POST \\
         -d "{\"content\": \"⚠️ Violation: $PLAYER - $line\"}" \\
         "$WEBHOOK_URL"
fi

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

Ложные срабатывания

1. Если легитимные игроки получают предупреждения:

  • Увеличьте пороги валидации
  • Проверьте настройки сети игрока

Заключение

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

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

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