我正在本地测试我们的应用程序,似乎我只能使用Gamelift本地创建一个游戏会话。
所以我所做的是运行gamelift本地
java -jar GameLiftLocal.jar -p 9080
运行我用C#和Unity编写的自定义gamelift服务器并使用CLI创建游戏会话
AWS gamelift create-game-session --endpoint-url http://localhost:9080 --maximum-player-session-count 2 --fleet-id fleet-123d
第一次运行,它成功并创建了游戏会话。当我通过在上面发出相同的命令来创建另一个游戏会话时,它会导致
HTTP-Dispatcher - No available process.
为什么会这样?我们只能在本地创建一个游戏会话吗?
如果您试图创建另一个游戏会话,则需要运行多个游戏服务器进程。
GameLift可以通过接收来自游戏服务器进程的服务器端API调用来获取游戏会话的状态。
我认为这个图表可以帮助你
https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-interaction-vsd.html
根据文档:
每个服务器进程应该只主持一个游戏会话
使用GameLift Local进行本地测试时,您可以启动多个服务器进程。每个进程都将连接到GameLift Local。
听起来您需要运行多个GameLiftLocal
实例
来源:https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html