Buku Putih Lag Game › Cari berdasarkan gejala
Disconnect: 51 penyebab dan penanggung jawabnya
Disebut juga: DC, terlempar keluar, koneksi ke server terputus
Buka kamus gejala interaktif dengan gambar →
Koneksi terputus di tengah permainan, lalu Anda kembali ke layar login atau jendela reconnect.
Layar freeze beberapa detik, lalu muncul pesan “Koneksi terputus”. Jika banyak pemain terputus bersamaan, masalahnya ada di sisi server.
Tidak ada satu paket pun yang datang selama batas timeout. Periksa koneksi yang putus lama, idle timeout, server crash atau restart, serta server atau PC Anda yang berhenti lebih lama dari timeout (loading yang lama). Jika game tertutup sendiri tanpa pesan apa pun, periksa dulu kemungkinan klien tertutup paksa (crash, kehabisan memori) sebelum memeriksa koneksi.
Penyebab gejala ini
L1 Proses game di klien
- Kebocoran memori di klien: Makin lama game menyala, makin besar memori yang dipakai sehingga game makin lambat dan akhirnya tertutup paksa. (Pengembangan klien (Tim Pengembang Game))
- Crash di klien: Game tertutup karena error yang tidak tertangani. Bagi pemain ini terlihat seperti disconnect, tetapi server normal. (Pengembangan klien (Tim Pengembang Game))
- Pemindaian oleh modul keamanan game (anti-cheat): Modul keamanan yang berjalan bersama game untuk mencegah cheat melakukan pemeriksaan secara berkala. Jika pemeriksaannya berat atau heartbeat (sinyal berkala yang menandakan klien masih hidup) ke server keamanan terlambat, game menjadi patah-patah atau disconnect. (Pengembangan klien (Tim Pengembang Game))
L2 OS dan perangkat klien
- Aplikasi mobile masuk ke latar belakang: Jika Anda keluar sebentar dari game untuk melihat notifikasi, OS menangguhkan aplikasi (suspend) beberapa detik kemudian, dan selama itu server memutus koneksi Anda. (Pengembangan klien (Tim Pengembang Game))
- Perpindahan Wi-Fi ↔ LTE/5G: Saat Anda keluar rumah, Wi-Fi terputus dan beralih ke LTE/5G sehingga alamat IP Anda berubah dan koneksi yang ada menjadi tidak berlaku. (Pengembangan server (Tim Pengembang Game))
- Pemrosesan dibatasi saat jendela diminimalkan atau tidak aktif: Saat Anda melihat jendela lain atau meminimalkan game, game dan Windows menjalankan game lebih lambat untuk menghemat daya. Saat kembali, paket yang tertunda datang sekaligus, atau koneksi sudah terputus. (Pengembangan klien (Tim Pengembang Game))
- Interferensi program overlay: Program messenger, launcher, perekam, dan penampil FPS menyusup ke proses rendering game (hooking) untuk menggambar UI mereka di atas layar game. Pekerjaan setiap frame bertambah, dan sesekali program itu bentrok dengan game sehingga game tersendat sesaat atau tertutup paksa. (Pihak Eksternal (Pihak Eksternal))
L3 Jaringan rumah
- Mapping NAT kedaluwarsa: Router menghapus koneksi idle yang lama tidak dilewati paket dari tabel NAT. Ini penyebab umum disconnect tepat saat pemain mulai bergerak setelah lama diam. (Pengembangan klien (Tim Pengembang Game))
- Router kurang bertenaga atau terlalu panas: Jika puluhan perangkat dan ribuan koneksi membebani router murah, router itu sendiri tidak sanggup memprosesnya. (Pihak Eksternal (Pihak Eksternal))
- Handover antar-BTS (saat bergerak): Saat bepergian dengan bus atau kereta bawah tanah, komunikasi terputus selama BTS berganti. (Pihak Eksternal (Pihak Eksternal))
- Sinyal seluler lemah dan area blank spot: Di lift, ruang bawah tanah, atau bagian dalam gedung, retransmisi bertambah, kecepatan turun, dan akhirnya terjadi disconnect. (Pihak Eksternal (Pihak Eksternal))
L4 Jalur internet
- Pembatasan UDP dan inspeksi paket per negara atau ISP: Sebagian jaringan memblokir alamat dan port UDP tertentu atau membatasi kecepatan UDP, dan perangkat inspeksi paket menyaring protokol yang tidak dikenalinya. Game yang berkomunikasi lewat UDP tidak bisa tersambung atau sering terputus di jaringan itu. (Pihak Eksternal (Pihak Eksternal))
- Kualitas koneksi buruk: Konektor yang kontaknya buruk, kabel yang sudah tua, atau modem yang bermasalah menimbulkan packet loss terus-menerus dan koneksi yang putus secara berkala. (Pihak Eksternal (Pihak Eksternal))
- Jalur bersama penuh akibat DDoS: Serangan besar yang ditujukan ke perusahaan game atau ke pihak lain di jaringan yang sama memenuhi jalur bersama. (Infrastruktur jaringan (Tim Infrastruktur))
- IP bersama dari ISP (CGNAT): Jaringan seluler dan sebagian ISP membuat banyak pelanggan berbagi satu IP, dan mapping koneksi idle dihapus dalam waktu singkat. (Pengembangan klien (Tim Pengembang Game))
L5 Perangkat jaringan data center
- Tabel sesi firewall penuh: Firewall mencatat dan melacak setiap koneksi yang diloloskannya di tabel sesi. Jika tabelnya penuh, koneksi baru tidak bisa diterima. (Infrastruktur jaringan (Tim Infrastruktur))
- Idle timeout load balancer: Load balancer menghapus koneksi idle setelah waktu tertentu. Game masih menganggap koneksinya tersambung, lalu pemain disconnect. (Infrastruktur jaringan (Tim Infrastruktur))
- Connection tracking di security group cloud kedaluwarsa: Firewall yang terpasang di server cloud (security group) juga melacak koneksi, dan entri pelacakan untuk koneksi idle kedaluwarsa setelah waktu tertentu. Server yang tersambung langsung tanpa load balancer pun bisa membuat pemain yang lama diam terputus. (Infrastruktur server (Tim Infrastruktur))
- Failover perangkat jaringan: Saat satu router atau firewall rusak dan dialihkan ke perangkat cadangan (failover), semua pemain mengalami freeze selama beberapa detik. (Infrastruktur jaringan (Tim Infrastruktur))
- MTU tidak cocok (hanya paket besar yang hilang): Jika MTU (ukuran yang bisa dikirim sekaligus) di segmen tengah mengecil tetapi notifikasi ukuran terlampaui diblokir, hanya paket besar yang terus hilang. (Infrastruktur jaringan (Tim Infrastruktur))
L6 Kartu jaringan server
- Maintenance host cloud dan live migration: Saat penyedia cloud melakukan maintenance pada server fisik (host), virtual machine dipindahkan ke host lain (live migration) atau dihentikan sementara. Selama itu seluruh server terhenti, dan jika jedanya lama, koneksi terputus. (Infrastruktur server (Tim Infrastruktur))
- Masalah driver dan firmware NIC: Selama kartu berhenti dan dimulai ulang karena bug driver atau fitur yang tidak berfungsi dengan benar, semua pengiriman dan penerimaan terputus. (Infrastruktur server (Tim Infrastruktur))
L7 OS server (kernel)
- OOM killer: Saat memori habis, Linux memilih proses yang memakai memori paling banyak lalu mematikannya secara paksa. Biasanya proses itu adalah server game. (Pengembangan server (Tim Pengembang Game))
- Lompatan jam sistem (NTP step): Jika jam server disesuaikan beberapa detik maju atau mundur sekaligus, timer yang bergantung pada jam sistem terpicu bersamaan atau berhenti. (Pengembangan server (Tim Pengembang Game))
L8 Socket dan protokol
- RTO TCP dan exponential backoff: Setiap kali retransmisi gagal lagi, waktu tunggu berlipat dua, sehingga koneksi yang putus sebentar berujung pada jeda yang lama. (Pengembangan server (Tim Pengembang Game))
- Kebijakan penanganan klien lambat (slow consumer): Untuk klien yang data kirimannya terus menumpuk, server membuang update lama atau memutus koneksinya. (Pengembangan server (Tim Pengembang Game))
- Data terakhir hilang akibat penutupan paksa dengan RST: Jika server memutus koneksi secara mendadak, pesan pemberitahuan atau sinyal penyimpanan selesai yang dikirim terakhir ikut hilang. (Pengembangan server (Tim Pengembang Game))
- Distribusi SO_REUSEPORT tidak merata: Jika beberapa proses berbagi satu port, kernel menetapkan proses yang menangani setiap koneksi berdasarkan hash alamat dan tidak mengubahnya. Jika satu proses itu berhenti, hanya pemain yang dialokasikan ke proses tersebut yang menunggu. (Pengembangan server (Tim Pengembang Game))
- Error WSAECONNRESET pada socket UDP Windows: Jika server Windows mengirim UDP ke klien yang sudah pergi, notifikasi “port tidak ada” (ICMP) dikirim balik. Notifikasi itu membuat pemanggilan terima berikutnya berakhir dengan error. Jika kode server memperlakukan error ini sebagai kerusakan socket itu sendiri, semua pemain yang memakai socket tersebut ikut terdampak. (Pengembangan server (Tim Pengembang Game))
L9 Proses game di server
- Deadlock: Jika dua thread saling menunggu lock yang dipegang thread lainnya, keduanya berhenti selamanya. (Pengembangan server (Tim Pengembang Game))
- Crash di server: Jika proses server mati karena error yang tidak tertangani, semua pemain di server itu disconnect bersamaan. (Pengembangan server (Tim Pengembang Game))
- Infinite loop dan logika lepas kendali: Jika satu tick tidak pernah selesai karena bug, server berhenti, lalu watchdog memulai ulang server secara paksa. (Pengembangan server (Tim Pengembang Game))
L10 Memori
- Kebocoran memori: Memori yang tidak dibebaskan menumpuk sedikit demi sedikit, lalu beberapa hari kemudian berujung pada GC yang berjalan tanpa henti, swap, atau proses yang dihentikan paksa. (Pengembangan server (Tim Pengembang Game))
- GC thrashing (heap hampir penuh): Jika data hidup mendekati batas heap, GC hampir tidak bisa membebaskan memori setiap kali berjalan, sehingga GC berulang tanpa henti. (Pengembangan server (Tim Pengembang Game))
- Fragmentasi memori: Jika alokasi dan pembebasan yang berulang memecah ruang kosong menjadi potongan kecil, proses menahan memori jauh lebih banyak daripada yang benar-benar dipakai. (Pengembangan server (Tim Pengembang Game))
L11 Disk
- Disk penuh: Jika log dan dump menumpuk hingga disk penuh, penulisan gagal, dan tanpa penanganan, server crash. (Infrastruktur server (Tim Infrastruktur))
L12 Database
- Failover DB: Selama DB primer mati dan layanan dialihkan ke DB cadangan, penulisan tidak bisa dilakukan, dan data terakhir yang belum sempat direplikasi bisa hilang. (Infrastruktur DB (Tim Infrastruktur))
L13 Arsitektur dan operasional server
- Rute lewat gateway atau proxy: Jika ada server perantara di antara klien dan server game, setiap kali paket melewatinya ada tambahan waktu pemrosesan, dan server itu menjadi single point of failure. (Pengembangan server (Tim Pengembang Game))
- Pindah zona (handoff antarserver): Saat masuk ke area atau dungeon lain, keterlambatan dan kegagalan bisa terjadi dalam proses memindahkan data karakter ke server lain. (Pengembangan server (Tim Pengembang Game))
- Deploy dan restart: Jika koneksi tidak dipindahkan saat server dimulai ulang untuk update, pemain di server itu disconnect, lalu penyimpanan data menjelang shutdown dan reconnect membanjir sekaligus. (Pengembangan server (Tim Pengembang Game))
- Batas antrean login dan masa tenggang reconnect yang terlalu singkat: Jika koneksi membanjir tepat setelah rilis atau maintenance, antrean login mencapai batas dan menolak antrean baru, sementara pemain yang sedang menunggu kehilangan tempatnya saat koneksinya terputus sebentar dan kembali ke urutan paling belakang. (Pengembangan server (Tim Pengembang Game))
Desain sinkronisasi
- Arsitektur host (pembuat room): Jika PC salah satu pemain berperan sebagai server, koneksi dan performa PC orang itu menentukan rasa bermain semua pemain. (Pengembangan server (Tim Pengembang Game))
Masalah yang hanya dialami sebagian pemain
- False positive validasi yang terpusat pada pemain ISP tertentu: Input dari pemain yang koneksinya punya jitter besar tiba bertumpuk, sehingga sering terjaring pemeriksaan kecepatan dan cooldown di server. (Pengembangan server (Tim Pengembang Game))
- Bentrok port UDP tetap: Jika klien dibuat untuk memakai port lokal yang tetap, klien kedua di PC yang sama tidak bisa memakai port itu atau harus berbagi paket dengan klien pertama. (Pengembangan klien (Tim Pengembang Game))
- Bug pembedaan sesi berdasarkan IP atau perangkat: Jika server atau server perantara membedakan koneksi berdasarkan IP atau ID perangkat, dua klien di PC yang sama (IP publik yang sama) dikenali sebagai satu orang. (Pengembangan server (Tim Pengembang Game))
- Pembatasan multi-klien: Jika modul keamanan atau kebijakan server membatasi beberapa klien di satu PC, klien kedua tidak bisa dijalankan atau masuk, atau klien yang dinyalakan lebih dulu terputus. Sebagian game hanya memblokir fitur pada klien tambahan. (Pengembangan klien (Tim Pengembang Game))
- Pemrosesan dibatasi di jendela latar belakang: Untuk klien di jendela latar belakang, game, engine, dan OS mengurangi frame dan pemrosesan. Paket yang diterima tidak sempat diproses tepat waktu, sehingga menumpuk atau meluap. (Pengembangan klien (Tim Pengembang Game))
Akar penyebab retransmisi TCP
- Paket dibuang oleh firewall atau connection tracking: 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. (Infrastruktur jaringan (Tim Infrastruktur))
- Batas pemrosesan perangkat perantara terlampaui (firewall, IPS, proteksi DDoS): Firewall, perangkat pencegah intrusi (IPS), dan perangkat proteksi DDoS memeriksa setiap paket yang lewat. Begitu trafik melampaui kapasitas pemeriksaannya, paket yang tidak sempat diproses dibuang. (Infrastruktur jaringan (Tim Infrastruktur))
- MTU black hole (hanya paket besar yang berulang kali hilang): Jika ukuran maksimum yang bisa dilewati suatu jalur di tengah rute mengecil dan notifikasi “terlalu besar” (ICMP) diblokir, paket besar terus hilang berapa kali pun dikirim ulang. (Infrastruktur jaringan (Tim Infrastruktur))
- Mapping NAT atau load balancer kedaluwarsa di tengah koneksi: Jika perangkat di tengah rute menghapus mapping koneksi idle (entri yang mencatat ke mana koneksi itu diteruskan), paket berikutnya tidak bisa diteruskan. Retransmisi terus berulang sampai pemain disconnect, atau perangkat membalas dengan penolakan koneksi (RST) sehingga pemain langsung disconnect. (Pengembangan klien (Tim Pengembang Game))
Lihat kamus gejala interaktif dengan gambar