View a markdown version of this page

Mengintegrasikan GameLift Server Amazon dengan proyek server game Unity - GameLift Server Amazon

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

Mengintegrasikan GameLift Server Amazon dengan proyek server game Unity

catatan

Topik ini memberikan informasi untuk versi Amazon GameLift Servers plugin sebelumnya untuk Unity. Versi 1.x menggunakan SDK server untuk Amazon GameLift Servers 4.x atau sebelumnya. Untuk dokumentasi tentang versi plugin terbaru, yang menggunakan server SDK 5.x dan mendukung fitur yang lebih baru seperti Any Amazon GameLift Servers where dan managed container hosting, lihatGameLift Server Amazon plugin untuk Unity (server SDK 5.x).

Topik ini membantu Anda menyiapkan server game kustom Anda untuk hostingAmazon GameLift Servers. Server game harus dapat memberi tahu Amazon GameLift Servers tentang statusnya, untuk memulai dan menghentikan sesi game ketika diminta, dan untuk melakukan tugas lain. Untuk informasi selengkapnya, lihat Tambahkan GameLift Server Amazon ke server game Anda dengan SDK server.

Prasyarat

Sebelum mengintegrasikan server game Anda, selesaikan tugas-tugas berikut:

Menyiapkan proses server baru

catatan

Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau yang lebih lama.

Siapkan komunikasi dengan Amazon GameLift Servers dan laporkan bahwa proses server siap untuk menyelenggarakan sesi permainan.

  1. Inisialisasi SDK server dengan memanggilInitSDK().

  2. Untuk mempersiapkan server untuk menerima sesi permainan, hubungi ProcessReady() dengan port koneksi dan detail lokasi sesi game. Sertakan nama-nama fungsi panggilan balik yang di Amazon GameLift Servers panggil layanan, seperti,,OnGameSession(),OnGameSessionUpdate(). OnProcessTerminate() OnHealthCheck() Amazon GameLift ServersMungkin butuh beberapa menit untuk memberikan callback.

  3. Amazon GameLift Serversmemperbarui status proses server keACTIVE.

  4. Amazon GameLift Serversmenelepon onHealthCheck secara berkala.

Contoh kode berikut menunjukkan cara mengatur proses server sederhana denganAmazon GameLift Servers.

//initSDK var initSDKOutcome = GameLiftServerAPI.InitSDK(); //processReady // Set parameters and call ProcessReady var processParams = new ProcessParameters( this.OnGameSession, this.OnProcessTerminate, this.OnHealthCheck, this.OnGameSessionUpdate, port, // Examples of log and error files written by the game server new LogParameters(new List<string>() { "C:\\game\\logs", "C:\\game\\error" }) ); var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams); // Implement callback functions void OnGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); } void OnProcessTerminate() { // game-specific tasks required to gracefully shut down a game session, // such as notifying players, preserving game state data, and other cleanup var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding(); } bool OnHealthCheck() { bool isHealthy; // complete health evaluation within 60 seconds and set health return isHealthy; }

Mulai sesi game

catatan

Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau yang lebih lama.

Setelah inisialisasi game selesai, Anda dapat memulai sesi permainan.

  1. Menerapkan fungsi onStartGameSession callback. Amazon GameLift ServersMemanggil metode ini untuk memulai sesi permainan baru pada proses server dan menerima koneksi pemain.

  2. Untuk mengaktifkan sesi permainan, hubungiActivateGameSession(). Untuk informasi selengkapnya tentang SDK, lihatSDK server C # untuk GameLift Server Amazon 4.x -- Tindakan.

Contoh kode berikut menggambarkan cara memulai sesi permainan denganAmazon GameLift Servers.

void OnStartGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map ... // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); }

Mengakhiri sesi game

catatan

Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau yang lebih lama.

B Amazon GameLift Servers eri tahu saat sesi permainan berakhir. Sebagai praktik terbaik, matikan proses server setelah sesi game selesai untuk mendaur ulang dan menyegarkan sumber daya hosting.

  1. Siapkan fungsi bernama onProcessTerminate untuk menerima permintaan dari Amazon GameLift Servers dan panggilanProcessEnding().

  2. Status proses berubah menjadiTERMINATED.

Contoh berikut menjelaskan cara mengakhiri proses untuk sesi permainan.

var processEndingOutcome = GameLiftServerAPI.ProcessEnding(); if (processReadyOutcome.Success) Environment.Exit(0); // otherwise, exit with error code Environment.Exit(errorCode);

Buat build server dan unggah ke GameLift Server Amazon

catatan

Topik ini mengacu pada Amazon GameLift Servers plugin untuk Unity versi 1.0.0, yang menggunakan server SDK 4.x atau yang lebih lama.

Setelah Anda mengintegrasikan server game Anda denganAmazon GameLift Servers, unggah file build ke armada sehingga Amazon GameLift Servers dapat menyebarkannya untuk hosting game. Untuk informasi selengkapnya tentang cara mengunggah server Anda keAmazon GameLift Servers, lihatBuat build server game untuk GameLift Peladen Amazon.