Rocketic Arena работает на специально спроектированном стеке для мультиплеера с задержкой менее 100 мс прямо в браузере. От игровых движков на WebAssembly до Docker-серверов и WebSocket-прокси — каждый уровень оптимизирован для соревновательной игры в реальном времени. На этой странице описана архитектура, выбор технологий и инженерные решения, лежащие в основе платформы.
Платформа состоит из шести основных слоёв, работающих вместе для обеспечения браузерного мультиплеера с минимальной задержкой и максимальной надёжностью.
React-приложение с серверным рендерингом на Next.js 14 App Router. Обработка маршрутизации, SEO-метаданных, i18n и доставка WebAssembly-модулей игры в браузеры игроков.
Высокопроизводительный сервер Fastify для REST-эндпоинтов аутентификации, лобби, статистики и лидерборда. WebSocket-соединения управляют состоянием лобби, чатом и координацией серверов.
PostgreSQL хранит аккаунты, историю матчей, статистику и достижения. Redis управляет эфемерным состоянием — онлайн-присутствием, данными лобби, токенами сессий и распределением слотов.
Каждый игровой сервер работает в изолированном Docker-контейнере с движком Yamagi Quake II или Quake III. Контейнеры создаются по запросу и очищаются после окончания матчей.
Traefik обеспечивает TLS-терминацию, автоматическое обновление сертификатов, маршрутизацию доменов и балансировку нагрузки между фронтендом, API и игровыми серверами.
Полный конвейер наблюдаемости: распределённые трейсы, метрики и логи собираются через OpenTelemetry SDK и визуализируются в дашбордах SigNoz для анализа задержек и отслеживания ошибок.
Серверный рендеринг, App Router, React Server Components и статическая генерация для SEO-страниц. TypeScript везде.
Высокопроизводительный фреймворк Node.js API. Обработка 50 000+ запросов/сек с валидацией схем, хуками и плагинной архитектурой.
Постоянные двунаправленные соединения для синхронизации лобби, внутриигрового чата, ленты активности и обновлений лидерборда в реальном времени.
Игровые движки, скомпилированные в WASM, работают в браузере на околонативной скорости. Без плагинов, без загрузок — просто кликните и играйте.
Оркестрация контейнеров для игровых серверов. Каждый матч получает изолированное окружение с лимитами ресурсов, автоматической очисткой и мониторингом.
Надёжная реляционная база данных для персистентных данных — аккаунты игроков, статистика, записи матчей, достижения и турнирные сетки.
In-memory хранилище для управления сессиями, состояния лобби, отслеживания онлайн-игроков и pub/sub-распределения событий между сервисами.
Вендор-нейтральный фреймворк наблюдаемости. Собирает трейсы, метрики и логи со всех уровней сервисов для сквозной видимости производительности.
Браузерный мультиплеер требует преодоления разрыва между WebSocket-соединениями в браузере и UDP-протоколами на сервере. Вот как данные проходят через систему.
Игровые серверы — это динамически выделяемые Docker-контейнеры. При старте лобби или подключении к публичному серверу система автоматически находит или создаёт контейнер.
Каждый запрос, WebSocket-сообщение и событие жизненного цикла сервера трейсируется и измеряется. SigNoz предоставляет дашборды для операционного контроля.
Платформа работает на нескольких доменах с Cloudflare CDN для статических ресурсов, обеспечивая быструю загрузку независимо от местоположения.
Испытай инфраструктуру на практике — подключись к серверу или посмотри браузер серверов.