คู่มือเกมแลค › ปัญหาที่เกิดกับบางคนเท่านั้น
แชนแนล/อินสแตนซ์/phasing ต่างกัน Different channel / instance / phase
ID สาเหตุ pt-phase · ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ถ้าตัวละครสองตัวอยู่คนละแชนแนลหรือคนละอินสแตนซ์ หรืออยู่คนละ “phase” ที่เห็น NPC ต่างกันตามความคืบหน้าของเควสต์ จะเห็นโลกคนละแบบ
ทำไม ตัวละครตัวที่สองถูกจัดไปแชนแนลอื่น หรืออยู่ขั้นเควสต์ต่างกัน → ผลคือ เซิร์ฟเวอร์ไม่ส่ง NPC นั้นให้ตัวละครนั้น (ปกติ) → บนหน้าจอ NPC หายไปฝั่งเดียว ดูเหมือนบั๊กแต่เป็นไปตามการออกแบบ
อาการ มองไม่เห็น/ตัวผี
ปัจจัย แพ็กเก็ตหาย
ใครเจอ ไคลเอนต์เดียวในเครื่องที่เปิดหลายจอ, เราคนเดียว
เกิดเมื่อไร ตลอดเวลา, หลังล็อกอิน/หลังปิดปรับปรุง
ผู้รับผิดชอบ ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)
งานฝั่งทีมพัฒนาเกม เซิร์ฟเวอร์: ส่งข้อมูลแชนแนลและ phase ให้ไคลเอนต์, เพิ่ม “ตรวจแชนแนลและขั้นเควสต์ของตัวละครทั้งสอง” ในเช็กลิสต์ของ QA ไคลเอนต์: แสดงแชนแนลและ phase บนหน้าจอ
บนกราฟ สูงเฉพาะบางกลุ่ม · จำนวนเอนทิตีรอบตัวแยกตามไคลเอนต์, แชนแนล/phase
จุดที่ต้องดู เทียบหมายเลขแชนแนลและขั้นความคืบหน้าของเควสต์ที่เกี่ยวข้องของตัวละครทั้งสองบนหน้าจอเกม แล้วปรับให้อยู่แชนแนลและขั้นเดียวกันแล้วดูอีกครั้ง ถ้ามี log การส่งเอนทิตีของเซิร์ฟเวอร์ ให้ดูเหตุผลที่ไม่ส่ง NPC นั้นให้ตัวละครนั้น (แชนแนล, phase) สัญญาณว่าใช่ แชนแนลหรือขั้นเควสต์ของตัวละครทั้งสองต่างกัน และเมื่อปรับให้ตรงกันก็เห็น NPC สัญญาณว่าไม่ใช่ แชนแนลและขั้นเควสต์ตรงกันแต่ยังหายไปฝั่งเดียว: น่าจะเป็น “ทิ้งข้อความแจ้งการปรากฏตัวที่มาถึงระหว่างโหลด”, “ข้อมูลการปรากฏตัวที่ทะลักมาหลังเข้าโซนหาย” หรือ “ลำดับการลงทะเบียนระยะมองเห็นพันกัน” วิธีตรวจ ตรวจที่สภาพแวดล้อมฝั่งผู้เล่น
รายละเอียดเพิ่มเติม ตรวจด้วยว่าความคืบหน้าเควสต์บันทึกระดับบัญชีหรือระดับตัวละคร ถ้าเป็นตัวละครสองตัวในบัญชีเดียวกัน ความคืบหน้าของตัวหนึ่งอาจเปลี่ยน phase ของอีกตัวได้
แหล่งอ้างอิง Actor Relevancy in Unreal Engine Epic Games เซิร์ฟเวอร์ replicate เฉพาะ actor ที่เกี่ยวข้อง (relevant) ให้แต่ละการเชื่อมต่อ และไม่ส่ง actor ที่ไม่เกี่ยวข้อง Object visibility (Netcode for GameObjects 2.5) Unity ใช้ CheckObjectVisibility กำหนดเอนทิตีที่มองเห็นแยกตามไคลเอนต์ และไม่ส่งเอนทิตีที่ซ่อนไว้ให้ไคลเอนต์นั้น
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: ปัญหาที่เกิดกับบางคนเท่านั้น
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (มองไม่เห็น/ตัวผี)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง