Настройка логирования и модерации Bedrock сервера: различия между версиями
Admin (обсуждение | вклад) Новая страница: «= Настройка логирования и модерации Bedrock сервера = == 1. Подготовка == * Убедитесь, что Bedrock с…» |
Починка разметки: ссылки и жирный шрифт из Markdown, лишние обратные косые черты в коде, заголовки — проверка вики 13.11.2026 |
||
| Строка 17: | Строка 17: | ||
2. Настройки логирования: | 2. Настройки логирования: | ||
<pre> | <pre># Логирование контента (если доступно) | ||
content-log-file-enabled=false | content-log-file-enabled=false | ||
# true - логировать загружаемый контент | |||
# false - не логировать</pre> | |||
=== Включение детального логирования === | === Включение детального логирования === | ||
| Строка 40: | Строка 40: | ||
2. Типичные файлы: | 2. Типичные файлы: | ||
<pre>logs/ | <pre>logs/ | ||
├── latest.log | ├── latest.log # Текущий лог сервера | ||
├── content-log-*.log | ├── content-log-*.log # Логи контента (если включено) | ||
└── crash-reports/ | └── crash-reports/ # Отчеты о крашах</pre> | ||
3. Просмотр логов: | 3. Просмотр логов: | ||
| Строка 48: | Строка 48: | ||
cat logs/latest.log | less</pre> | cat logs/latest.log | less</pre> | ||
== 4. Анализ логов | == 4. Анализ логов == | ||
=== Поиск событий === | === Поиск событий === | ||
| Строка 76: | Строка 76: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
LOG_FILE="/opt/bedrock/logs/latest.log" | LOG_FILE="/opt/bedrock/logs/latest.log" | ||
| Строка 85: | Строка 85: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Статистика подключений | |||
echo "=== Player Connections ===" >> "$REPORT_FILE" | echo "=== Player Connections ===" >> "$REPORT_FILE" | ||
CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l) | CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l) | ||
| Строка 92: | Строка 92: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Статистика команд | |||
echo "=== Commands Executed ===" >> "$REPORT_FILE" | echo "=== Commands Executed ===" >> "$REPORT_FILE" | ||
COMMANDS=$(grep -i "command" "$LOG_FILE" | wc -l) | COMMANDS=$(grep -i "command" "$LOG_FILE" | wc -l) | ||
| Строка 98: | Строка 98: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Ошибки | |||
echo "=== Errors ===" >> "$REPORT_FILE" | echo "=== Errors ===" >> "$REPORT_FILE" | ||
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l) | ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l) | ||
| Строка 107: | Строка 107: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Активные игроки | |||
echo "=== Active Players ===" >> "$REPORT_FILE" | echo "=== Active Players ===" >> "$REPORT_FILE" | ||
grep -i "player" "$LOG_FILE" | grep -v "disconnected" | tail -10 >> "$REPORT_FILE" | grep -i "player" "$LOG_FILE" | grep -v "disconnected" | tail -10 >> "$REPORT_FILE" | ||
| Строка 116: | Строка 116: | ||
<pre>sudo chmod +x /usr/local/bin/bedrock-log-analyzer.sh</pre> | <pre>sudo chmod +x /usr/local/bin/bedrock-log-analyzer.sh</pre> | ||
== 5. Система модерации | == 5. Система модерации == | ||
=== Настройка permissions.json === | === Настройка permissions.json === | ||
| Строка 152: | Строка 152: | ||
5. Добавьте содержимое: | 5. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
PLAYER="$1" | PLAYER="$1" | ||
DURATION="${2:-3600}" | DURATION="${2:-3600}" # По умолчанию 1 час | ||
if [ -z "$PLAYER" ]; then | if [ -z "$PLAYER" ]; then | ||
| Строка 162: | Строка 162: | ||
fi | fi | ||
# Бан игрока | |||
screen -S minecraft-bedrock -X stuff "ban $PLAYER$(printf \\r)" | screen -S minecraft-bedrock -X stuff "ban $PLAYER$(printf \\r)" | ||
# Запланировать разбан через указанное время | |||
(sleep "$DURATION" && screen -S minecraft-bedrock -X stuff "pardon $PLAYER$(printf \\r)") & | (sleep "$DURATION" && screen -S minecraft-bedrock -X stuff "pardon $PLAYER$(printf \\r)") & | ||
echo "Player $PLAYER banned for $DURATION seconds"</pre> | echo "Player $PLAYER banned for $DURATION seconds"</pre> | ||
== 6. Автоматическая модерация | == 6. Автоматическая модерация == | ||
=== Скрипт автоматической модерации === | === Скрипт автоматической модерации === | ||
| Строка 178: | Строка 178: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
LOG_FILE="/opt/bedrock/logs/latest.log" | LOG_FILE="/opt/bedrock/logs/latest.log" | ||
VIOLATION_LOG="/var/log/bedrock-violations.log" | VIOLATION_LOG="/var/log/bedrock-violations.log" | ||
# Поиск нарушений в логах | |||
check_violations() { | check_violations() { | ||
# Список запрещенных слов (пример) | |||
BAD_WORDS=("spam" "hack" "cheat") | BAD_WORDS=("spam" "hack" "cheat") | ||
| Строка 195: | Строка 195: | ||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Violation by $PLAYER: $line" >> "$VIOLATION_LOG" | echo "[$(date '+%Y-%m-%d %H:%M:%S')] Violation by $PLAYER: $line" >> "$VIOLATION_LOG" | ||
# Автоматический кик (опционально) | |||
# screen -S minecraft-bedrock -X stuff "kick $PLAYER Bad language$(printf \\r)" | |||
fi | fi | ||
fi | fi | ||
| Строка 211: | Строка 211: | ||
<pre>*/5 * * * * /usr/local/bin/bedrock-auto-moderate.sh</pre> | <pre>*/5 * * * * /usr/local/bin/bedrock-auto-moderate.sh</pre> | ||
== 7. Мониторинг действий игроков | == 7. Мониторинг действий игроков == | ||
=== Логирование действий === | === Логирование действий === | ||
| Строка 219: | Строка 219: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
LOG_FILE="/opt/bedrock/logs/latest.log" | LOG_FILE="/opt/bedrock/logs/latest.log" | ||
ACTIVITY_LOG="/var/log/bedrock-activity.log" | ACTIVITY_LOG="/var/log/bedrock-activity.log" | ||
# Мониторинг действий игроков | |||
monitor_activity() { | monitor_activity() { | ||
tail -f "$LOG_FILE" | while read line; do | tail -f "$LOG_FILE" | while read line; do | ||
# Подключения | |||
if echo "$line" | grep -qi "connected\|joined"; then | if echo "$line" | grep -qi "connected\|joined"; then | ||
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1) | PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1) | ||
| Строка 233: | Строка 233: | ||
fi | fi | ||
# Отключения | |||
if echo "$line" | grep -qi "disconnected\|left"; then | if echo "$line" | grep -qi "disconnected\|left"; then | ||
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1) | PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1) | ||
| Строка 239: | Строка 239: | ||
fi | fi | ||
# Команды | |||
if echo "$line" | grep -qi "executed.*command"; then | if echo "$line" | grep -qi "executed.*command"; then | ||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] COMMAND: $line" >> "$ACTIVITY_LOG" | echo "[$(date '+%Y-%m-%d %H:%M:%S')] COMMAND: $line" >> "$ACTIVITY_LOG" | ||
| Строка 248: | Строка 248: | ||
monitor_activity</pre> | monitor_activity</pre> | ||
== 8. Отчеты и статистика | == 8. Отчеты и статистика == | ||
=== Ежедневный отчет === | === Ежедневный отчет === | ||
| Строка 256: | Строка 256: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
LOG_FILE="/opt/bedrock/logs/latest.log" | LOG_FILE="/opt/bedrock/logs/latest.log" | ||
| Строка 265: | Строка 265: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Статистика за последние 24 часа | |||
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) | YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) | ||
# Уникальные игроки | |||
UNIQUE_PLAYERS=$(grep -i "connected\|joined" "$LOG_FILE" | \ | UNIQUE_PLAYERS=$(grep -i "connected\|joined" "$LOG_FILE" | \ | ||
grep -oE "Player[^:]*:\s*\w+" | \ | grep -oE "Player[^:]*:\s*\w+" | \ | ||
| Строка 277: | Строка 277: | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Общее количество подключений | |||
TOTAL_CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l) | TOTAL_CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l) | ||
echo "Total connections: $TOTAL_CONNECTIONS" >> "$REPORT_FILE" | echo "Total connections: $TOTAL_CONNECTIONS" >> "$REPORT_FILE" | ||
echo "" >> "$REPORT_FILE" | echo "" >> "$REPORT_FILE" | ||
# Ошибки | |||
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l) | ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l) | ||
echo "Total errors: $ERRORS" >> "$REPORT_FILE" | echo "Total errors: $ERRORS" >> "$REPORT_FILE" | ||
# Отправка отчета (опционально) | |||
# mail -s "Bedrock Daily Report" admin@example.com < "$REPORT_FILE" | |||
cat "$REPORT_FILE"</pre> | cat "$REPORT_FILE"</pre> | ||
| Строка 294: | Строка 294: | ||
<pre>59 23 * * * /usr/local/bin/bedrock-daily-report.sh</pre> | <pre>59 23 * * * /usr/local/bin/bedrock-daily-report.sh</pre> | ||
== 9. Интеграция с системами модерации | == 9. Интеграция с системами модерации == | ||
=== Webhook для нарушений === | === Webhook для нарушений === | ||
| Строка 302: | Строка 302: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK_URL" | WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK_URL" | ||
| Строка 313: | Строка 313: | ||
"$WEBHOOK_URL"</pre> | "$WEBHOOK_URL"</pre> | ||
== 10. Устранение неполадок | == 10. Устранение неполадок == | ||
=== Проблемы с логами === | === Проблемы с логами === | ||
| Строка 333: | Строка 333: | ||
Настройка логирования и модерации Bedrock сервера обеспечивает эффективное управление сервером и контроль действий игроков. Правильная настройка логирования и автоматизация модерации значительно упростит управление сервером. | Настройка логирования и модерации Bedrock сервера обеспечивает эффективное управление сервером и контроль действий игроков. Правильная настройка логирования и автоматизация модерации значительно упростит управление сервером. | ||
'''Для размещения ваших Bedrock серверов на надежном хостинге рекомендуем воспользоваться услугами [ | '''Для размещения ваших Bedrock серверов на надежном хостинге рекомендуем воспользоваться услугами [https://ark-hoster.ru ARK-HOSTER.RU]:''' | ||
* '''[ | * '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' - для высоконагруженных Bedrock серверов | ||
* '''[ | * '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' - для небольших и средних серверов | ||
Наши специалисты помогут с настройкой логирования и модерации на Bedrock серверах! | Наши специалисты помогут с настройкой логирования и модерации на Bedrock серверах! | ||
Текущая версия от 08:13, 14 ноября 2026
Настройка логирования и модерации Bedrock сервера
1. Подготовка
- Убедитесь, что Bedrock сервер установлен и работает.
- Имейте права доступа для редактирования конфигурационных файлов.
- Рекомендуется использовать Ubuntu 24.04 LTS.
- Установите необходимые инструменты для анализа логов.
2. Настройка логирования в server.properties
Базовые настройки
1. Отредактируйте конфигурацию:
cd /opt/bedrock nano server.properties
2. Настройки логирования:
# Логирование контента (если доступно) content-log-file-enabled=false # true - логировать загружаемый контент # false - не логировать
Включение детального логирования
1. Для отладки включите логирование:
content-log-file-enabled=true
2. Для продакшн серверов:
content-log-file-enabled=false
3. Структура логов
Расположение логов
1. Основная директория логов:
cd /opt/bedrock ls -lah logs/
2. Типичные файлы:
logs/ ├── latest.log # Текущий лог сервера ├── content-log-*.log # Логи контента (если включено) └── crash-reports/ # Отчеты о крашах
3. Просмотр логов:
tail -f logs/latest.log cat logs/latest.log | less
4. Анализ логов
Поиск событий
1. Подключения игроков:
grep -i "connected" logs/latest.log grep -i "player.*joined" logs/latest.log
2. Отключения игроков:
grep -i "disconnected" logs/latest.log grep -i "player.*left" logs/latest.log
3. Команды игроков:
grep -i "command" logs/latest.log grep -i "executed.*command" logs/latest.log
4. Ошибки:
grep -i "error\|exception\|failed" logs/latest.log | tail -50
5. События сервера:
grep -i "server.*start\|server.*stop" logs/latest.log
Создание скрипта анализа
1. Создайте скрипт:
sudo nano /usr/local/bin/bedrock-log-analyzer.sh
2. Добавьте содержимое:
#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
REPORT_FILE="/var/log/bedrock-analysis-$(date +%Y%m%d).log"
echo "=== Bedrock Server Log Analysis ===" > "$REPORT_FILE"
echo "Date: $(date)" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Статистика подключений
echo "=== Player Connections ===" >> "$REPORT_FILE"
CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l)
echo "Total connections: $CONNECTIONS" >> "$REPORT_FILE"
grep -i "connected\|joined" "$LOG_FILE" | tail -20 >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Статистика команд
echo "=== Commands Executed ===" >> "$REPORT_FILE"
COMMANDS=$(grep -i "command" "$LOG_FILE" | wc -l)
echo "Total commands: $COMMANDS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Ошибки
echo "=== Errors ===" >> "$REPORT_FILE"
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l)
echo "Total errors: $ERRORS" >> "$REPORT_FILE"
if [ "$ERRORS" -gt 0 ]; then
grep -i "error\|exception" "$LOG_FILE" | tail -20 >> "$REPORT_FILE"
fi
echo "" >> "$REPORT_FILE"
# Активные игроки
echo "=== Active Players ===" >> "$REPORT_FILE"
grep -i "player" "$LOG_FILE" | grep -v "disconnected" | tail -10 >> "$REPORT_FILE"
cat "$REPORT_FILE"
3. Сделайте исполняемым:
sudo chmod +x /usr/local/bin/bedrock-log-analyzer.sh
5. Система модерации
Настройка permissions.json
1. Назначьте права модераторам:
cd /opt/bedrock nano permissions.json
2. Добавьте модераторов:
[
{
"permission": "operator",
"xuid": "1234567890123456"
},
{
"permission": "operator",
"xuid": "2345678901234567"
}
]
Команды модерации
1. Кик игрока:
screen -r minecraft-bedrock kick PlayerName [причина]
2. Бан игрока:
ban PlayerName [причина]
3. Разбан игрока:
pardon PlayerName
4. Временный бан (через скрипт):
sudo nano /usr/local/bin/bedrock-temp-ban.sh
5. Добавьте содержимое:
#!/bin/bash
PLAYER="$1"
DURATION="${2:-3600}" # По умолчанию 1 час
if [ -z "$PLAYER" ]; then
echo "Usage: $0 <player-name> [duration-seconds]"
exit 1
fi
# Бан игрока
screen -S minecraft-bedrock -X stuff "ban $PLAYER$(printf \\r)"
# Запланировать разбан через указанное время
(sleep "$DURATION" && screen -S minecraft-bedrock -X stuff "pardon $PLAYER$(printf \\r)") &
echo "Player $PLAYER banned for $DURATION seconds"
6. Автоматическая модерация
Скрипт автоматической модерации
1. Создайте скрипт:
sudo nano /usr/local/bin/bedrock-auto-moderate.sh
2. Добавьте содержимое:
#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
VIOLATION_LOG="/var/log/bedrock-violations.log"
# Поиск нарушений в логах
check_violations() {
# Список запрещенных слов (пример)
BAD_WORDS=("spam" "hack" "cheat")
tail -100 "$LOG_FILE" | while read line; do
for word in "${BAD_WORDS[@]}"; do
if echo "$line" | grep -qi "$word"; then
PLAYER=$(echo "$line" | grep -oE "Player[^:]*:\s*\w+" | awk '{print $NF}')
if [ ! -z "$PLAYER" ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Violation by $PLAYER: $line" >> "$VIOLATION_LOG"
# Автоматический кик (опционально)
# screen -S minecraft-bedrock -X stuff "kick $PLAYER Bad language$(printf \\r)"
fi
fi
done
done
}
check_violations
3. Сделайте исполняемым:
sudo chmod +x /usr/local/bin/bedrock-auto-moderate.sh
4. Добавьте в cron (каждые 5 минут):
*/5 * * * * /usr/local/bin/bedrock-auto-moderate.sh
7. Мониторинг действий игроков
Логирование действий
1. Создайте скрипт мониторинга:
sudo nano /usr/local/bin/bedrock-activity-monitor.sh
2. Добавьте содержимое:
#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
ACTIVITY_LOG="/var/log/bedrock-activity.log"
# Мониторинг действий игроков
monitor_activity() {
tail -f "$LOG_FILE" | while read line; do
# Подключения
if echo "$line" | grep -qi "connected\|joined"; then
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] JOIN: $PLAYER" >> "$ACTIVITY_LOG"
fi
# Отключения
if echo "$line" | grep -qi "disconnected\|left"; then
PLAYER=$(echo "$line" | grep -oE "\w+" | tail -1)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] LEAVE: $PLAYER" >> "$ACTIVITY_LOG"
fi
# Команды
if echo "$line" | grep -qi "executed.*command"; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] COMMAND: $line" >> "$ACTIVITY_LOG"
fi
done
}
monitor_activity
8. Отчеты и статистика
Ежедневный отчет
1. Создайте скрипт отчетов:
sudo nano /usr/local/bin/bedrock-daily-report.sh
2. Добавьте содержимое:
#!/bin/bash
LOG_FILE="/opt/bedrock/logs/latest.log"
REPORT_FILE="/var/log/bedrock-daily-report-$(date +%Y%m%d).txt"
echo "=== Bedrock Server Daily Report ===" > "$REPORT_FILE"
echo "Date: $(date)" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Статистика за последние 24 часа
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
# Уникальные игроки
UNIQUE_PLAYERS=$(grep -i "connected\|joined" "$LOG_FILE" | \
grep -oE "Player[^:]*:\s*\w+" | \
awk '{print $NF}' | \
sort -u | wc -l)
echo "Unique players (last 24h): $UNIQUE_PLAYERS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Общее количество подключений
TOTAL_CONNECTIONS=$(grep -i "connected\|joined" "$LOG_FILE" | wc -l)
echo "Total connections: $TOTAL_CONNECTIONS" >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Ошибки
ERRORS=$(grep -i "error\|exception" "$LOG_FILE" | wc -l)
echo "Total errors: $ERRORS" >> "$REPORT_FILE"
# Отправка отчета (опционально)
# mail -s "Bedrock Daily Report" admin@example.com < "$REPORT_FILE"
cat "$REPORT_FILE"
3. Добавьте в cron (ежедневно в 23:59):
59 23 * * * /usr/local/bin/bedrock-daily-report.sh
9. Интеграция с системами модерации
Webhook для нарушений
1. Создайте скрипт отправки уведомлений:
sudo nano /usr/local/bin/bedrock-violation-webhook.sh
2. Добавьте содержимое:
#!/bin/bash
WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK_URL"
VIOLATION="$1"
PLAYER="$2"
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\": \"⚠️ Violation detected! Player: $PLAYER, Reason: $VIOLATION\"}" \
"$WEBHOOK_URL"
10. Устранение неполадок
Проблемы с логами
1. Логи не создаются:
- Проверьте права доступа к директории logs/
- Проверьте настройки в server.properties
2. Логи растут слишком быстро:
- Настройте ротацию логов
- Отключите content-log-file-enabled
3. Не могу найти события в логах:
- Используйте grep с правильными паттернами
- Проверьте формат логов Bedrock сервера
Заключение
Настройка логирования и модерации Bedrock сервера обеспечивает эффективное управление сервером и контроль действий игроков. Правильная настройка логирования и автоматизация модерации значительно упростит управление сервером.
Для размещения ваших Bedrock серверов на надежном хостинге рекомендуем воспользоваться услугами ARK-HOSTER.RU:
- Выделенные серверы - для высоконагруженных Bedrock серверов
- VPS/VDS серверы - для небольших и средних серверов
Наши специалисты помогут с настройкой логирования и модерации на Bedrock серверах!