Acara penempatan sesi permainan - Amazon GameLift

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 memancarkan 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 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 mengelola Amazon GameLift.

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.

Armada yang tidak mendukung TLS: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 armada yang menjadi tuan rumah sesi permainan. Ini sesuai dengan token wilayah diGameSessionArn.

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/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", "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 tidak 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" } }