For the complete documentation index, see llms.txt. This page is also available as Markdown.

Постоянное хранение

Узнайте, как управлять постоянными мирами с круглосуточными развертываниями 24/7 всегда онлайн на Частные парки серверов.

Многие жанры (MMO, песочницы, социальные игры) используют постоянные миры, чтобы позволить игрокам:

  • знакомиться и общаться с новыми друзьями; развивать органичные сообщества игроков,

  • исследовать живой открытый мир, наполненный пользовательским контентом, размещённым игроками,

  • участвовать в эпических рейдовых битвах, длящихся часами, вместе с большими группами или целыми гильдиями.

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

✔️ Подготовка

Чтобы обеспечить постоянные, непрерывные круглосуточные развертывания 24/7 всегда онлайн:

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

🔑 Владение сервером

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

Студийный хостинг

Хостинг серверов традиционно управляется студией, а расходы на хостинг покрываются за счёт доходов от игры.

👍 Преимущества

  • прозрачное ценообразование продукта — стоимость хостинга покрывается лицензией/подпиской игрока,

  • высокая совместимость клиента и сервера при слабой связанности клиентов, сервисов и масштабирования,

  • более устойчива к читерству и обратной разработке благодаря закрытому исходному коду серверов.

👎 Недостатки

  • поддержка моддинга со стороны сообщества ограничена, чтобы обеспечить целостность и стабильность сервера.

Серверы сообщества

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

👍 Преимущества

  • улучшенная поддержка моддинга благодаря отобранному списку модифицированных Приложения и версии,

  • улучшенная обратная связь от игроков благодаря более тесному сотрудничеству с сообществом,

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

👎 Недостатки

  • больше операционной работы для студии — модерация запросов игроков и сбор платежей,

  • более слабая совместимость клиента и сервера из-за увеличенного числа модифицированных версий,

  • уязвимость к читерам из-за распределённой кодовой базы и возможности обратной разработки.

🥛 Ёмкость и масштабирование

Изучите продвинутые методы оптимизации доступности серверов, стоимости хостинга и качества обслуживания.

Ёмкость

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

Реализуйте управление ёмкостью, чтобы обеспечить, что ваши серверы:

  • максимизируют экономию средств - проводят бенчмаркинг и эффективно используют серверные ресурсы,

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

  • предотвращают плохие отзывы из-за сбоев — перехватывают и обрабатывают неожиданные исключения.

Чтобы обеспечить эффективное управление ёмкостью серверов:

  • освобождайте места для игроков, если игроки, сопоставленные с игровым сервером не подключаются в течение нескольких секунд,

  • часто отправляйте с клиента на сервер минимальное heartbeat-сообщение, чтобы отслеживать активность,

  • отключайте клиентов и освобождайте места для игроков, если в течение нескольких секунд не обнаружена активность,

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

Увеличение масштаба

Масштабирование постоянных серверов не требует «приблизительных оценок» регионального трафика или стоимости сервера. Зарезервируйте Частные парки серверов ёмкость для периода низкой нагрузки и автоматически переносите избыточную нагрузку в облако во время неожиданных пиков.

Реализуйте стратегии масштабирования серверов, чтобы:

  • обеспечить хостинг в большом масштабе, тщательно защищаясь от злоупотреблений,

  • минимизировать напрасные затраты на сервер из-за пустых резервных серверов,

  • предотвращать длительное ожидание в очереди, быстро реагируя на возросший спрос игроков.

Референтная архитектура авто-масштабирования

Ключевые моменты интеграции

  1. Клиенты интегрируются с Scaling Authority — Подбор игроков, Браузер серверовили с собственным решением.

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

  2. Scaling Authority назначает работающие серверы или запускает новые серверы для обслуживания игроков.

  3. Сервер в реальном времени уведомляет Scaling Authority о запуске/остановке сервера и изменениях подключений игроков.

    1. Scaling Authority удаляет (срок действия истёк) устаревшие записи о не отвечающих (упавших) серверах.

  4. Клиенты подключаются и устанавливают игровые сессии с сервером напрямую, переходят к игре.

Мы настоятельно рекомендуем масштабирование по количеству соединений, а не по физической нагрузке (CPU и RAM), поскольку кратковременные колебания физической нагрузки могут привести к непредсказуемой доступности.

Уменьшение масштаба

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

Надёжно ли определяется активность / отключение игрока?

  • Является ли отсутствие ввода надёжным признаком неактивности игрока? Игроки часто используют боты, макросы и другие методы, чтобы имитировать активность и поддерживать активное соединение, избегая времени ожидания в очереди.

  • Есть ли какие-то действия, которые активные игроки выполняют часто и которые трудно подделать?

  • Являются ли боты или макросы проблемой или функцией на Постоянное хранение серверах?

Легко и быстро ли обратимо отключение серверов (можно ли быстро снова увеличить масштаб)?

  • После достижения Развертыванияваш сервер может потребовать дополнительное время для инициализации движка и Постоянное хранение (восстановления состояния). Возникают ли у вас дополнительные расходы на вычисления или передачу данных с игровыми сервисами? Влияет ли это время ожидания на игровой опыт?

  • Можно ли скрыть загрузку сервера с помощью загрузочного экрана, мини-игры, лобби или иным способом?

Привязаны ли игроки к конкретным экземплярам серверов или могут ли они легко мигрировать?

  • Как подключение к другому серверу влияет на учётную запись игрока, историю покупок, социальный опыт, прогресс, инвентарь и другие игровые аспекты?

  • Проверьте ваши Постоянное хранение и убедитесь, что критически важные данные не теряются.

  • Реализуйте автоматизированные методы или инструменты для игроков для восстановления критически важных данных.

  • Обеспечьте поддержку со стороны людей и информируйте своё сообщество о сбоях и проблемах.

🔎 Обнаруживаемость

Чтобы находить активные серверы, принимающие новых игроков, реализуйте один или несколько методов обнаружения:

💭 Конфигурация и состояние

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

Управление конфигурацией

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

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

Управление состоянием

Состояние относится к данным, описывающим результат серии предыдущих действий игроков и событий сервера:

Данные состояния часто изменяются. Клиенты выборочно обновляются сервером только по релевантной информации.

Игровые объекты обычно имеют владельца, который ими управляет; это может быть либо сервер, либо игрок.

Объекты, принадлежащие серверу

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

Объекты, принадлежащие игроку

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

Предотвращайте читерство, проверяя изменения с помощью серверной авторитетности. Авторитет и владение могут быть разделены.

Цели восстановления

В случае проблем некоторые категории данных могут быть более чувствительны к потере данных, например:

  • данные учётной записи, подписки, покупок и микротранзакций — критически важные,

  • данные прогресса, достижений, таблиц лидеров и инвентаря — важные,

  • данные обнаружения читов, модерации, производительности и отслеживания ошибок — важные,

  • данные о поведении игроков, социальные данные, данные чата — низкой важности.

Мы настоятельно рекомендуем обсудить следующее в вашей команде:

  • категории данных, обрабатываемых в ваших игровых клиентах и на серверах,

  • важность и чувствительность каждой категории для вашего бизнеса и игроков,

  • Целевой уровень восстановления данных (RPO) — допустимый объём потери данных до наступления серьёзного ущерба,

  • Целевое время восстановления (RTO) — допустимая продолжительность простоя до наступления серьёзного ущерба.

👀 Наблюдаемость

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

Мы настоятельно рекомендуем настроить оповещения о перезапусках серверов чтобы получить больше видимости проблем.

Наш Хранилище конечных точек интеграция логирования передаёт только журналы после Развертываниядобавьте собственные журналы и отслеживание ошибок (например, Sentry) для устранения частичных сбоев и ошибок.

Последнее обновление

Это было полезно?