Saat ini dalam permainan saya, klien tidak lain adalah penyaji. Ketika kondisi input diubah, klien mengirim paket ke server dan menggerakkan pemain seolah-olah sedang memproses input, tetapi server memiliki keputusan akhir pada posisi tersebut.
Ini umumnya bekerja dengan sangat baik, kecuali untuk satu masalah besar: jatuh dari tepi. Pada dasarnya, jika seorang pemain berjalan menuju tepi, katakan sebuah tebing, dan berhenti tepat sebelum keluar dari tepi, kadang-kadang sedetik kemudian, ia akan diteleportasi dari tepi. Ini karena paket "Saya berhenti menekan W" dikirim setelah server memproses informasi.
Berikut ini diagram lag untuk membantu Anda memahami apa yang saya maksud: http://i.imgur.com/Prr8K.png
Saya hanya bisa mengirim paket "W Pressed" setiap frame untuk diproses oleh server, tapi itu sepertinya solusi bandwidth-mahal.
Bantuan apa pun dihargai!