Налаштування серверної частини та бекенду для ігор
Ми інтегруємо та налаштовуємо ігровий backend під конкретний жанр і бюджет. Ігровий сервер у реальному часі обробляє 20–60 тиків на секунду від кожного з 16 одночасних гравців — це 320–960 тиків/с. Вимоги до latency, throughput та uptime принципово відрізняються від звичного веб-бекенду. Помилка у виборі між managed game backend та власним dedicated server виявляється при першому навантажувальному тесті. Економія на інфраструктурі може досягати 60% при використанні self-hosted рішень.
Як вибрати між managed backend та dedicated server?
Для turn-based та casual ігор (карткові, головоломки, party games) достатньо managed backend: PlayFab (Microsoft) або Nakama Cloud (Heroic Labs). Вони закривають авторизацію, економіку, таблиці лідерів, chat та matchmaking без написання серверного коду. Для real-time action (шутери, файтинги, гонки) потрібен dedicated game server — процес, який запускає Unity або Unreal у headless-режимі та авторитетно обробляє фізику, AI та логіку гри.
Архітектура dedicated game server
Unity Dedicated Server build — окремий build target без графіки, доступний в останніх LTS-версіях. Server-side код позначається #if UNITY_SERVER. Логіка фізики, колізій, AI та розрахунок шкоди виконуються виключно на сервері. Клієнт надсилає тільки input та отримує state updates. Dedicated server забезпечує 99.9% uptime та latency до 20ms.
Варіанти хостингу для dedicated server
- Unity Gaming Services Multiplay: managed, auto-scaling, pay-per-hour.
- AWS GameLift: зріле рішення з флотиліями серверів, auto-scaling та FlexMatch matchmaking.
- Власні VPS через Docker + orchestrator: дешевше, але вимагає DevOps-компетенцій.
GameLift FlexMatch збирає гравців за skill, latency та регіоном, запускає сервер під сесію та видає клієнтам connection info. Інтеграція в Unity через AWS SDK.
Nakama як game backend
Nakama — open source game server, що закриває 80% потреб мобільного та PC мультиплеєра без написання власного backend-коду. Функціональність з коробки: real-time multiplayer (WebSocket), matchmaking, chat, leaderboards, tournaments, player profiles, virtual economy, push-сповіщення. Nakama підтримує до 1000 одночасних гравців на одному екземплярі.
Розгортається через Docker Compose за кілька годин. Unity SDK офіційний та документований. Кастомна логіка — через Server-side modules на TypeScript або Go (Lua deprecated). TypeScript-модулі компілюються та деплояться без перезапуску сервера.
Реальний кейс: мобільна карткова гра PvP 1v1. Вимоги: matchmaking, ELO-рейтинг, зберігання replay, anti-cheat через validation action. Обрали Nakama self-hosted на VPS (для 500 MAU) + кастомний TypeScript-модуль для валідації ходів та розрахунку ELO. Час розробки серверної частини — 3 тижні замість оцінки в 8 тижнів при custom backend, тобто в 2.7 рази швидше. Пікове навантаження у 500 одночасних юзерів з latency до 50ms підтвердило стабільність. Вартість self-hosted Nakama для 500 MAU — від $10/міс, що в 3 рази дешевше за managed аналоги. Більш ніж 5 років досвіду нашої команди в ігровому backend підтверджують: Nakama — оптимальний вибір для інді та мідкор проектів.
PlayFab для casual та mobile ігор
PlayFab (Microsoft) — managed game backend з багатою функціональністю: Player Profiles, Cloud Scripts (Azure Functions), Economy V2 (валюта, каталог, інвентар), Leaderboards, Segments для push та A/B тестів, Matchmaking. PlayFab обробляє до 10 000 запитів/с.
Цінова модель: перші 1000 MAU безкоштовно, далі по MAU. Для гіпер-казуального проекту з 100k MAU вартість становить близько $200 на місяць, для мідкору з монетизацією зазвичай виправданий.
Важливо: Cloud Scripts виконуються server-side, що дозволяє безпечно проводити операції з валютою, перевіряти IAP receipts та застосовувати промокоди. Як пише Microsoft у документації: Cloud Scripts виконуються server-side — ніколи не довіряємо клієнту операції з економікою, тільки через Cloud Script.
Коли обирати Nakama, а коли PlayFab?
| Функція | Nakama | PlayFab |
|---|---|---|
| Real-time multiplayer | WebSocket | Photon / Direct |
| Matchmaking | Вбудований | FlexMatch (GameLift) |
| Економіка | Virtual economy | Economy V2 |
| Cloud-функції | TypeScript | Azure Functions |
| Ціноутворення | Self-hosted / Cloud | pay-per-MAU |
Nakama підходить для інді-проектів з жорстким контролем даних та кастомною логікою. PlayFab — для швидкої інтеграції в екосистему Microsoft та managed-інфраструктури.
Структура 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 — постійний: профілі, економіка, таблиці, авторизація. Розділення обов'язкове: game server не повинен знати про монетизацію, backend не повинен містити ігрову фізику.
Процес роботи
- Аналітика: визначаємо жанр, цільову кількість гравців (наприклад, 10 000 одночасних), вимоги до real-time, бюджет інфраструктури.
- Проектування: обираємо стек (Nakama/PlayFab/dedicated server), проектуємо схему даних та API.
- Реалізація: налаштування backend, інтеграція з Unity/Unreal, розробка кастомних модулів.
- Тестування: load testing з k6 або Locust, симуляція пікового навантаження до 10 000 одночасних користувачів, перевірка latency (ціль <30ms) та stability.
- Деплой: розгортаємо стейджинг, ідентичний продуктиву (Docker Compose/Kubernetes). Виробниче середовище відрізняється тільки scale — не конфігурацією.
Орієнтовні строки
| Масштаб завдання | Строки |
|---|---|
| Nakama self-hosted + базова інтеграція в 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 тижнів |
Що входить в роботу
- Документація: схема API, опис ендпоінтів, інструкція з деплою.
- Доступи: репозиторій з кодом, credentials до стейджингу та продуктиву.
- Навчання: проведемо сесію для команди по роботі з backend.
- Підтримка: гарантійна підтримка 1 місяць після здачі.
Вартість розраховується індивідуально після аналізу вимог та інфраструктурного бюджету. Отримайте консультацію з вибору стеку — зв'яжіться з нами.






