View a markdown version of this page

Acara penempatan sesi permainan - Amazon GameLift Servers

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Acara penempatan sesi permainan

Amazon GameLift Serversmemancarkan acara untuk setiap permintaan penempatan sesi game saat diproses. Anda dapat memublikasikan peristiwa ini ke topik Amazon SNS, seperti yang dideskripsikan dalam Atur notifikasi kejadian untuk penempatan sesi game. Peristiwa ini juga dipancarkan ke Amazon CloudWatch Events dalam waktu dekat dan dengan upaya terbaik.

Topik ini menjelaskan struktur peristiwa penempatan sesi game dan memberikan contoh untuk setiap jenis peristiwa. Untuk informasi selengkapnya tentang status permintaan penempatan sesi game, lihat GameSessionPlacementdi Referensi Amazon GameLift Servers API.

Sintaksis peristiwa penempatan

Peristiwa direpresentasikan sebagai objek JSON. Struktur acara sesuai dengan pola CloudWatch Peristiwa, dengan bidang tingkat atas yang serupa dan detail khusus layanan.

Bidang tingkat atas mencakup hal-hal berikut (lihat Pola peristiwa untuk lebih detailnya):

versi

Bidang ini selalu diatur ke 0 (nol).

id

Pengenal pelacakan unik untuk peristiwa tersebut.

jenis-detail

Nilainya selalu GameLift Queue Placement Event.

sumber

Nilainya selalu aws.gamelift.

akun

AWS Akun yang digunakan untuk mengelolaAmazon GameLift Servers.

Waktu

Stempel waktu peristiwa.

region

AWS Wilayah tempat permintaan penempatan sedang diproses. Ini adalah Wilayah di mana antrean sesi game digunakan berada.

sumber daya

Nilai ARN dari antrean sesi game yang memproses permintaan penempatan.

PlacementFulfilled

Permintaan penempatan telah berhasil dipenuhi. Sesi game baru telah dimulai dan sesi pemain baru telah dibuat untuk setiap pemain yang tercantum dalam permintaan penempatan sesi game. Informasi koneksi pemain tersedia.

Detail sintaks:

placementId

Pengidentifikasi unik yang ditetapkan untuk permintaan penempatan sesi game.

Port

Nomor port untuk sesi game baru.

gameSessionArn

Pengenal ARN untuk sesi game baru.

ipAddress

Alamat IP dari sesi game.

dnsName

Pengenal DNS yang ditetapkan untuk instans yang menjalankan sesi game baru. Format nilai berbeda tergantung pada apakah instans yang menjalankan sesi game diaktifkan TLS. Saat menghubungkan ke sesi game di armada yang mendukung TLS, pemain harus menggunakan nama DNS, bukan alamat IP.

Armada yang mendukung TLS:<unique identifier>.<region identifier>.amazongamelift.com.

Non-TLS-enabled armada:ec2-<unique identifier>.compute.amazonaws.com.

startTime

Stempel waktu menunjukkan kapan permintaan ini ditempatkan dalam antrean.

endTime

Stempel waktu menunjukkan kapan permintaan ini terpenuhi.

gameSessionRegion

AWS Wilayah asal armada yang menjadi tuan rumah sesi permainan.

gameSessionLocation

Lokasi armada tempat sesi permainan berjalan. Nilai ini mungkin menentukan wilayah asal armada atau lokasi terpencil.

playerGatewayStatus

Keadaan gateway pemain di lokasi armada yang menjalankan sesi permainan ini.

Nilai yang mungkin termasuk:

  • ENABLED— Gateway pemain tersedia untuk merutekan koneksi pemain untuk sesi permainan ini.

  • DISABLED— Gateway pemain tidak tersedia untuk sesi permainan ini.

CompuTename

Label deskriptif untuk sumber daya komputasi yang menjadi tuan rumah sesi permainan. Untuk armada EC2, ini adalah ID instans EC2. Untuk armada Container, setiap grup kontainer server game pada instance armada diberi nama komputasi. Untuk armada Anywhere, ini adalah nama komputasi khusus.

placedPlayerSessions

Kumpulan sesi pemain yang telah dibuat untuk setiap pemain dalam permintaan penempatan sesi game.

Contoh

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFulfilled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "port": "6262", "gameSessionArn": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/us-east-1/4444dddd-55ee-66ff-77aa-8888bbbb99cc", "ipAddress": "98.987.98.987", "dnsName": "ec2-12-345-67-890.us-west-2.compute.amazonaws.com", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z", "gameSessionRegion": "us-west-2", "playerGatewayStatus": "ENABLED", "gameSessionLocation": "us-east-1", "computeName": "i-1234567890abcdef0", "placedPlayerSessions": [ { "playerId": "player-1" "playerSessionId": "psess-1232131232324124123123" } ] } }

PlacementCancelled

Permintaan penempatan dibatalkan dengan panggilan ke GameLift layanan StopGameSessionPlacement.

Detail:

placementId

Pengenal unik yang ditetapkan untuk permintaan penempatan sesi game.

startTime

Stempel waktu menunjukkan kapan permintaan ini ditempatkan dalam antrean.

endTime

Stempel waktu menunjukkan kapan permintaan ini dibatalkan.

Contoh

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementCancelled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }

PlacementTimedOut

Penempatan sesi game tidak berhasil diselesaikan sebelum batas waktu antrean berakhir. Permintaan penempatan dapat dikirim ulang sesuai kebutuhan.

Detail:

placementId

Pengenal unik yang ditetapkan untuk permintaan penempatan sesi game.

startTime

Stempel waktu menunjukkan kapan permintaan ini ditempatkan dalam antrean.

endTime

Stempel waktu menunjukkan kapan permintaan ini dibatalkan.

Contoh

{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementTimedOut", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }

PlacementFailed

Amazon GameLift Serverstidak dapat memenuhi permintaan sesi permainan. Hal ini umumnya disebabkan oleh kesalahan internal yang tidak terduga. Permintaan penempatan dapat dikirim ulang sesuai kebutuhan.

Detail:

placementId

Pengenal unik yang ditetapkan untuk permintaan penempatan sesi game.

startTime

Stempel waktu menunjukkan kapan permintaan ini ditempatkan dalam antrean.

endTime

Stempel waktu menunjukkan ketika permintaan ini gagal.

Contoh

{ "version": "0", "id": "39c978f3-ba46-3f7c-e787-55bfcca1bd31", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "252386620677", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:252386620677:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFailed", "placementId": "e4a1119a-39af-45cf-a990-ef150fe0d453", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }