คู่มือเกมแลค › ปัญหาที่เกิดกับบางคนเท่านั้น
การจำกัดการเปิดหลายไคลเอนต์ Multi-client restriction policy
ID สาเหตุ pt-multiclient · ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ถ้าโมดูลความปลอดภัยหรือนโยบายของเซิร์ฟเวอร์จำกัดการเปิดหลายไคลเอนต์ใน PC เดียว ไคลเอนต์ตัวที่สองจะเปิดหรือเชื่อมต่อไม่ได้ หรือตัวที่เปิดก่อนจะหลุด บางเกมบล็อกแค่บางฟีเจอร์ของไคลเอนต์ที่เปิดเพิ่ม
ทำไม โมดูลความปลอดภัยตรวจพบการเปิดซ้ำ หรือเซิร์ฟเวอร์จำกัดการเชื่อมต่อเพิ่มจากเครื่องเดียวกัน → ผลคือ ปฏิเสธการเปิดหรือการเชื่อมต่อครั้งที่สอง หรือตัดฝั่งหนึ่งออก บางกรณีบล็อกเฉพาะบางฟีเจอร์ของไคลเอนต์ที่เปิดเพิ่ม → บนหน้าจอ เข้าเกมไม่ได้หรือฝั่งหนึ่งหลุด ในเกมที่บล็อกแค่ฟีเจอร์ ฝั่งหนึ่งจะมองไม่เห็น NPC หรือร้านค้า
- อาการ
- เข้าเกมไม่ได้/โหลดไม่จบ, มองไม่เห็น/ตัวผี, หลุด
- ปัจจัย
- แพ็กเก็ตหาย
- ใครเจอ
- ไคลเอนต์เดียวในเครื่องที่เปิดหลายจอ
- เกิดเมื่อไร
- หลังล็อกอิน/หลังปิดปรับปรุง
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
- งานฝั่งทีมพัฒนาเกม
- ไคลเอนต์: ถ้าจะจำกัด ให้แสดงข้อความแจ้งที่ชัดเจน, ตั้งข้อยกเว้นสำหรับ QA ในโมดูลความปลอดภัย เซิร์ฟเวอร์: ตั้งข้อยกเว้นสำหรับ QA ในการจำกัดการเชื่อมต่อจากเครื่องเดียวกันด้วย
- บนกราฟ
- สูงเฉพาะบางกลุ่ม · จำนวนการปฏิเสธ/การหลุดแยกตามสาเหตุ (เชื่อมต่อซ้ำ)
- จุดที่ต้องดู
- ดูข้อความที่ขึ้นตอนเปิดไคลเอนต์ตัวที่สอง และข้อความตอนหลุดของฝั่งที่เปิดก่อน ตรวจว่า log การปฏิเสธการเชื่อมต่อหรือการบังคับออกของเซิร์ฟเวอร์มีรหัสสาเหตุ เช่น เชื่อมต่อซ้ำหรือเครื่องเดียวกัน หรือไม่
- สัญญาณว่าใช่
- ทันทีที่เปิดหรือเชื่อมต่อครั้งที่สอง มีข้อความปฏิเสธขึ้น หรือฝั่งที่เปิดก่อนหลุดด้วยสาเหตุเชื่อมต่อซ้ำ และถ้าเปิดไคลเอนต์ตัวเดียวก็ไม่มีปัญหา
- สัญญาณว่าไม่ใช่
- เชื่อมต่อได้ทั้งสองฝั่งโดยไม่มีสาเหตุการปฏิเสธหรือการหลุด แต่ฝั่งเดียวมองไม่เห็น NPC: น่าจะเป็น “พอร์ต UDP แบบตายตัวชนกัน”, “บั๊กแยกเซสชันด้วย IP/ID เครื่อง” หรือสาเหตุฝั่งการโหลดและการแสดงผล
- วิธีตรวจ
- ตรวจที่สภาพแวดล้อมฝั่งผู้เล่น
แหล่งอ้างอิง
- CreateMutexW function (synchapi.h) Microsoft
ถ้ามี named mutex อยู่แล้วจะคืน ERROR_ALREADY_EXISTS ใช้ตรวจการเปิดซ้ำและจำกัดให้เปิดได้ครั้งเดียว
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: ปัญหาที่เกิดกับบางคนเท่านั้น
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (เข้าเกมไม่ได้/โหลดไม่จบ)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง