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