You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让AWS GameLift游戏会话持续运行不自动终止?

解决GameLift Anywhere游戏会话3天后自动终止的问题

GameLift Anywhere激活的游戏会话默认有72小时(3天)的最大存活限制,不过可以通过以下两种方式让会话持续运行:

1. 定期上报会话活跃状态

如果你的游戏会话需要长期运行(无论是否有玩家连接),可以在游戏服务器代码中通过GameLift Server SDK定期更新会话状态,让GameLift识别到会话仍在活跃,避免触发超时终止。

比如在服务器启动后,开启一个定时任务,每隔一段时间调用UpdateGameSession接口更新会话的自定义数据或属性:

// C# 示例:每隔12小时更新会话自定义数据以保持活跃
private async Task MaintainSessionAlive()
{
    while (true)
    {
        var currentSession = GameLiftServerAPI.GetGameSession();
        if (currentSession != null)
        {
            var updateReq = new UpdateGameSessionRequest
            {
                GameSessionId = currentSession.GameSessionId,
                GameSessionData = $"active-check:{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}"
            };
            await GameLiftServerAPI.UpdateGameSessionAsync(updateReq);
        }
        await Task.Delay(TimeSpan.FromHours(12));
    }
}

只要持续上报活跃状态,会话就不会因超时被终止。

2. 配置会话最大时长参数

你可以在游戏构建(Game Build)或游戏会话队列(Game Session Queue)的配置中,设置MaximumSessionDuration参数,覆盖默认的72小时限制,最长可设置为10080分钟(7天)。如果需要超过7天,结合上面的定期上报方式即可无限期保持会话运行。

额外检查项

  • 确认你的EC2计算资源是长期运行的实例,避免因实例生命周期到期导致会话终止;
  • 检查GameLift的自动缩放策略,确保不会自动终止承载该会话的EC2实例。

内容的提问来源于stack exchange,提问作者Kasl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:42:38