Что такое Master Server Toolkit?

Это независимое, бесплатное и в то же время мощное решение многих проблем, с которыми вы сталкиваетесь при разработке многопользовательских онлайн игр и приложений. Например:

Регистрация и авторизация пользователей

Каждая многопользовательская игра хранит учетные записи игроков. И для этого существуют множество сервисов, которые тем или иным способом помогают разработчику в решении данного вопроса. MST решает эту проблему прямо из коробки. С помощью встроенного модуля авторизации вы можете быстро запустить возможность работы с учетными записями пользователей. Более того вы можете подключить MST к удаленным сервисам регистрации и авторизации пользователей при помощи предоставляемого ими API.

Списки игровых серверов как в Counter Strike, PUBG

Очень часто в многопользовательских играх разработчики сталкиваются с проблемой вывода активных серверов в список, чтобы пользователи могли выбрать нужный и подключиться к нему. MST решает этот вопрос буквально в несколько строк кода! Более того, MST имеет встроенную систему, помогающую запускать игровые серверы/комнаты в любой точке мира.

Обработка пользовательских данных

Взаимодействие с данными пользователя, такими как профили, друзья, кланы, игровая валюта и многое другое является также неотъемлемой частью многопользовательских игр. При помощи встроенных, гибких инструментов вы сможете легко решить этот вопрос и достичь необходимых результатов. MST способен выполнять мгновенную синхронизацию данных пользователя в реальном времени при любом их изменении.

Взаимодействие с базами данных

Оперирование информацией пользователей это одна задача, но хранение этой информации другая. MST имеет функционал работы с базами данных не прибегая к внешним источникам хранения информации. Но если вы уже используете такие источники, как, например, Amazon DynamoDB, GameSparks или Azure PlayFab, то взаимодействие с их API легко решается при помощи встроенных инструментов MST.

Игровые чаты и чат каналы

Также, довольно таки часто, неотъемлемой частью многопользовательских игр является игровой чат. MST также поможет решить и этот вопрос. При помощи готового модуля вы сможете легко создавать ваши игровые чаты и чат каналы в любым количеством пользователей.

Кроссплатформенность

Клиентская часть MST работает на таких платформах как Windows, Linux, MacOS, Android, iOS, WebGL. Серверная часть поддерживается платформами Windows, Linux, Android.

Расширение функционала по потребностям

Здесь описаны не все функции, которые мы можем вам предоставить. Для каждой отдельной задачи есть отдельное решение, но большинство из них решаемо при помощи MST. Но если предоставляемого в MST функционала вам недостаточно, то его модульная система позволяет вам без труда писать расширения для ваших нужд. При помощи модулей вы можете создать сервисы, которые будут работать вместе и при этом находиться в разных уголках планеты.

Сетевой API MST

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

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

Подходит ли данный фреймворк вам?

  1. Как говорилось ранее целью фреймворка является создание систем обслуживания игрового процесса и микросервисов, которые могут работать в разных уголках мира и выполнять одну задачу. При помощи встроенного сетевого API вы можете создать свой игровой сервер не прибегая к использованию uNet, Mirror Networking, Forge Remastered и других систем создания многопользовательских онлайн игр.
  2. Серверы и сервисы, созданные при помощи текущего фреймворка могут работать локально, но для продакшена вам необходимо использовать VPS или выделенный сервер.
  3. Рекомендуется иметь свои сервера именно на удаленной машине, а не на локальной. Вы можете использовать как запущенные и работающие 24/7 игровые сервера, так и использовать систему запуска игровых серверов, которая сама будет контролировать запуск и удаление игровых серверов в системе.
  4. Понятие фреймворк уже говорит о готовности, того кто будет использовать его, программировать используя API. Используемые в примерах компоненты интерфейса лишь созданы для демонстрации того или иного инструмента. Для решения ваших задач нет необходимости использовать интерфейс вообще. Например: чтобы получить список игровых серверов вам не нужен интерфейс. Достаточно лишь сделать запрос о получении списка и использовать ответ в ваших целях.
  5. Нет необходимости использовать все что есть в фреймворке. Используйте те инструменты, которые вам нужны.