Jika server memutus koneksi secara mendadak, pesan pemberitahuan atau sinyal penyimpanan selesai yang dikirim terakhir ikut hilang.
Mengapa Server menutup koneksi dengan penutupan paksa (RST). Terjadi jika SO_LINGER diatur ke 0 detik, atau socket ditutup sebelum semua data yang diterima dibaca → Akibatnya Alasan kick dan data terakhir yang masih dalam pengiriman dibuang → Di layar Muncul pesan “Koneksi terputus karena error yang tidak diketahui” tanpa alasan yang jelas
Penanggung jawab utama Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Setelah mengirim alasan, tutup arah kirim lebih dulu (shutdown), baca semua data yang diterima sampai pihak lawan menutup koneksi, baru tutup socket, hindari SO_LINGER 0 detik.
Di grafik
Melonjak acak sesekali · Jumlah koneksi yang berakhir dengan RST
Yang diperiksa
Periksa kenaikan TcpExtTCPAbortOnData (ditutup dengan RST saat masih ada data yang akan dikirim, SO_LINGER 0 detik) dan TcpExtTCPAbortOnClose (ditutup saat masih ada data yang belum dibaca) di nstat -az, lalu periksa di packet capture sisi server saat koneksi putus apakah server mengirim RST tanpa FIN
Cocok jika
Pada waktu laporan “Koneksi terputus karena error yang tidak diketahui”, server mengirim RST, dan AbortOnData serta AbortOnClose naik
Tidak cocok jika
Server menutup koneksi secara normal dengan FIN tetapi alasannya tidak terlihat: masalahnya di penanganan penutupan koneksi di klien
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)
Sumber
closesocket function (winsock.h)Microsoft Jika SO_LINGER diaktifkan dengan waktu 0, penutupan menjadi paksa: koneksi langsung direset dan data yang belum terkirim hilang
SNMP counterLinux kernel TcpExtTCPAbortOnData: ditutup dengan RST saat masih ada data yang akan dikirim, misalnya karena SO_LINGER 0 detik; TcpExtTCPAbortOnClose: RST dikirim karena socket ditutup saat masih ada data yang belum dibaca