Realtime 서버 인터페이스 - 아마존 GameLift

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

Realtime 서버 인터페이스

Realtime 스크립트가 초기화되면 Realtime 서버 인터페이스가 반환됩니다. 이 주제는 인터페이스를 통해 사용할 수 있는 속성과 메서드를 설명합니다. Realtime 스크립트 작성에 대해 자세히 알아보고 Realtime 스크립트 생성에서 자세한 스크립트 예제를 살펴봅니다.

Realtime 인터페이스를 통해 다음과 같은 객체에 액세스합니다.

  • 세션

  • player

  • gameMessage

  • 구성

Realtime 세션 객체

이러한 메서드를 사용하여 서버 관련 정보에 액세스하고 서버 관련 작업을 실시합니다.

getPlayers()

현재 게임 세션에 연결되어 있는 플레이어의 피어 ID 목록을 검색합니다. 플레이어 객체의 배열을 반환합니다.

구문

rtSession.getPlayers()

broadcastGroupMembershipUpdate()

업데이트된 그룹 구성원 자격 목록을 플레이어 그룹으로 전송합니다. 브로드캐스트할 구성원 자격(groupIdToBroadcast)과 업데이트를 수신할 그룹(targetGroupId)을 지정합니다. 그룹 ID는 양의 정수이거나 모든 그룹을 나타내려면 “-1”이어야 합니다. 사용자 정의 그룹 ID의 예에 대해서는 Realtime 서버 스크립트 예제 섹션을 참조하세요.

구문

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

메시지를 서버로 라우팅할 때 사용되는 서버의 고유한 피어 ID 식별자를 검색합니다.

구문

rtSession.getServerId()

getAllPlayersGroupId()

현재 게임 세션에 연결되어 있는 모든 플레이어가 속한 기본 그룹의 그룹 ID를 검색합니다.

구문

rtSession.getAllPlayersGroupId()

processEnding()

Realtime 서버가 게임 서버를 종료하게 합니다. 이 기능은 게임 세션에서 명확하게 종료하도록 Realtime 스크립트에서 호출해야 합니다.

구문

rtSession.processEnding()

GetGameSessionId()

현재 실행 중인 게임 세션의 고유한 ID를 검색합니다.

구문

rtSession.getGameSessionId()

getLogger()

로깅할 인터페이스를 검색합니다. 이것을 사용하여 게임 세션 로그에 캡처될 문을 기록합니다. 로거는 “정보”, “경고” 및 “오류” 문 사용을 지원합니다. 예: logger.info("<string>").

구문

rtSession.getLogger()

SendMessage()

Realtime 서버에서 newTextGameMessage 또는 newBinaryGameMessage를 사용하여 생성된 메시지를 UDP 채널을 사용하는 플레이어 수신자에게 전송합니다. 플레이어의 피어 ID를 사용하여 수신자를 식별합니다.

구문

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Realtime 서버에서 newTextGameMessage 또는 newBinaryGameMessage를 사용하여 생성된 메시지를 UDP 채널을 사용하는 모든 플레이어 그룹에게 전송합니다. 그룹 ID는 양의 정수이거나 모든 그룹을 나타내려면 “-1”이어야 합니다. 사용자 정의 그룹 ID의 예에 대해서는 Realtime 서버 스크립트 예제 섹션을 참조하세요.

구문

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Realtime 서버에서 newTextGameMessage 또는 newBinaryGameMessage를 사용하여 생성된 메시지를 TCP 채널을 사용하는 플레이어 수신자에게 전송합니다. 플레이어의 피어 ID를 사용하여 수신자를 식별합니다.

구문

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupMessage()

Realtime 서버에서 newTextGameMessage 또는 newBinaryGameMessage를 사용하여 생성된 메시지를 TCP 채널을 사용하는 모든 플레이어 그룹에게 전송합니다. 그룹 ID는 양의 정수이거나 모든 그룹을 나타내려면 “-1"이어야 합니다. 사용자 정의 그룹 ID의 예에 대해서는 Realtime 서버 스크립트 예제 섹션을 참조하세요.

구문

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameMessage()

SendMessage 기능을 사용하는 플레이어 수신자에게 서버에서 전송할 텍스트가 포함된 새로운 메시지를 생성합니다. 메시지 형식은 Realtime Client SDK에서 사용되는 형식과 비슷합니다(RTMessage 참조). gameMessage 객체를 반환합니다.

구문

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameMessage()

SendMessage 기능을 사용하는 플레이어 수신자에게 서버에서 전송할 이진 데이터가 포함된 새로운 메시지를 생성합니다. 메시지 형식은 Realtime Client SDK에서 사용되는 형식과 비슷합니다(RTMessage 참조). gameMessage 객체를 반환합니다.

구문

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

플레이어 객체

플레이어 관련 정보에 액세스합니다.

player.peerId

Realtime 서버에 연결할 때 게임 클라이언트에 할당되어 게임 세션에 참가하는 고유한 ID입니다.

player.playerSessionId

Realtime 서버에 연결되고 게임 세션에 참가할 때 게임 클라이언트가 참조한 플레이어 세션 ID입니다.

게임 메시지 객체

이러한 메서드를 사용하여 Realtime 서버가 수신하는 메시지에 액세스합니다. 게임 클라이언트에서 수신되는 메시지는 RTMessage 구조를 갖습니다.

getPayloadAsText()

게임 메시지 페이로드를 텍스트로 가져옵니다.

구문

gameMessage.getPayloadAsText()

gameMessage.opcode

메시지에 포함된 작업 코드입니다.

gameMessage.payload

메시지에 포함된 페이로드입니다. 텍스트 또는 이진일 수 있습니다.

gameMessage.sender

메시지를 전송한 게임 클라이언트의 피어 ID입니다.

gameMessage.reliable

메시지를 TCP(true) 또는 UDP(false)를 통해 전송했는지 여부를 나타내는 부울입니다.

구성 객체

구성 객체를 사용하여 기본 구성을 재정의할 수 있습니다.

configuration.maxPlayers

Realtime 서버에서 허용할 수 있는 최대 클라이언트/서버 연결 수입니다.

기본값은 32입니다.

configuration.pingIntervalTime

서버가 연결된 모든 클라이언트에 핑 전송을 시도하여 연결이 정상인지 확인하는 시간 간격(밀리초)입니다.

기본값은 3000ms입니다.