Конфигурация версии приложения
В этом разделе мы рассмотрим, как правильно настроить ваше приложение для эффективного использования сессий. Мы покажем, как использовать более тонкие настройки, чтобы адаптировать использование под ваши конкретные потребности. Базовые конфигурации версии приложения здесь рассмотрены не будут, но вы можете обратиться к этой части документации чтобы узнать о них больше.
Если вы все еще не уверены, какой продукт лучше соответствует вашим потребностям, не стесняйтесь присоединиться к нашему Discord для получения помощи. Однако, если вы дошли до этого места, вы, вероятно, уверены, что вам нужно использовать сессии в вашем приложении.
Рекомендации по настройке сессий в версии вашего приложения
Вся конфигурация, связанная с сессиями, находится под ключом session_config когда создается версия приложения.
Тип сессии
Как уже упоминалось, одним из первых шагов будет выбор типа сессии, либо Матч или Seat. Краткое напоминание: вам нужно использовать Seat если вы хотите, чтобы у каждого игрока был собственный сокет, и использовать Матч если вы хотите, чтобы у каждой сессии был общий сокет для всех игроков.
При использовании сессий Seat каждый игрок представлен IP-адресом, который вы отправляете нам в запросе сессии. Важно включать IP-адрес, так как это позволяет нам точно отслеживать использование сокетов для каждого развертывания. Без него вы можете не увидеть необходимую информацию об использовании сокетов.
Существует третий вариант, называемый По умолчанию, что означает, что функция сессий не используется. Это вариант по умолчанию для версий приложений, созданных без указания типа сессии.
Сокеты сессии
Параметр session sockets определяет максимальное количество игроков или матчей, в зависимости от типа сессии, которые могут быть размещены на вашем развертывании в любой момент времени.
Если вы используете Seat, количество session sockets в основном будет зависеть от того, сколько одновременных игроков вы хотите разместить в одном экземпляре вашего сервера. Если вы используете Матч, это будет больше зависеть от оптимизации кода вашего сервера. Как правило, чем меньше ресурсов потребляет каждый экземпляр, тем больше session sockets вы сможете разместить в одном развертывании.
Автовыделение (Autodeploy)
Если вы не хотите полностью управлять своим развертыванием на собственном бэкенде, рекомендуется выбрать эту опцию, чтобы ваши сессии не срывались. Она гарантирует, что у вас всегда будет доступно развертывание по требованию для размещения сессий при необходимости.
Опция autodeploy является упрощенной версией флота, где система автоматически создает развертывания на основе спроса вашего приложения, без каких-либо минимальных или максимальных ограничений. Это может быть полезно для приложений с очень переменным спросом, которым нужно быстро масштабироваться вверх и вниз без ограничений.
Время жизни пустого развертывания
Эта опция определяет, как долго следует сохранять развертывание без активных сессий перед его автоматическим удалением. Рекомендуется задавать значение, чтобы избежать затрат на работу неиспользуемых развертываний в течение длительного времени.
Это особенно важно, если вы используете опцию autodeploy, так как в противном случае может накопиться множество неиспользуемых ресурсов. Эта опция обеспечивает полностью автоматическое масштабирование вниз игровых серверов.
Чтобы обеспечить корректную работу этой функции, крайне важно удалять ваши сессии Seat или Match, когда они больше не нужны. В противном случае мы не сможем выполнить масштабирование вниз. Обратите внимание, что мы считаем развертывание пустым не тогда, когда отсутствуют подключения, а тогда, когда с развертыванием не связано больше никаких сессий.
Задержка удаления сессии
Если вам нужно удалить развертывание, а на нем все еще есть сессии, сессии не будут удалены немедленно. Вы можете задать, через сколько времени после завершения развертывания ваши сессии должны быть удалены. Это позволяет выполнить необходимые действия с сессиями до их удаления. По умолчанию время удаления установлено на 60 минут, и вы не можете установить значение ниже этого.
Имя этой переменной session_max_duration как в API, так и на панели управления, хотя мы признаем, что это имя может вводить в заблуждение.
Если вы удалите развертывание до отключения ваших игроков и завершения сессий, это отключит игроков от сервера, поскольку сервер больше не будет доступен. Это не рекомендуется.
Вам, вероятно, не понадобится изменять это значение, если у вас нет специальных требований. В большинстве случаев рекомендуется оставлять его по умолчанию.
Последнее обновление
Это было полезно?

