Paket dibuang oleh firewall atau connection tracking Stateful firewall / conntrack drops
ID penyebab rt-stateful-fw · Penanggung jawab utama Infrastruktur jaringan (Tim Infrastruktur) · Turut terlibat Infrastruktur server (Tim Infrastruktur), Pengembangan server (Tim Pengembang Game), Pengembangan klien (Tim Pengembang Game)
Firewall dan connection tracking Linux (conntrack, fitur yang mencatat koneksi yang lewat ke dalam tabel) membuang paket jika tabelnya penuh atau jika paket dianggap tidak sesuai dengan status koneksi.
Mengapa Tabel connection tracking penuh (table full), atau rute pergi dan pulang berbeda sehingga hanya satu arah yang melewati firewall (rute asimetris) → Akibatnya Firewall menganggap paket itu milik “koneksi yang tidak dikenal” atau membawa “nomor urut di luar rentang window”, lalu membuangnya → Di layar Jika tabel penuh, koneksi baru terblokir; jika rutenya asimetris, hanya pemain di rute itu yang disconnect setelah retransmisi berulang
Saat banyak pemain berkumpul, Tepat setelah login atau maintenance, Sesekali secara acak
Penanggung jawab
Penanggung jawab utama Infrastruktur jaringan (Tim Infrastruktur) · Turut terlibat Infrastruktur server (Tim Infrastruktur), Pengembangan server (Tim Pengembang Game), Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: antisipasi tabel penuh dengan mengatur lonjakan koneksi lewat sistem antrean login, pakai ulang koneksi agar tidak terus membuka koneksi singkat (termasuk pemanggilan antarserver), tutup lebih dulu koneksi yang heartbeat-nya berhenti. Klien: jika koneksi gagal atau terputus, coba lagi dengan interval yang makin panjang dan disebar secara acak (agar pemain tidak menyerbu kembali bersamaan saat tabel penuh).
Tugas Tim Infrastruktur
Jaringan: perbesar tabel connection tracking di firewall, keluarkan port game dari connection tracking, samakan routing agar rute pergi dan pulang melewati firewall yang sama, periksa pengaturan pemeriksaan window TCP di firewall. Server/OS: perbesar tabel di Linux (nf_conntrack_max), keluarkan port game dari connection tracking (NOTRACK), periksa pengaturan pemeriksaan window TCP (nf_conntrack_tcp_be_liberal), di AWS periksa juga conntrack_allowance_exceeded.
Kisaran angka
Batas default conntrack Linux (nf_conntrack_max) berkisar puluhan ribu hingga ratusan ribu entri tergantung memori. Jika jumlah saat ini (nf_conntrack_count) mencapai batas, log mencatat “nf_conntrack: table full, dropping packet”.
Di grafik
Mendatar di batas · Jumlah entri conntrack (nf_conntrack_count), jumlah koneksi baru yang gagal
Yang diperiksa
Di server Linux, periksa nf_conntrack_count dan nf_conntrack_max, “nf_conntrack: table full, dropping packet” di dmesg, serta drop dan invalid di /proc/net/stat/nf_conntrack (satu baris per core, heksadesimal). Di firewall, periksa pemakaian tabel sesi dan log drop; di AWS, periksa conntrack_allowance_exceeded di ethtool -S
Cocok jika
Jumlah entri mendatar di batas, dan pada saat yang sama log table full dan drop, atau conntrack_allowance_exceeded, naik. Pada rute asimetris, tabel masih punya ruang, tetapi invalid dan log drop firewall naik pada koneksi di rute tertentu
Tidak cocok jika
Jumlah entri jauh dari batas, invalid dan log drop juga tidak berubah: penyebab lain. Tabel masih punya ruang, tetapi CPU atau paket per detik firewall sudah penuh: lebih mungkin “Batas pemrosesan perangkat perantara terlampaui”
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)
Sumber
Netfilter Conntrack Sysfs variablesLinux kernel Nilai default nf_conntrack_max adalah jumlah hash bucket (memori ÷ 16384, 1.024–262.144), jumlah saat ini ada di nf_conntrack_count, dan nf_conntrack_tcp_be_liberal hanya menandai RST di luar window sebagai INVALID
net/netfilter/nf_conntrack_core.cLinux kernel Jika tabel penuh, kernel mencatat log “nf_conntrack: table full, dropping packet” dan membuang paket (statistik drop naik); paket yang tidak sesuai dengan status koneksi menaikkan statistik invalid
Amazon EC2 security group connection trackingAWS Jika jumlah koneksi yang dilacak melewati batas per instance, paket dibuang dan kejadiannya terlihat di conntrack_allowance_exceeded; disertai rekomendasi untuk menghindari rute asimetris
net/netfilter/nf_conntrack_standalone.cLinux kernel /proc/net/stat/nf_conntrack berisi satu baris per core dalam heksadesimal, dengan kolom seperti entries, invalid, insert_failed, drop, dan early_drop