Untuk menjaga urutan, TCP tidak menyerahkan paket yang datang belakangan ke game sampai satu paket yang hilang diterima ulang.
Mengapa Satu paket hilang → Akibatnya Paket-paket sesudahnya sudah tiba, tetapi menunggu di buffer terima → Di layar Berhenti, lalu semuanya dilepas sekaligus sehingga terjadi fast forward
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: kirim posisi real-time lewat UDP, gunakan pengiriman reliable hanya untuk data yang benar-benar perlu, pecah menjadi beberapa stream. Klien: ubah pemrosesan jaringan ke cara yang sama dengan server (UDP, pemisahan channel).
Kisaran angka
Jika satu paket hilang, game berhenti minimal selama RTT + α; jika paket retransmisinya juga hilang, berhentinya bisa ratusan ms hingga beberapa detik.
Di grafik
Kosong lalu datang sekaligus · Jumlah data diterima per koneksi, jumlah retransmisi
Yang diperiksa
Periksa paket retransmisi dan jeda kosong sebelum dan sesudahnya pada koneksi pemain tersebut lewat packet capture di sisi server (tcpdump, Wireshark); untuk seluruh server, periksa kenaikan TcpRetransSegs di nstat -az
Cocok jika
Bagian yang berhenti dimulai dengan retransmisi satu paket, dan tepat setelah paket retransmisi tiba, data yang tertahan diproses sekaligus (data diterima 0 lalu datang bertumpuk)
Tidak cocok jika
Game berkomunikasi lewat UDP: tidak berlaku. Tidak ada retransmisi tetapi tetap berhenti: periksa sisi tick server (“Tick melewati budget (tick overrun)”)
RFC 5681: TCP Congestion ControlIETF Packet loss dideteksi dari 3 duplicate ACK lalu dilakukan fast retransmit; jika tidak, TCP menunggu timer retransmisi