Настройка серверной части и бэкенда для игр

Наша компания по разработке видеоигр ведет независимые проекты, совместно с клиентом создает игры и оказывает дополнительные операционные услуги. Опыт нашей команды позволяет нам охватить все игровые платформы и разработать потрясающий продукт, соответствующий видению клиента и предпочтениям игроков.

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1 услугВсе 242 услуг
Настройка серверной части и бэкенда для игр
Сложная
от 1 недели до 2 месяцев
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    671
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    533

Настройка серверной части и бэкенда для игр

Игровой сервер — это не «просто бэкенд». Веб-приложение обрабатывает HTTP-запросы с интервалом в секунды. Игровой сервер в реальном времени обрабатывает 20–60 тиков в секунду от каждого из 16 одновременных игроков. Требования к latency, throughput и uptime принципиально другие.

Выбор между managed game backend (PlayFab, Nakama Cloud, GameSparks) и собственным dedicated server зависит от жанра, бюджета и требований к масштабируемости. Ошибка в этом выборе обнаруживается при первом нагрузочном тесте.

Архитектура dedicated game server

Для real-time multiplayer с авторитетным сервером нужен dedicated game server — процесс, который запускает Unity или Unreal в headless-режиме и обрабатывает игровую логику авторитетно.

Unity Dedicated Server build (с Unity 2021+) — отдельный build target без графики. Server-side код помечается #if UNITY_SERVER. Логика физики, коллизий, AI, расчёт урона — всё на сервере. Клиент только отправляет input и получает state updates.

Hosting для dedicated server: Unity Gaming Services Multiplay (managed, auto-scaling, pay-per-hour), AWS GameLift (более зрелое решение, флотилии серверов с auto-scaling), собственные VPS через Docker + orchestrator (дешевле, но требует DevOps).

GameLift FlexMatch — managed matchmaking: собирает игроков по критериям (skill, latency, region), запускает сервер под сессию, выдаёт клиентам connection info. Интеграция в Unity через AWS SDK.

Nakama как game backend

Nakama — open source game server (Heroic Labs), который закрывает большинство потребностей mobile и PC multiplayer без написания собственного backend-кода. Функциональность из коробки: real-time multiplayer (WebSocket-based), matchmaking, chat, leaderboards, tournaments, player profiles, virtual economy, notifications.

Разворачивается через Docker Compose за несколько часов. Unity SDK — официальный, хорошо документированный. Для casual multiplayer (card games, turn-based, party games) Nakama покрывает 80% потребностей без кастомного сервера.

Кастомная логика — через Server-side modules на TypeScript или Go (Lua deprecated). Например: валидация игровых действий, расчёт рейтинга ELO, custom matchmaking rules. TypeScript-модули компилируются и деплоятся в Nakama без перезапуска сервера.

Реальный кейс: мобильная карточная игра, PvP 1v1. Требования: matchmaking, ELO-рейтинг, replay хранение, anti-cheat на уровне action validation. Выбрали Nakama self-hosted (VPS €40/мес для 500 MAU) + кастомный TypeScript-модуль для валидации ходов и расчёта ELO. Время разработки серверной части — 3 недели вместо оценки в 8 недель при custom backend.

PlayFab для casual и mobile games

PlayFab (Microsoft) — managed game backend с богатой функциональностью: Player Profiles, Cloud Scripts (Azure Functions), Economy V2 (виртуальная валюта, каталог предметов, инвентарь), Leaderboards, Segments (для push-уведомлений и A/B тестирования), Matchmaking.

Ценовая модель: первые 1000 MAU бесплатно, далее по MAU. Для гипер-казуального проекта с 100k MAU — cost может быть значительным. Для мидкора с монетизацией — обычно оправдан.

Важная особенность PlayFab: Cloud Scripts / Azure Functions выполняются server-side, что позволяет безопасно проводить операции с валютой, проверять IAP receipts, применять промокоды. Никогда не доверяем клиенту операции с экономикой — только через Cloud Script.

Структура backend для типичного мобильного мультиплеера

Client (Unity)
    ↕ WebSocket (real-time game data)
Game Server (Unity Headless / Custom)
    ↕ REST/gRPC
Game Backend (Nakama / PlayFab)
    ↓
Database (PostgreSQL / CockroachDB)

Game Server — авторитетная игровая логика, работает пока длится матч, потом умирает. Game Backend — постоянный: profiles, economy, leaderboards, auth. Разделение важно: game server не должен знать о деталях монетизации, backend не должен содержать игровую физику.

Процесс настройки

Начинаем с выбора backend-стека исходя из жанра и бюджета. Для turn-based или casual — PlayFab или Nakama managed. Для real-time action — dedicated server + Nakama/PlayFab для meta-layer.

Разворачиваем стейджинг-среду, идентичную проду (Docker Compose / Kubernetes). Производственная среда отличается только scale — не конфигурацией. Это устраняет «работает на стейджинге, не работает на проде».

Load testing через k6 или Locust до запуска: симулируем пиковую нагрузку, проверяем, что сервер держит целевой concurrent users без деградации latency.

Масштаб задачи Ориентировочные сроки
Nakama self-hosted setup + базовая интеграция в Unity 1–2 недели
PlayFab integration (auth + economy + leaderboards) 2–3 недели
Dedicated game server (Unity headless) + hosting 3–6 недель
Полный backend для multiplayer (server + meta-layer) 6–12 недель

Стоимость определяется после анализа требований к жанру, количеству игроков и инфраструктурному бюджету.