1 500 000
Информационные технологии и интернет
Июль 2026
Требовалось построить азартную игру реального времени, где сотни игроков одновременно видят синхронный рост множителя с задержкой в доли секунды, делают и отменяют ставки внутри живого раунда, забирают выигрыш в нужный момент, а исход каждого раунда поддается независимой проверке на честность. Ключевое бизнес-ограничение состояло в экономике проекта: платформа должна оставаться рентабельной, то есть выдерживать миллионы зарегистрированных пользователей и тысячи активных подключений без дорогой распределенной инфраструктуры (кластеров приложения, отдельного кэширующего слоя, брокеров очередей) и без расходов на мощный серверный парк.
В основу легло реалтайм-ядро на ASP.NET Core и SignalR с бинарным протоколом MessagePack. Игровая логика вынесена в единый серверный цикл раунда, который вычисляет кривую множителя один раз и транслирует ее всем подключенным клиентам одним широковещательным сообщением. Все состояние игры (ставки, подключения, участники турниров, джекпоты) хранится в оперативной памяти на потокобезопасных lock-free структурах, что убирает обращения к базе данных из горячего пути и держит отклик стабильным под нагрузкой.
Честность обеспечивается провабли-фейр схемой: сервер генерирует секретный seed, публикует его SHA-256 хеш до приема ставок, а точку краша вычисляет через SHA-512 от комбинации серверного и клиентских сидов с nonce и настраиваемым параметром сложности. Денежный контур закрывает интеграция депозитов и выводов в TON через TON Connect, покупок и выплат в Telegram Stars через инвойсы, с конвертацией по живому курсу TON к USD, депозит подарками Telegram Gifts.
Код оптимизирован и протестирован под нагрузкой 5 миллионов пользователей и 5 тысяч одновременных онлайн-подключений на одном недорогом сервере, без распределенного кэша и без перехода на дорогое железо.
Стоимость серверного тика множителя постоянна и не растет с числом зрителей, поэтому модель вещания поглощает рост онлайна без апгрейда инфраструктуры.
Задержка синхронизации множителя удерживается в пределах долей секунды для всех клиентов одновременно.
Таблицы лидеров по миллионам пользователей отдаются мгновенно из памяти, тяжелые запросы к базе выполняются раз в минуту вместо каждого клиентского обращения.
Один бинарный канал обслуживает все игровые события (ставки, кэшауты, тики множителя, результаты раундов) сразу для четырех режимов.
Реализованы провабли-фейр механика, две валюты (TON и Telegram Stars), депозит подарками Telegram Gifts, реферальная программа, стейкинг и турнирный режим с роялти в рамках единого приложения.