GameLift에서 전환
AWS Gamelift SDK 제거
Unity (C#)
using UnityEngine;
using Aws.GameLift.Server;
using System.Collections.Generic;
public class GameLiftServerExampleBehavior : MonoBehaviour
{
//이것은 게임 서버 프로세스를 GameLift에서 활성화되게 하는 GameLift 서버 SDK의 간단한 통합 예시입니다!
public void Start()
{
//플레이어 연결을 위해 게임 서버가 수신 대기하는 포트 번호를 식별합니다(여기서는 단순화를 위해 하드코딩).
var listeningPort = 7777;
//InitSDK는 추가 통신을 가능하게 하기 위해 GameLift의 에이전트와 로컬 연결을 설정합니다.
var initSDKOutcome = GameLiftServerAPI.InitSDK();
if (initSDKOutcome.Success)
{
ProcessParameters processParameters = new ProcessParameters(
(gameSession) => {
//게임 세션이 생성되면 GameLift는 활성화 요청을 게임 서버로 보내고 게임 속성 및 기타 설정을 포함한 게임 세션 객체를 전달합니다.
//여기서 게임 서버는 게임 세션 객체에 따라 조치를 취해야 합니다.
//게임 서버가 들어오는 플레이어 연결을 받을 준비가 되면 GameLiftServerAPI.ActivateGameSession()을 호출해야 합니다.
GameLiftServerAPI.ActivateGameSession();
},
(updateGameSession) => {
//게임 세션이 업데이트되면(예: FlexMatch 백필에 의해) GameLift는 업데이트된 게임 세션 객체를 포함한 요청을 게임
//서버로 보냅니다. 게임 서버는 제공된
//matchmakerData를 검사하고 새로 들어오는 플레이어를 적절히 처리할 수 있습니다.
//updateReason은 이 업데이트가 제공되는 이유입니다.
},
() => {
//OnProcessTerminate 콜백. GameLift는 이 게임 서버를 호스팅하는 인스턴스를 종료하기 전에 이 콜백을 호출합니다.
//이 콜백은 게임 서버가 상태를 저장하고 서비스와 통신하는 등 종료 전에 작업할 기회를 제공합니다.
//이 경우 우리는 단순히 GameLift에 실제로 종료할 것이라고 알립니다.
GameLiftServerAPI.ProcessEnding();
},
() => {
//이것은 HealthCheck 콜백입니다.
//GameLift는 대략 60초마다 이 콜백을 호출합니다.
//여기서 게임 서버는 종속성 등의 상태를 확인하고 싶을 수 있습니다.
//건강하면 true를, 아니면 false를 반환하십시오.
//게임 서버는 자신의 상태를 응답하기 위해 60초가 주어집니다. 게임 서버가 제시간에 응답하지 않으면 GameLift는 기본값으로 'false'를 사용합니다.
//이 경우 우리는 항상 건강합니다!
return true;
},
listeningPort, //이 게임 서버는 들어오는 플레이어 연결을 위해 포트 7777에서 수신 대기한다고 GameLift에 알립니다.
new LogParameters(new List<string>()
{
//여기서 게임 서버는 게임 세션이 끝날 때 업로드할 파일 집합을 GameLift에 알려줍니다.
//GameLift는 개발자가 나중에 가져갈 수 있도록 여기에 지정된 모든 것을 업로드합니다.
"/local/game/logs/myserver.log"
}));
//ProcessReady를 호출하면 이 게임 서버가 들어오는 게임 세션을 받을 준비가 되었음을 GameLift에 알립니다!
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParameters);
if (processReadyOutcome.Success)
{
print("ProcessReady success.");
}
else
{
print("ProcessReady failure : " + processReadyOutcome.Error.ToString());
}
}
else
{
print("InitSDK failure : " + initSDKOutcome.Error.ToString());
}
}
void OnApplicationQuit()
{
//애플리케이션 종료 시 GameLiftServerAPI.Destroy()를 호출해야 합니다. 이는 GameLift의 에이전트와의 로컬 연결을 재설정합니다.
GameLiftServerAPI.Destroy();
}
}Unreal Engine (C++)
게임 서버를 컨테이너화하세요
컨테이너를 저장소에 푸시하세요
Edgegap에 애플리케이션 생성
마지막 업데이트
도움이 되었나요?

