ECD Logger - автоматический мониторинг античит-отчётов Easy Cheat Detector + интеграция с GameCMS модулем от BiZaJe и мессенджерами VK/Telegram
Программа предназначена для администраторов игровых серверов, аналитиков и активных участников сообществ (CS 1.6 и другие игры, использующие ECD). Она автоматически опрашивает API (с полной пагинацией), фильтрует отчёты по заданному серверу, сохраняет их в локальную базу SQLite, умеет подгружать детальный разбор нарушителя (драйверы, модули, процессы), отслеживает новые записи в MySQL GameCMS и отправляет уведомления в Telegram или VK.
Возможности
Мониторинг в реальном времени – циклический опрос с настраиваемым интервалом (случайная задержка между минимумом и максимумом).Гибкая фильтрация – 3 режима:
- только целевой сервер (совпадение подстроки)
- все сервера (включая скрытые)
- целевой + скрытые сервера (где имя «-» или «N/A»)
Полная выгрузка отчётов – пагинация через DataTables API, позволяет забирать не только первые 50-150 записей, а все доступные отчёты.
Детальный анализ нарушителя – при включении опций скачивается архив с драйверами, модулями и процессами (сохраняются в отдельные таблицы SQLite).
Локальное хранение – SQLite-база данных, не требует отдельного сервера.
Маскировка под реального пользователя – случайный User-Agent из списка >200 современных браузеров (Windows, Android, iOS).
Защита от блокировок – настраиваемые задержки между запросами, повторные попытки, автоматический пере просмотр с откладыванием проблемных отчётов в очередь повторной проверки
Интеграция с GameCMS – мониторинг MySQL-таблицы
ecd_loger: новые записи и изменения статуса.Уведомления – встроенная поддержка Telegram (с прокси) и VK. Отправляются сообщения о новых отчётах ECD, событиях GameCMS и смене статуса.
Автоматическая установка зависимостей – скрипт
setup.py проверит и установит requests, beautifulsoup4, urllib3, mysql-connector-pythonТребования
- Python 3.6+ (рекомендуется 3.8+)
- pip (менеджер пакетов)
- Доступ в интернет (для запросов к fungun.net)
- MySQL (только если включена интеграция с GameCMS)
Интеграция с внешними системами (сайты, Telegram, VK)
База данных – стандартный SQLite, поэтому вы можете обращаться к ней из любого языка, поддерживающего SQLite. Кроме того, программа сама умеет отправлять уведомления через Telegram и VK API. Ниже примеры для самых популярных сценариев.
Показывает последние 10 отчётов в виде HTML-таблицы.:
from flask import Flask
import sqlite3
app = Flask(name)
@app.route('/')
def index():
conn = sqlite3.connect('database/reports')
cur = conn.cursor()
rows = cur.execute('SELECT nick, result_status, report_time, hostname FROM reports ORDER BY created_at DESC LIMIT 10').fetchall()
conn.close()
html = '<table border="1">'
for r in rows:
html += f'<tr><td>{r[0]}</td><td>{r[1]}</td><td>{r[2]}</td><td>{r[3]}</td></tr>'
html += '</table>'
return html
if name == 'main':
app.run(host='0.0.0.0', port=5000)
Показывает последние 10 отчётов:
<?php
$db = new SQLite3('database/reports');
$results = $db->query("SELECT nick, result_status, report_time FROM reports ORDER BY created_at DESC LIMIT 10");
echo '<ul>';
while ($row = $results->fetchArray()) {
echo '<li>' . htmlspecialchars($row['nick']) . ' – ' . $row['result_status'] . ' (' . $row['report_time'] . ')</li>';
}
echo '</ul>';
$db->close();
?>
Показывает последние 10 отчётов:
import express from 'express';
import Database from 'better-sqlite3';
const app = express();
const db = new Database('database/reports');
app.get('/api/reports', (req, res) => {
const stmt = db.prepare('SELECT local_id, nick, result_status, user_ip FROM reports ORDER BY created_at DESC LIMIT 10');
const reports = stmt.all();
res.json(reports);
});
app.listen(3000, () => console.log('API запущен на порту 3000'));
В версии 1.4.3 добавлена система отправки уведомлений через Telegram API. Настройка в config.txt
В версии 1.4.3 добавлена система отправки уведомлений через VK API. Настройка в config.txt
Актуально на момент 2026.07.27 10:10:30