- Lakukan persiapan, nyalakan server jika melakukan hosting Unity Master Server sendiri. Bisa membaca artikel sebelumnya jika belum : Online Unity Multiplayer Game 1 : Hosting Sendiri Unity Server dengan Unity Master Server
- Buat project unity baru, disini saya menggunakan 2D project
- Buat object kosong baru pada scene dengan nama "Network Manager", nama tidak harus sama boleh berbeda
- Buat folder baru pada Assets Explorer dengan nama "Script" untuk menyimpan dan mengumpulkan menjadi satu script-script yang akan kita buat nantinya
- Pada folder script, buat script c# baru dengan nama "NetworkManager", nama sebenarnya tidak harus sama dengan nama object, hanya saja untuk memudahkan waktu manajemen aset nantinya maka disini namanya saya samakan
- Tambahkan script tersebut ke object kosong yang telah kita buat
- Buka script "NetworkManager", dan tambahkan script berikut :
private const string gameName = "MyOnlineGame";
Script ini digunakan untuk melakukan inisialisasi ke network dan me-registerkannya ke master server.
private const string roomName = "MyRoom";
private const int maxPlayer = 4;
private const int portNumber = 25000;
private const string serverIP = "127.0.0.1";
void Start () {
MasterServer.ipAddress = serverIP;
}
private void StartServer()
{
Network.InitializeServer(maxPlayer, portNumber);
MasterServer.RegisterHost(gameName, roomName);
}
notes :- gameName : nama unique game kita, jika kita menggunakan server yang telah disediakan unity tidak menggunakan master server yang kita hosting sendiri maka kita akan benar-benar memerlukan game name yang unique sebagai identifier game kita
- roomName : nama room yang akan dibuat, dimana nanti beberapa client dapat terhubung bersama-sama dalam satu room permainan
- maxPlayer : maximal jumlah player yang dapat masuk ke dalam room
- portNumber : nomor port identifikasi client untuk terhubung ke server, ini bukan port server
- serverIP : alamat ip dimana master server kita dipasang, jika kita menggunakan server yang disediakan unity maka kita tidak memerlukannya
- Pada saat server sudah sukses diinisialisasi maka otomatis fungsi OnServerInitialized() akan dipanggil. Tambahkan script fungsi sebagai berikut :
void OnServerInitialized()
{
Debug.Log("Server been initialized");
} - Untuk testing, tambahkan tombol GUI yang mana nantinya hanya muncul jika kita belum teregistrasi sebagai server ataupun client
void OnGUI()
{
if (!Network.isClient && !Network.isServer)
{
if (GUI.Button(new Rect(100, 100, 250, 100), "Start Server"))
{
StartServer();
}
}
} - Jalankan, maka akan muncul sebagai berikut :
Jika berhasil maka tombol "Start Server" akan menghilang ketika dipencet, dan muncul informasi pada console sesuai dengan tulisan yang kita masukkan pada fungsi OnServerInitialized().
Selanjutnya Baca : "Online Unity Multiplayer Game 3 : ........." - Coming Soon
Terimakasi.. :)
This comment has been removed by the author.
ReplyDelete
ReplyDeleteBang saya tunggu tutorial selanjutnyaaaa ....