Anda berada di jalur yang benar.
Inti dari model jaringan klien-server adalah bahwa server adalah pusat pengetahuan yang terhubung dengan klien . Server game biasanya berisi
- representasi dunia dalam memori ,
- daftar pemain yang terhubung ,
- sebuah permainan lingkaran (dengan misalnya handler kontrol player, mesin fisika & AI).
Anda juga akan memerlukan saluran komunikasi antara server Anda dan klien, sehingga klien dapat mengirimkan tindakan pemain, dan server dapat mengirimkan keadaan permainan.
Konfigurasi server klien yang lebih maju mungkin melibatkan
- delta-kompresi (hanya mengirim apa yang telah berubah antara status game, bukan status game keseluruhan) untuk alasan kinerja,
- prediksi input sisi klien untuk mengurangi penundaan input yang dirasakan (mis. CS: kontrol GO ),
- sebuah database pada-disk (misalnya World of Warcraft 's penyimpanan persediaan),
- pekerjaan pembongkaran ke mesin klien (mis. AI Maple Story musuh),
- atau penyerahan koneksi antar server (mis . Dunia yang menghubungkan OpenSimulator ).
Mulai dari yang sederhana. Yang terbaik adalah menambahkan kompleksitas hanya jika diperlukan . Lubang kelinci ini dalam.
Anda menyebutkan Node.js : Saya telah menulis beberapa server untuk permainan kecil dan itu bagus. Tetapi Anda dapat menulis server dan klien apa pun yang Anda suka. Eve Online sebagian besar di Erlang , Minecraft di Jawa, hampir semuanya oleh Valve ada di C ++, dan lain-lain.