Amazon GameLift Agent 작업 - Amazon GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon GameLift Agent 작업

Amazon GameLift Agent는 Amazon GameLift 플릿에서 게임 서버 프로세스의 실행을 감독합니다. 에이전트는 플릿의 각 컴퓨팅에 배포되며 컴퓨팅에 대한 자동화된 프로세스 관리, 호스팅 관리 및 로깅을 제공합니다. 에이전트를 사용하려면 게임 서버 빌드가 Amazon GameLift 서버 SDK 5.x 이상과 통합되어 있어야 합니다.

Amazon GameLift Agent는 관리형 GameLift 플릿이 아닌 Amazon EC2플릿과 함께 외부에서 사용할 수 있습니다. (관리형 EC2플릿은 에이전트의 작업을 자동으로 처리합니다.) 에이전트를 사용하거나 사용하지 않고 Anywhere GameLift 플릿을 포함한 Amazon 플릿을 실행하도록 선택할 수 있습니다. 에이전트가 없으면 필요한 작업을 완료하기 위한 대체 솔루션을 제공해야 합니다.

컴퓨팅에 배포할 때 게임 서버 프로세스가 시작되기 전에 Amazon GameLift Agent를 시작해야 합니다. 시작 시 에이전트는 다음 작업을 완료합니다.

  • Amazon에 컴퓨팅 등록 GameLift Anywhere 를 사용하는 RegisterCompute 플릿API.

  • 를 호출GetComputeAuthTokenAPI하여 권한 부여 토큰을 가져와 컴퓨팅에서 실행 중인 서버 프로세스에서 사용할 수 있도록 저장합니다.

  • 컴퓨팅의 WebSocket URL 환경 변수를 설정하고 Amazon GameLift 서비스에 대한 WebSocket 연결을 설정합니다.

  • Amazon GameLift 서비스에서 플릿 런타임 구성의 최신 버전을 요청합니다.

  • 런타임 구성 지침에 따라 서버 프로세스를 시작하고 중지합니다.

Amazon GameLift Agent에 대한 소스 코드 및 빌드 지침은 Amazon GameLift Agent GitHub에서 확인할 수 있습니다.

에이전트 정보

Amazon GameLift Agent는 플릿에 대해 다음 작업을 처리하도록 설계되었습니다.

프로세스 관리

  • 런타임 지침에 정의된 대로 새 서버 프로세스를 시작합니다. 에이전트는 에이전트와 함께 배포된 사용자 지정 런타임 구성을 사용할 수 있습니다. 또는 플릿 정의의 RuntimeConfiguration 일부로 를 제공할 수 있습니다. 이 접근 방식은 언제든지 플릿의 런타임 구성을 수정할 수 있다는 이점이 있습니다. 에이전트는 Amazon GameLift 서비스에서 업데이트된 런타임 구성을 주기적으로 요청합니다.

  • 서버 프로세스 활성화를 모니터링하고 제시간에 활성화되지 않으면 프로세스를 종료합니다.

  • Amazon 에 하트비트를 보냅니다 GameLift. 에이전트가 하트비트를 전송하지 못하면 컴퓨팅이 오래된 것으로 표시될 수 있습니다.

  • 서버 프로세스가 종료 GameLift 되면 Amazon에 보고합니다. Amazon GameLift 은 이 정보를 사용하여 게임 세션 배치에 대한 게임 서버 가용성을 모니터링합니다.

  • 다음을 포함하여 서버 프로세스에 대한 플릿 이벤트를 내보냅니다.

    • SERVER_PROCESS_INVALID_PATH: 게임 서버 프로세스 시작 파라미터가 잘못 구성되었습니다.

    • SERVER_PROCESS_TERMINATED_UNHEALTHY: 게임 서버 프로세스가 활성화 후 3분 이내에 유효한 상태 확인을 보고하지 않아 종료되었습니다.

    • SERVER_PROCESS_FORCE_TERMINATED: 가 30초 이내에 전송OnProcessTerminate()된 후 게임 서버 프로세스가 완전히 종료되지 않았습니다.

    • SERVER_PROCESS_CRASHED: 게임 서버 프로세스가 어떤 이유로든 충돌했습니다.

컴퓨팅 관리

  • Amazon GameLift 서비스에서 메시지를 수신하여 컴퓨팅을 종료합니다.

  • Amazon 에서 컴퓨팅을 종료하라는 메시지를 표시합니다 GameLift.

로깅

  • AWS 계정의 Amazon S3 버킷에 로그를 업로드합니다.