Home ru - Pa-dej/Vex GitHub Wiki
Vex Proxy (Русский)
Высокопроизводительный Rust‑прокси для Minecraft Java с кластеризацией, антиботом и нативными Rust‑плагинами.
Бенчмарк (10 000 одновременных подключений)
| Прокси | Рантайм | Пиковая RAM | KB/conn | Успех | Таймауты |
|---|---|---|---|---|---|
| Vex | Rust | 258 MB | 26 KB | 100% | 0 |
| Gate | Go | 968 MB | 97 KB | 100% | 0 |
| BungeeCord | JVM | 1526 MB | 153 KB | 100% | 428 |
После теста (удержание памяти): Vex 14 MB, Gate 22 MB, BungeeCord 707 MB.
Возможности
Ядро прокси
- Minecraft Java 1.20–1.21.4 (protocol 763–774)
- Онлайн + оффлайн авторизация с проверкой сессий Mojang
- Шифрование AES/CFB8
- Velocity modern forwarding с HMAC
- Балансировка weighted least-connections
- Активные health‑checks (status ping + TCP fallback)
- Атомарный hot reload через ArcSwap
- Корректное завершение с drain
- Защита от slowloris/idle таймаутов
- Пулы буферов на подключение
Антибот (v1.2 + v2)
- Глобальный лимит подключений
- Токен‑бакеты на IP и /24 подсети
- Ранний дроп кривых/слишком больших фреймов
- Репутационный кеш (0–100 на IP)
- Адаптивные задержки по score
- Эскалация блокировок (30s → 2m → 10m)
- Attack mode с авто‑детектом флуда
- Затухание репутации к нейтрали раз в 60s
- Синхронизация репутации через Redis (v4)
Наблюдаемость
- Prometheus‑метрики (50+)
- Структурные JSON‑логи с trace_id на соединение
- Grafana‑дашборд (vex-proxy-v1, авто‑провижининг)
- Docker Compose стек (Prometheus + Grafana + Redis)
Plugin API (v3.0)
- Нативные Rust‑плагины (.dll/.so/.dylib)
- 17 событий (логин, бэкенд, статус, перезагрузка, attack mode, etc.)
- transfer() для переключения бэкенда без дисконнекта
- Динамический MOTD через статус‑пинг
- Zero‑copy plugin messaging (Bytes)
- Метаданные игрока (type‑safe DashMap)
- Реестр команд с permission‑checks
- Планировщик (run_later, run_timer, run_next_tick)
- Конфиг API (YAML, save_default)
- Tab list, title, actionbar, chat API
- Метрики плагинов (custom Prometheus)
- Hot‑reload плагинов через watcher
- Проверка ABI (VEX_SDK_VERSION)
- Таймаут обработчика 500ms с изоляцией panic
Кластеризация (v4)
- Redis‑бэкенд и реестр нод (TTL 15s)
- Общая репутация между нодами
- Глобальный rate‑limit через Redis counters
- Pub/sub события (attack mode, репутация, broadcast)
- Глобальный реестр сессий (get_all_players)
- Degraded режим при недоступности Redis
- Circuit breaker для Redis операций
- Admin API: /cluster/status, /cluster/nodes
Admin API
- GET /healthz, GET /metrics
- POST /reload, /auth/mode, /shutdown
- POST /commands/{name}
- Авторизация через x-admin-token
Быстрые ссылки
- Быстрый старт
- Конфигурация
- Разработка плагинов
- Plugin API Reference
- Антибот
- Кластеризация
- Наблюдаемость
- Сравнение
- История версий