คู่มือเกมแลค › ปัญหาที่เกิดกับบางคนเท่านั้น
false positive ของการตรวจสอบที่กระจุกกับผู้ใช้บาง ISP Anti-cheat / movement validation false positives on bad ISPs
ID สาเหตุ pt-isp-validation · ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ อินฟราเครือข่าย (ทีมอินฟรา)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
คนที่ใช้เน็ตที่จิตเตอร์สูง อินพุตจะไปถึงเป็นกลุ่ม จึงติดการตรวจความเร็วและคูลดาวน์ของเซิร์ฟเวอร์บ่อย
ทำไม จิตเตอร์ของเน็ตจากบาง ISP หรือบางพื้นที่สูงขึ้นในช่วงหัวค่ำ → ผลคือ เซิร์ฟเวอร์ตัดสินว่าอินพุตปกติที่มาถึงเป็นกลุ่มคือการเคลื่อนที่เร็วเกินหรือผิดกฎคูลดาวน์ → บนหน้าจอ เฉพาะผู้ใช้ ISP นั้นที่โดนดีดกลับ สกิลถูกปฏิเสธ ถ้าหนักจะถูกเซิร์ฟเวอร์เตะออกจนหลุด
- อาการ
- ดีดกลับ, กดไม่ติด/โรลแบ็ค, หลุด
- ปัจจัย
- จิตเตอร์
- ใครเจอ
- บางพื้นที่/บาง ISP, เราคนเดียว
- เกิดเมื่อไร
- ช่วงพีคหัวค่ำ, ระหว่างเดินทาง/ย้ายแมพ
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ อินฟราเครือข่าย (ทีมอินฟรา)
- งานฝั่งทีมพัฒนาเกม
- ตรวจด้วยโควตาสะสมในช่วงหลายวินาที, ผ่อนเกณฑ์โดยดูสภาพเน็ต (ปิง, จิตเตอร์) ประกอบ, มีขั้นเตือนก่อนบังคับออก, ใช้บัฟเฟอร์อินพุตของผู้เล่นแต่ละคนกระจายอินพุตที่มาเป็นกลุ่มให้เท่ากันทุกทิก เพื่อลด false positive ตั้งแต่ต้นทาง
- งานฝั่งทีมอินฟรา
- ตรวจการกระจายของอัตราแพ็กเก็ตหายและจิตเตอร์แยกตาม ISP และช่วงเวลาแล้วแชร์ให้ทีมพัฒนาเกม, ตรวจเส้นทางช่วงของ ISP นั้น (mtr ทั้งสองทิศทาง), ถ้าจำเป็นให้เปลี่ยนเส้นทางหรือ escalate ไปยัง ISP
- บนกราฟ
- สูงเฉพาะบางช่วงเวลา · จำนวนการปฏิเสธจากการตรวจสอบ/การบังคับออกแยกตาม ISP (ASN), จิตเตอร์แยกตาม ISP
- จุดที่ต้องดู
- ใส่ ISP (ASN) ของ IP ที่เชื่อมต่อและเวลาให้ log การปฏิเสธจากการตรวจสอบ, การแก้ตำแหน่ง และการบังคับออกของเซิร์ฟเวอร์ แล้วนับแยกตาม ISP และช่วงเวลา ทีมอินฟรารัน mtr ทั้งสองทิศทางไปยังฝั่ง ISP นั้นในช่วงเวลาเดียวกันเพื่อดูจิตเตอร์และแพ็กเก็ตหาย
- สัญญาณว่าใช่
- การปฏิเสธและการบังคับออกกระจุกที่บาง ISP และเพิ่มขึ้นช่วงหัวค่ำ จิตเตอร์ของ ISP นั้นสูงในเวลาเดียวกัน และปริมาณการเคลื่อนที่เมื่อรวมเป็นช่วงหลายวินาทียังอยู่ในกฎ
- สัญญาณว่าไม่ใช่
- เกิดซ้ำเฉพาะบางบัญชีโดยไม่เกี่ยวกับ ISP: อาจเป็นการโกงจริง ถ้าเพิ่มขึ้นพร้อมกันทุก ISP น่าจะเป็นสาเหตุฝั่งเซิร์ฟเวอร์ที่ทิกล่าช้าจนคำสั่งถูกใช้รวมกัน (ทิกเกินงบเวลา)
- วิธีตรวจ
- ต้องมี log หรือเมตริกจากเซิร์ฟเวอร์/ไคลเอนต์เกม
แหล่งอ้างอิง
- Source SDK 2013: player.cpp Valve
กันการเคลื่อนที่เร็วเกินด้วยงบคำสั่งที่สะสมทุกทิก และมีคอมเมนต์ของนักพัฒนาว่าการจำกัดที่เข้มงวดกว่านี้ทำให้ผู้เล่นปกติก็กระตุก - RFC 2697: A Single Rate Three Color Marker IETF
token bucket: ตัดสินด้วยอัตราเฉลี่ยและขนาด burst ที่ยอมให้ - Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
ถ้า timestamp ของไคลเอนต์กับเซิร์ฟเวอร์ต่างกันมาก จะทิ้งการเคลื่อนที่หรือจัดการด้วยขั้นตอนแก้ส่วนต่างเวลา, คำนวณด้วยเวลาเซิร์ฟเวอร์เพื่อกัน speed hack
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: ปัญหาที่เกิดกับบางคนเท่านั้น
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (ดีดกลับ)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง