한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L13 Arsitektur dan operasional server

Kesalahan matchmaking dan penempatan region Wrong region assignment (matchmaking / GeoDNS)

ID penyebab in-region-match · Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game), Infrastruktur jaringan (Tim Infrastruktur), Pihak Eksternal (Pihak Eksternal)

Buka kartu interaktif dengan gambar dan simulasi →

Jika pemain ditempatkan di server region yang jauh padahal ada region yang dekat, ping pemain itu selalu tinggi walaupun koneksinya baik-baik saja.

Mengapa Data GeoIP salah, VPN, seluruh party ditempatkan berdasarkan rata-rata ping anggotanya, aturan yang memperluas pencarian ke region jauh saat pemain kurang, penempatan berdasarkan lokasi DNS resolver → Akibatnya Terhubung ke server region di seberang laut padahal ada region yang dekat → Di layar Di game yang punya server di beberapa region, hanya Anda (atau hanya party Anda) yang ping-nya selalu tinggi, disertai input lag, rubber banding, dan skill tidak keluar

Gejala
Input lag, Rubber banding, Aksi hilang / rollback
Faktor
Latensi
Siapa yang mengalami
Hanya saya, Wilayah/ISP tertentu
Kapan
Selalu, Tepat setelah login atau maintenance
Penanggung jawab
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game), Infrastruktur jaringan (Tim Infrastruktur), Pihak Eksternal (Pihak Eksternal)
Tugas Tim Pengembang Game
Server: tempatkan pemain berdasarkan ping per region yang diukur klien sebagai pengganti GeoIP, pasang batas ping pada aturan perluasan ke region jauh, untuk party lihat juga ping anggota tertinggi selain rata-ratanya, catat region yang dipilih dan ping saat itu di log. Klien: ukur ping per region lewat UDP dan sertakan dalam permintaan matchmaking, tampilkan region yang tersambung dan ping-nya di layar, sediakan pilihan untuk memilih region sendiri.
Tugas Tim Infrastruktur
Jika region dipilih lewat DNS, pastikan DNS otoritatif mendukung EDNS Client Subnet (jika resolver yang dipakai pemain tidak mengirimkannya, penempatan mengikuti lokasi resolver), perbarui database GeoIP secara berkala, tambahkan negara dan ASN GeoIP ke log koneksi server per region untuk menemukan negara dan ISP yang diarahkan ke region jauh.
Tugas Pihak Eksternal
Imbau pemain untuk mematikan VPN atau game booster lalu terhubung kembali, imbau pemain yang memakai DNS kantor atau DNS luar negeri untuk beralih ke DNS ISP, minta penyedia GeoIP mengoreksi lokasi yang salah.
Kisaran angka
Jika pemain di Seoul ditempatkan di region US West padahal seharusnya di Tokyo, ping naik dari sekitar 30 ms menjadi sekitar 130 ms. GeoIP akurat sekitar 99,8% pada tingkat negara, tetapi pada tingkat kota, bahkan di Amerika Serikat, hanya sekitar 66% yang jatuh dalam radius 50 km, dan jika memakai VPN, yang terdeteksi adalah lokasi server VPN.
Di grafik
Hanya sebagian yang tinggi · RTT (ping) per pemain, distribusi region yang dipilih
Yang diperiksa
Tambahkan negara dan ASN GeoIP ke IP klien yang tercatat di log koneksi server per region (log akses load balancer, VPC Flow Logs), lalu hitung region yang dituju per negara dan ISP. Untuk satu pemain, bandingkan region yang benar-benar dituju pemain itu dengan ping ke region terdekat (diukur oleh pemain, atau dengan mtr dari server region itu ke IP pemain)
Cocok jika
Pemain atau negara dengan RTT tinggi terhubung ke region jauh padahal ada region dekat, dan ping yang diukur ke region dekat rendah
Tidak cocok jika
Sudah ditempatkan dengan benar di region dekat tetapi ping tetap tinggi: lebih mungkin routing memutar, atau koneksi atau Wi-Fi pemain itu
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)
Pelajari lebih lanjut
Cara memilih region lewat DNS (DNS berbasis geolokasi atau latensi) menebak lokasi pemain dari alamat DNS resolver yang dipakainya. Jika resolver tidak mendukung EDNS Client Subnet, yang meneruskan sebagian alamat pemain, pemain yang memakai DNS kantor atau DNS yang jauh ditempatkan berdasarkan lokasi resolver. Sistem matchmaking juga bisa menilai party dari rata-rata ping anggotanya, atau memperlonggar batas ping saat antrean lama sehingga menempatkan party di region jauh. AWS GameLift Servers pun memakai rata-rata sebagai kriteria default ping party, dan mencontohkan pengaturan yang memperlebar batas ping dari 50 ms ke 100 ms lalu 200 ms. Pada pemain yang menyalakan VPN, latensi tambahan karena lewat server relay (“Rute lewat VPN atau game booster”) bisa bertumpuk dengan penempatan di region jauh, jadi bedakan keduanya dengan melihat apakah region yang dipilih berubah saat VPN dimatikan lalu pemain terhubung kembali. Kasus terhubung ke region jauh karena memang tidak ada region yang dekat dibahas di “Latensi propagasi (jarak fisik)”.

Sumber

  1. RFC 7871: Client Subnet in DNS Queries IETF
    DNS yang menjawab berbeda menurut lokasi menebak lokasi dari alamat resolver yang mengirim query, dan jika pengguna memakai resolver pusat yang jauh dari dirinya, jawabannya tidak tepat. EDNS Client Subnet (fitur opsional) meneruskan sebagian alamat pengguna
  2. How Amazon Route 53 uses EDNS0 to estimate the location of a user AWS
    Jika resolver tidak mendukung edns-client-subnet, lokasi pengguna ditebak dari alamat resolver dan jawabannya mengikuti lokasi resolver (berlaku untuk routing berbasis geolokasi maupun latensi)
  3. Geolocation accuracy MaxMind
    Tingkat negara sekitar 99,8%, tingkat kota di AS (dalam 50 km) sekitar 66%; dengan VPN yang terlihat adalah lokasi server VPN; IP jaringan seluler dipakai di wilayah luas sehingga lokasi rinci tidak bisa diketahui; database harus terus diperbarui; koreksi bisa diminta
  4. FlexMatch rule types AWS
    Aturan latensi (maxLatency) melihat latensi pemain per lokasi, party secara default memakai rata-rata anggota (partyAggregation avg), dan queue bisa menempatkan game di region yang tidak memenuhi aturan latensi
  5. Create a player latency policy AWS
    Menempatkan game di lokasi dengan rata-rata latensi semua pemain paling rendah, tetapi pemain dengan latensi ekstrem pun ikut ditempatkan; contoh kebijakan yang memperlebar batas ping dari 50 ms ke 100 ms lalu 200 ms
  6. Amazon GameLift Servers UDP ping beacons AWS
    Klien game mengukur latensi ke endpoint UDP di setiap lokasi hosting dan memakainya untuk penempatan dan matchmaking; hasilnya lebih mendekati trafik game sebenarnya dibandingkan ping ICMP
  7. Azure network round-trip latency statistics Microsoft Azure
    Median round trip terukur dari Seoul (Korea Central): Tokyo (Japan East) 29 ms, US West 124–136 ms
  8. Flow log records AWS
    srcaddr pada record VPC Flow Logs: untuk trafik masuk, alamat IP pengirim

Lihat juga

Lapisan yang sama: L13 Arsitektur dan operasional server

Penyebab di lapisan lain dengan gejala yang sama (Input lag)

Lihat kartu interaktif dengan gambar dan simulasi