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.
-
Inisialisasi SDK server dengan memanggil
InitSDK(). -
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. -
Amazon GameLift Serversmemperbarui status proses server ke
ACTIVE. -
Amazon GameLift Serversmenelepon
onHealthChecksecara 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.
-
Menerapkan fungsi
onStartGameSessioncallback. Amazon GameLift ServersMemanggil metode ini untuk memulai sesi permainan baru pada proses server dan menerima koneksi pemain. -
Untuk mengaktifkan sesi permainan, hubungi
ActivateGameSession(). 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.
-
Siapkan fungsi bernama
onProcessTerminateuntuk menerima permintaan dari Amazon GameLift Servers dan panggilanProcessEnding(). -
Status proses berubah menjadi
TERMINATED.
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.