Вы будете проектировать и разрабатывать серверную часть, которая отвечает за вход игроков в игру и жизненный цикл игровых сессий: авторизация пользователей, выделение и оркестрация инстансов Unity-серверов, архитектура backend, работа с базами и оптимизация под нагрузкой. Это «мозг» инфраструктуры между клиентом и игровыми серверами — с тебя ключевые технические решения и ответственность за то, как вся эта система держит онлайн. Отдельный вызов роли — разработка собственного менеджера инстансов.
Обязанности- Разработка и поддержка сервера авторизации и аутентификации пользователей (сессии, токены, защита от типичных атак).
- Разработка собственного менеджера инстансов: запуск, выделение игрокам, мониторинг состояния, переиспользование и корректное завершение игровых Unity-серверов.
- Оркестрация инстансов — балансировка, масштабирование под нагрузку, обработка падений и перезапусков.
- Проектирование backend-архитектуры: сервисы, межсервисное взаимодействие, протоколы общения клиент сервер игровые инстансы. Ответственность за архитектурные решения и их обоснование.
- Работа с БД: проектирование схем, написание и оптимизация запросов, кэширование.
- Профилирование и оптимизация — latency, пропускная способность, потребление ресурсов инстансами.
Обязательные требования- Многолетний опыт серверной разработки на C# / .NET в продакшене (не только Unity-скрипты).
- Понимание Unity на уровне dedicated/headless-серверов: как собирается и запускается серверная сборка, чем серверный билд отличается от клиентского.
- Опыт разработки собственного оркестратора / менеджера процессов: управление жизненным циклом процессов, мониторинг, выделение ресурсов, обработка падений и перезапусков.
- Уверенная работа с Docker и управление контейнерами из кода.
- PostgreSQL — проектирование схем, индексы, оптимизация запросов, понимание транзакций и блокировок.
- Redis — кэширование, сессии, pub/sub, использование как быстрого слоя состояния.
- Глубокая сетевая база: TCP/UDP, WebSocket, понимание задержек и надёжности доставки.
- Механизмы авторизации: JWT / OAuth2, управление сессиями, хранение секретов.
Сильные распределённые системы: масштабирование, отказоустойчивость, гонки и согласованность данных, проектирование под высокий онлайн.
- Опыт проектирования архитектуры с нуля и развития её под растущую нагрузку.
Будет плюсом- Опыт в gamedev, особенно в проектах с большим онлайном / MMO.
- Знакомство с готовыми решениями для оркестрации игровых серверов: Kubernetes, Agones и аналоги — понимание, как они устроены и где их подходы применимы.
- Очереди сообщений: NATS, RabbitMQ, Kafka.
- Нагрузочное тестирование и профилирование под высокий онлайн.
- Облака (AWS / GCP), инфраструктура как код.
- Опыт с метриками и наблюдаемостью (Prometheus, Grafana, трейсинг).
Стек
C# / .NET · Unity (dedicated server) · PostgreSQL · Redis · Docker · WebSocket / TCP-UDP
Условия:
- Формат работы: полностью удаленный, пятидневная рабочая неделя, 2 выходных.
- Занятость: полная, участие в проекте на постоянной основе.
- Оформление: трудовой договор по ТК РФ, официальная заработная плата.
- Оплата труда: уровень зарплаты обсуждается по итогам собеседования, зависит от опыта и компетенций кандидата.