14 карточных и настольных игр в одном Telegram Mini App,
доказуемо честно, с десктопным клиентом
Мультиигровой Telegram Mini App и десктопный клиент: покер, дурак, бура, нарды, шахматы, шашки, домино, блэкджек, маджонг и другие на общем пакете движка на TypeScript, реалтайм через Socket.IO, доказуемо честная раздача с HMAC commit-reveal, геоблокировка, возрастной фильтр и слой ответственной игры, 428 автоматизированных тестов, проверенные бэкапы.
Что это
Одна платформа, много игр: покер, дурак, бура, козёл, маджонг, нарды, шахматы, шашки, домино, блэкджек и другие делят пакет на TypeScript с моделью карточной колоды и оценщиком покерных рук. Шесть игр активны в проде; остальные готовы за флагом видимости.
Инженерия
Игра в реальном времени через Socket.IO с состоянием, авторитетным на сервере. Доказуемо честная раздача: сервер фиксирует seed через HMAC-SHA256 до раздачи и раскрывает его после, с видимым значком честности. Трёхуровневая геоблокировка по IP, возрастной фильтр 18+, страницы ответственной игры и юридические страницы, построенные под требования рекламных сетей. Десктопный клиент на Tauri 2 делит код с вебом.
Документ дизайна антифрода покрывает 13 слоёв против более чем 60 векторов угроз, с лимитами скорости на Redis уже в проде и дорожной картой на остальное.
Эксплуатация
Миграция с SQLite на PostgreSQL, а позже между серверами с проверкой данных 1:1 (пользователи, фишки, игры, транзакции). Ежедневные бэкапы с 14 копиями в ротации, восстановление проверено реальным восстановлением. Баг краша бота, из-за которого health check оставался зелёным, пока бот был мёртв, был найден и исправлен. Десять дней работы без перезапусков на последней контрольной точке.