Если вы видите в документации Unity упоминание Windows dedicated server build support, речь идёт о возможности собрать серверную часть вашего многопользовательского проекта под Windows как выделенный сервер. Это не клиентская версия игры, а отдельный экземпляр, который обрабатывает логику игры для всех подключённых игроков — без графики, только расчёты, синхронизация и управление сессиями.

Такой подход актуален для проектов на Unity Netcode for GameObjects (UNET), Mirror или Fish-Net, где сервер и клиенты работают на разных машинах. Далее разберём, чем выделенный сервер отличается от пиринговой модели, как его собрать в Unity, какие требования к железу и ПО, а также где лучше разворачивать — на своём ПК, в облаке или на выделенном сервере.

Чем выделенный сервер лучше пиринговой модели

В пиринговой архитектуре (P2P) один из игроков становится хостом — его машина обрабатывает логику для всех остальных. Это проще в реализации, но чревато проблемами:

  • Зависимость от хоста: если у него слабый ПК или нестабильный интернет, лагают все;
  • Читерство: хост может подменять данные (например, в шутерах — менять урон или позицию игроков);
  • Ограниченное количество игроков: обычно не больше 8–16, иначе нагрузка на хост становится критической.

Выделенный сервер решает эти проблемы: он работает на отдельной машине (физической или виртуальной), обрабатывает логику независимо от клиентов и гарантирует честность игры. Минус один — нужно платить за хостинг или содержать свой сервер.

💡

Если ваш проект рассчитан на 20+ игроков или это соревнования с рейтингом, выделенный сервер — обязательное условие. Для локальных тестов или кооператива на 2–4 человека хватит и P2P

СпособПлюсыМинусыСтоимость
Локальный ПКБесплатно, полный контроль, удобно для тестовНужно держать ПК включённым, ограниченная пропускная способность0 ₽ (если ПК уже есть)
Виртуальный сервер (VPS)Низкая цена, масштабируемость, удалённый доступОграниченные ресурсы, возможны лаги при высокой нагрузкеОт 300 ₽/мес
Выделенный серверМаксимальная производительность, полный контроль над железомДорого, сложно администрироватьОт 5 000 ₽/мес
Облачный хостинг (AWS, Azure)Гибкость, оплата по факту использования, интеграция с другими сервисамиСложная настройка, высокая цена при большой нагрузкеОт 1 000 ₽/мес

Сравнение способов развёртывания сервера для Unity

Вы можете запустить Windows dedicated server для Unity несколькими способами. Каждый вариант имеет свои плюсы, минусы и ограничения по цене, производительности и сложности настройки.

Требования к серверу для Unity-проектов

Минимальные и рекомендуемые требования зависят от сложности игры и количества игроков. Для тестов хватит и слабого железа, но для коммерческого проекта с 50+ игроками нужен серьёзный сервер.

Основные параметры, на которые стоит обратить внимание:

  • Процессор (CPU): чем больше ядер, тем лучше — серверная логика часто многопоточная. Для 20–30 игроков хватит 4–6 ядер (например, Intel Xeon E5-2620 или AMD Ryzen 7). Для 100+ игроков — от 8 ядер;
  • Оперативная память (RAM): минимум 4 ГБ для тестов, 8–16 ГБ для средних проектов, 32 ГБ и больше — для крупных серверов;
  • Жёсткий диск (HDD/SSD): SSD обязателен для быстрой загрузки карт и уменьшения лагов. Объём — от 50 ГБ (для самой ОС и серверных файлов), но если игра использует много ассетов, берите 200–500 ГБ;
  • Пропускная способность сети: минимум 100 Мбит/с для 20–30 игроков, 1 Гбит/с — для 100+. Важно, чтобы хостинг-провайдер гарантировал низкий пинг;
  • Операционная система: Windows Server 2019/2022 или Windows 10/11 Pro (для тестов). Для производственной среды лучше использовать серверные версии ОС.

Если вы только начинаете разрабатывать многопользовательскую игру, начните с локального сервера на своём ПК. Когда проект вырастет, переходите на или выделенный сервер.

Как собрать dedicated server build в Unity

Чтобы создать серверную сборку для Windows в Unity, нужно выполнить несколько шагов. Процесс может отличаться в зависимости от используемого сетевого фреймворка (UNET, Mirror, Fish-Net и др.), но общая схема одинаковая.

  1. Настройте проект для серверной сборки:

    Откройте Player Settings (Edit → Project Settings → Player). В разделе Other Settings найдите опцию Scripting Define Symbols и добавьте UNITY_SERVER (или другой символ, который использует ваш фреймворк для серверной логики). Это позволит отключить ненужные клиентские компоненты (например, рендеринг) в серверной сборке.

  2. Отключите графику:

    В серверной сборке не нужна графика, поэтому в Player Settings установите Graphics API в None или удалите все API. Также отключите Run In Background и Resizable Window.

  3. Соберите серверную версию:

    В меню выберите File → Build Settings. Убедитесь, что выбрана платформа Windows (x64 или x86 — зависит от вашей ОС). Нажмите Build и укажите папку для выходного файла. В результате получится .exe, который можно запускать на сервере.

  4. Запустите сервер:

    Скопируйте собранный .exe на сервер, откройте порт в файрволе (по умолчанию часто используется 7777 для Mirror или UNET) и запустите файл. Для автоматизации можно использовать .bat-скрипты или сервисы вроде PM2 для Node.js.

⚠️ Внимание: Не запускайте серверную сборку на той же машине, где работает клиентская версия игры. Это может привести к конфликтам портов и нестобильной работе.
Какой хостинг вы используете для Unity-сервера?
Локальный ПК
VPS
Выделенный сервер
Облако (AWS/Azure)
Ещё не выбрал

Сравнение сетевых фреймворков для Unity

Выбор фреймворка для многопользовательской игры определяет, как будет работать ваш Windows dedicated server. Каждый инструмент имеет свои особенности, плюсы и минусы.

ФреймворкПростота настройкиПроизводительностьПоддержка серверных сборокАктивность разработки
UNET (Unity Netcode)ВысокаяСредняяДа (встроено)Официально поддерживается Unity, но медленно развивается
MirrorСредняяВысокаяДаАктивная сообществом, часто обновляется
Fish-NetНизкаяОчень высокаяДаПлатный, но с открытым исходным кодом, оптимизирован для большого количества игроков
Photon Unity Networking (PUN)ВысокаяСредняяНет (использует облачные серверы Photon)Активная, но требует подключения к облаку
LiteNetLibНизкаяВысокаяДа (нужно дорабатывать вручную)Лёгкий, но требует больше кода

Mirror — самый популярный выбор для начинающих: он бесплатный, открытый, хорошо документирован и поддерживает выделенные серверы из коробки. Fish-Net подойдёт для крупных проектов, где важна производительность и масштабируемость. UNET удобен, если вы хотите остаться в экосистеме Unity, но его функционал ограничен.

Для большинства инди-проектов на Unity оптимальный выбор — Mirror или Fish-Net. UNET подойдёт для простых игр, а PUN — если вы не хотите возиться с хостингом

Где развернуть Windows dedicated server для Unity

Выбор хостинга зависит от бюджета, количества игроков и ваших технических навыков. Рассмотрим основные варианты подробнее.

Как выбрать хостинг для Unity-сервера

Сначала оцените нагрузку: сколько игроков будет одновременно, насколько сложная логика игры. Для тестов хватит локального ПК или дешёвого VPS. Для коммерческого проекта с 50+ игроками берите выделенный сервер или облако. Если не хотите возиться с настройкой, выбирайте хостинг с готовыми шаблонами для Unity (например, Hostman или Pterodactyl Panel).

Пошаговая инструкция: развёртывание сервера на VPS

Разберём процесс на примере Mirror и на Windows Server 2019. Этот способ подойдёт для большинства небольших и средних проектов.