คู่มือเกมแลค › การออกแบบการซิงก์
เซิร์ฟเวอร์ตรวจสอบเข้มงวดเกินไป Over-strict server validation
ID สาเหตุ sy-strict-check · ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ถ้าเซิร์ฟเวอร์ตรวจความเร็วการเคลื่อนที่, คูลดาวน์ และระยะเข้มงวดเกินไป จะปฏิเสธแม้อินพุตปกติที่มาถึงรวมกันเพราะจิตเตอร์
ทำไม เกณฑ์ที่เข้มงวด เช่น “ระยะที่เคลื่อนที่ได้ในหนึ่งทิก” หรือ “ยอมให้คูลดาวน์คลาดได้ 0 ms” → ผลคือ เมื่อคำสั่งสองคำสั่งมาถึงรวมกันในทิกเดียวเพราะจิตเตอร์ จะถูกตัดสินว่าผิดกฎ → บนหน้าจอ โดนดีดกลับ, คูลดาวน์ครบแล้วแต่สกิลถูกปฏิเสธ
- อาการ
- ดีดกลับ, กดไม่ติด/โรลแบ็ค
- ปัจจัย
- จิตเตอร์
- ใครเจอ
- เราคนเดียว
- เกิดเมื่อไร
- สุ่มเป็นครั้งคราว, ระหว่างเดินทาง/ย้ายแมพ
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
- งานฝั่งทีมพัฒนาเกม
- ตรวจแบบโควตาสะสม (token bucket), เผื่อระยะไว้เท่ากับปิงและจิตเตอร์
- บนกราฟ
- พุ่งแบบสุ่มเป็นครั้งคราว · จำนวนครั้งที่เซิร์ฟเวอร์ปฏิเสธจากการตรวจสอบ/แก้ตำแหน่ง
- จุดที่ต้องดู
- บันทึกสาเหตุ, จำนวนคำสั่งของผู้เล่นคนนั้นที่มาถึงในทิกนั้น และช่วงห่างการมาถึงจากคำสั่งก่อนหน้า ทุกครั้งที่ปฏิเสธหรือแก้ตำแหน่ง ลงใน log ของเซิร์ฟเวอร์
- สัญญาณว่าใช่
- การปฏิเสธและการแก้ตำแหน่งกระจุกในจังหวะที่มีคำสั่งตั้งแต่ 2 คำสั่งมาถึงรวมกันในทิกเดียว แต่ปริมาณการเคลื่อนที่และจำนวนครั้งที่ใช้เมื่อรวมเป็นช่วงหลายวินาทียังอยู่ในกฎ
- สัญญาณว่าไม่ใช่
- รวมเป็นช่วงหลายวินาทีแล้วยังเกินกฎ: อาจเป็นการเคลื่อนที่เร็วเกินจริงหรือการโกง ถ้าการปฏิเสธกระจุกที่บาง ISP และช่วงหัวค่ำ น่าจะเป็น “false positive ของการตรวจสอบที่กระจุกกับผู้ใช้บาง ISP”
- วิธีตรวจ
- ต้องมี log หรือเมตริกจากเซิร์ฟเวอร์/ไคลเอนต์เกม
แหล่งอ้างอิง
- Source SDK 2013: player.cpp Valve
ยอมรับคำสั่งที่มาถึงรวมกันด้วยงบการประมวลผลคำสั่งที่สะสมทุกทิก (สูงสุด sv_maxusrcmdprocessticks 24 ทิก) และมีคอมเมนต์ของนักพัฒนาว่าถ้ากันเข้มงวดกว่านี้ ผู้เล่นปกติก็เจออาการกระตุก - RFC 2697: A Single Rate Three Color Marker IETF
token bucket: ตัดสินด้วยอัตราเฉลี่ย (CIR) และขนาด burst ที่ยอมให้ในครั้งเดียว (CBS)
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: การออกแบบการซิงก์
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (ดีดกลับ)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง