🖥️ Что за мастер-сервер?


Мастер-сервер — это диспетчер игровой инфраструктуры. Он знает, какие серверы работают, кто на них играет и какие из них доступны для подключения.

Каждый игровой сервер при запуске сообщает мастер-серверу:
  • что он запущен;
  • как называется;
  • сколько игроков находится внутри;
  • есть ли свободные места;
  • доступен ли он для подключения.

После этого мастер-сервер обновляет информацию и показывает игрокам только актуальные серверы.

🔗
Игровой сервер
      |
      | "Я запущен. У меня 30/60. Есть свободные"
      |
      ↓
Мастер-сервер
      |
      ↓
Игрок видит сервер в списке
Pre-Alpha Disclaimer
Все показанные материалы находятся на ранней стадии разработки.
Визуальные элементы, интерфейс, механики и игровые системы могут измениться в процессе.
Представленные серверы являются тестовыми данными, сгенерированными исключительно для демонстрации работы браузера.
Почему собственная система?

Потому что чужие решения — это чужие ограничения.
Игровая инфраструктура не должна быть заложником внешних платформ.


Поэтому я создаю ключевую инфраструктуру с нуля. Без зависимости от сторонних решений. Без скрытых ограничений. С полным контролем над тем, как игрок получает доступ к игровому миру:

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

Это не просто техническое решение — это фундамент для честной и прозрачной игры.

💓 Heartbeat-система

Чтобы мастер-сервер всегда знал актуальное состояние инфраструктуры, игровые серверы регулярно отправляют специальные сигналы — Heartbeat.

Это работает как постоянная проверка связи:

Игровой сервер:
«Я работаю, мои данные актуальны»
Мастер-сервер:
«Сервер отвечает, значит его можно показывать игрокам»
Если сервер перестаёт отправлять Heartbeat, система понимает, что он больше недоступен, и автоматически убирает его из списка. Это позволяет системе работать без ручного управления: серверы сами появляются при запуске и исчезают после потери связи.

Так список серверов остаётся живым: игрок не видит выключенные серверы, устаревшие данные или недоступные подключения.
Очереди подключения

Одной из ключевых функций системы является управление очередями.

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

Система отслеживает:

  • доступность свободного места;
  • момент входа в очередь;
  • позицию игрока;
  • приоритет;
  • процесс подключения.
🔗
      Игровой сервер
        |
        | Heartbeat
        ↓
      Мастер-сервер
        |
        ↓
      Игрок
        |
        ├── Есть место → Подключение
        |
        └── Нет места → Очередь
Почему это важно


📶 Для игрока: стабильность

Более стабильный поиск серверов
Игрок получает актуальный список серверов без зависимости от сторонних сервисов.

Меньше проблем при подключении
Система контролирует весь процесс: от обнаружения сервера до проверки свободного места и начала подключения.

Это уменьшает ситуации, когда сервер отображается в списке, но фактически недоступен.

Новые возможности
Собственная инфраструктура позволяет создавать функции, которые сложно реализовать через готовые решения:

  • приоритеты очереди;
  • фильтры;
  • рейтинги;
  • избранные серверы;
  • специальные режимы доступа.

  • динамическое отображение конфигурации сервера:
— доступные режимы камеры;
— включённые игровые механики;
— состояние дополнительных систем мира.
— поддержку голосового чата
— особенности текущего окружения
🛡️ Для проекта: контроль и защита

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

Мастер-сервер отвечает не только за поиск серверов, но и за управление подключениями игроков.


Система контроля доступа
В будущем система будет поддерживать централизованное управление доступом к игровой инфраструктуре:

  • добавление пользователей в whitelist;
  • добавление ограничений в blacklist;
  • блокировка доступа по различным идентификаторам;
  • выдача приоритетов для подключения;
  • управление очередью и правами доступа;
  • применение временных ограничений.

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


Возможность развития
Архитектура создаётся специально под Skwolets, поэтому её можно развивать вместе с игрой и добавлять новые возможности без ограничений.


Подготовка к масштабированию
Система проектируется с учётом будущего роста количества серверов, игроков и дополнительных игровых сервисов.
Итог

Это только первый этап развития системы.

Сейчас мастер-сервер уже умеет находить игровые серверы, отслеживать их состояние, управлять подключениями и приоритетами игроков. В будущем система будет постепенно развиваться вместе с Skwolets — добавляя новые возможности для поиска серверов, работы с очередями, управления доступом и взаимодействия с сообществом.

Главная цель — создать не просто список серверов, а полноценную инфраструктуру вокруг игры, которая сможет развиваться вместе с проектом. Это только начало. Впереди ещё много идей и возможностей, которые можно будет реализовать на этой основе.


P.S. Пока всё работает локально. На продакшене — посмотрим. Но я оптимист. 😄
Made on
Tilda