Налаштування серверної частини та бекенду для ігор

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

Від імерсивних застосунків до ігрових світів і 3D-сцен

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

Відвідати персоналізований сайт
Показано 1 з 1Усі 242 послуг
Налаштування серверної частини та бекенду для ігор
Складний
від 1 тижня до 2 місяців
Часті запитання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1381
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    922
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    541
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    585

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

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

Вибір між managed game backend (PlayFab, Nakama Cloud, GameSparks) та власним dedicated server залежить від жанру, бюджету та вимог до масштабованості. Помилка у цьому виборі виявляється при першому нагрузочному тесті.

Архітектура Dedicated Game Server

Для real-time мультиплеєру з авторитетним сервером потрібен 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), який закриває більшість потребностей мобільного та PC мультиплеєру без написання власного backend-коду. Функціональність з коробки: real-time мультиплеєр (WebSocket-based), matchmaking, chat, leaderboards, tournaments, player profiles, virtual economy, notifications.

Розворачивается через Docker Compose за кілька годин. Unity SDK — офіційний, добре документований. Для casual мультиплеєру (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 (€40/мес VPS для 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 — вартість може бути значною. Для мідкор з монетизацією — звичайно виправдана.

Важлива особливість: 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). Виробнича середовище відрізняється тільки масштабом — не конфіґурацією. Це усуває «працює на стейджингу, не працює на продакшені».

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

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

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