Skip to content

Latest commit

 

History

History
49 lines (25 loc) · 7.35 KB

File metadata and controls

49 lines (25 loc) · 7.35 KB

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

Master Server Toolkit (MST) представляет собой комплексное решение для разработки многопользовательских онлайн-игр и приложений. Этот фреймворк предоставляет готовые инструменты для решения основных технических задач, с которыми сталкиваются разработчики при создании сетевых игр.

Основные проблемы, которые решает MST

Система регистрации и авторизации пользователей

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

Списки игровых серверов

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

Управление пользовательскими данными

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

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

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

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

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

Техническая архитектура

Кроссплатформенная поддержка

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

Сетевой API

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

Модульность и расширяемость

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

Целевая аудитория и применение

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

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

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

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