รายงานข้อผิดพลาด ทำให้คุณสามารถดูข้อผิดพลาดและคำเตือนของระบบ Luau ที่อัปเดตล่าสุดสำหรับทั้งเซิร์ฟเวอร์และไคลเอนต์ ตรวจสอบรายงานข้อผิดพลาดของคุณก่อนและหลังการอัปเดตเกมเพื่อระบุปัญหาที่อาจเกิดขึ้นก่อนเวลา
ดูรายงานข้อผิดพลาดของคุณ
ในการดูรายงานข้อผิดพลาดของเกมของคุณ:
- ไปที่หน้า การสร้าง ของคุณใน แดชบอร์ดผู้สร้าง และเลือกเกมของคุณ
- ในหมวด การตรวจสอบ, เลือก รายงานข้อผิดพลาด
คุณสามารถดูข้อมูลเชิงวิเคราะห์สำหรับประสบการณ์ที่เป็นเจ้าของโดยบุคคลเดียวหรือกลุ่ม สำหรับการดูประสบการณ์ที่เป็นเจ้าของกลุ่ม คุณต้องมี สิทธิ์กลุ่มสำหรับการวิเคราะห์
ตรวจสอบข้อผิดพลาดและคำเตือน
คุณสามารถใช้ตัวกรองและสวิตช์ต่อไปนี้ในรายงานข้อผิดพลาดของคุณ:
- ช่วงวันที่ — กรองเพื่อดูช่วง 1 ชั่วโมงล่าสุด, 1 วันที่ผ่านมา, 7 วันที่ผ่านมา, หรือ 30 วันที่ผ่านมา
- สถานที่ — กรองตามสถานที่
- แสดงเวอร์ชัน — เพิ่มหมายเหตุเวอร์ชันของสถานที่ในกราฟข้อผิดพลาดและคำเตือน
- ระดับความรุนแรง — กรองเพื่อแสดงข้อผิดพลาด, คำเตือน, หรือทั้งสองอย่าง
- แพลตฟอร์ม — กรองเพื่อแสดงข้อผิดพลาดที่เกิดจากอุปกรณ์เฉพาะ
- OS — กรองเพื่อแสดงข้อผิดพลาดที่เกิดจากระบบปฏิบัติการเฉพาะ
- ข้อผิดพลาดใหม่ตั้งแต่ — กรองเพื่อแสดงเฉพาะข้อผิดพลาดและคำเตือนใหม่ตั้งแต่เวอร์ชันที่แน่นอน
ด้านล่างของตัวกรองและสวิตช์, มีกราฟที่แสดงจำนวนข้อผิดพลาดและคำเตือนสำหรับเซิร์ฟเวอร์, ไคลเอนต์, และทั้งหมด ใช้กราฟนี้ในการดูการเพิ่มขึ้นของข้อผิดพลาดและคำเตือนเมื่อเวลาผ่านไป หากคุณเห็นความพุ่งขึ้นที่มากในข้อผิดพลาดและคำเตือน, ใช้ตารางรายงานข้อผิดพลาดเพื่อตรวจสอบปัญหา

แก้ไขข้อผิดพลาดและคำเตือน
ตาราง ข้อผิดพลาดและคำเตือน มีข้อมูลดังต่อไปนี้:
| คอลัมน์ | คำอธิบาย |
|---|---|
| จำนวน | จำนวนข้อผิดพลาดหรือคำเตือน. |
| ระดับความรุนแรง | แท็กข้อผิดพลาดหรือคำเตือน. |
| ประเภท | แท็กเซิร์ฟเวอร์หรือไคลเอนต์. |
| ข้อความ | ข้อความข้อผิดพลาดหรือคำเตือน. |
| เห็นครั้งแรกที่ | เวลาที่เห็นข้อความครั้งแรก. |
| เวอร์ชันที่เห็นครั้งแรก | ใช้ได้เฉพาะเมื่อเลือกสถานที่. แสดงเวอร์ชันแรกที่บันทึกข้อความไว้. |

ดูสแตกเทรซสำหรับข้อผิดพลาดหรือคำเตือน
หากคุณเห็นเมนูดรอปดาวน์บนข้อผิดพลาดหรือคำเตือน, คลิกเพื่อขยายและดู สแตกเทรซ ที่สอดคล้องกัน สแตกเทรซคือรายการการเรียกที่เกมของคุณกำลังทำเมื่อเกิดข้อผิดพลาด นี้สามารถช่วยคุณระบุว่าสิ่งใดกำลังผิดพลาด
กฎกำหนดเอง
กฎกำหนดเองให้คุณสามารถกำหนดรูปแบบ regex หรือสตริงที่แน่นอนเพื่อบอกให้ระบบข้ามหรือกลุ่มข้อผิดพลาดและคำเตือนโดยอัตโนมัติ สิ่งนี้ช่วยให้คุณจัดการสัญญาณต่อเสียงรบกวนของรายงานข้อผิดพลาดของคุณ คุณสามารถสร้างกฎได้สูงสุดถึง 100 กฎต่อประสบการณ์ กฎจะถูกประเมินจากบนลงล่างตามลำดับความสำคัญ เมื่อข้อผิดพลาดตรงตามกฎ ขั้นตอนการประมวลผลจะหยุด
การกระทำของกฎ
แต่ละกฎมีการกระทำสองอย่างคือ:
| การกระทำ | พฤติกรรม |
|---|---|
| ข้าม | ซ่อนข้อผิดพลาดที่ตรงกันจากกราฟและตาราง ใช้สำหรับเสียงรบกวนถาวรเช่น ข้อผิดพลาดเสียงเครื่องยนต์ที่ไม่สามารถเลี่ยงได้หรือคำสั่งพิมพ์เก่า |
| กลุ่ม | รวบรวมข้อผิดพลาดที่ตรงกันทั้งหมดภายใต้ชื่อกลุ่มที่กำหนดเอง (เช่น "ปัญหาเครือข่าย", "สแปมเสียง") ชื่อกลุ่มจะปรากฏในตารางเป็นแถวเดียว |
สร้างกฎ
มี 2 วิธีในการสร้างกฎ:
จากตารางข้อผิดพลาด (อินไลน์):
- คลิกเมนูบริบท (จุดสามจุด) บนแถวข้อผิดพลาดใด ๆ
- เลือก ข้าม

จากแท็บกฎ:
- ไปที่แท็บ กฎ บนหน้า รายงานข้อผิดพลาด
- คลิก สร้างกฎ
- ป้อนรูปแบบ (สตริงที่แน่นอนหรือ regex)
- เลือกการกระทำ: ข้าม หรือ กลุ่ม → [ชื่อกลุ่ม]
- บันทึกกฎ

ช่องข้อมูลการสร้างกฎ
| ช่องข้อมูล | คำอธิบาย |
|---|---|
| รูปแบบ | สตริงที่แน่นอนหรือการแสดงออกปกติที่ตรงกันกับข้อความข้อผิดพลาด. |
| การกระทำ | เลือก ข้าม (ซ่อนข้อผิดพลาด) หรือ กลุ่ม → ป้อนชื่อกลุ่มที่กำหนดเอง. |

กฎจะถูกประเมินจากบนลงล่างตามลำดับความสำคัญในแท็บกฎ เมื่อข้อผิดพลาดตรงตามกฎ กฎนั้นจะถูกดำเนินการและไม่มีการประเมินกฎเพิ่มเติมสำหรับข้อผิดพลาดนั้น สิ่งนี้ป้องกันการขัดแย้งเช่นการกลุ่มข้อผิดพลาดโดยกฎหนึ่งและจากนั้นกฎถัดไปทำให้มันถูกข้าม
กฎจะมีผลกับข้อผิดพลาดที่ถูกบันทึกหลังจากที่ถูกบันทึก กราฟของคุณจะปรากฏหมายเหตุเมื่อมีกฎที่ถูกแก้ไข
พื้นฐานของการแสดงออกปกติ
การแสดงออกปกติ (regex) เป็นรูปแบบที่เหมาะกับข้อความ:
| ไวยากรณ์ | ความหมาย | ตัวอย่าง |
|---|---|---|
| . | ตัวอักษรเดียวใดก็ได้ | H.t ตรงกับ "Hat", "Hit", "Hot" |
| * | ศูนย์หรือมากกว่าของตัวอักษรก่อนหน้า | go*d ตรงกับ "gd", "god", "good" |
| + | หนึ่งหรือมากกว่าของตัวอักษรก่อนหน้า | go+d ตรงกับ "god", "good", แต่ไม่ตรงกับ "gd" |
| .* | ตัวอักษรใด ๆ ตามลำดับ (wildcard) | Failed.*load ตรงกับ "Failed to load" และ "Failed xyz load" |
| \d | ตัวเลขใด ๆ (0-9) | v\d+ ตรงกับ "v1", "v123", "v4488" |
| \w | ตัวอักษรคำใด ๆ (ตัวอักษร, ตัวเลข, ขีดล่าง) | \w+ ตรงกับ "Player123", "my_var" |
| ^ | เริ่มต้นของสตริง | ^HTTP ตรงกับข้อผิดพลาดที่เริ่มต้นด้วย "HTTP" |
| \/ | สแลชไปข้างหน้าแบบหลบหลีก | rbxassetid:\/\/ ตรงกับ "rbxassetid://" |
| \[ และ \] | วงเล็บสี่เหลี่ยมที่หลบหลีก (การตรงกันตามตัวอักษร) | \[Knit\] ตรงกับ "[Knit]" |
| (a|b) | ตรงกับ "a" หรือ "b" | (Error|Warning):.* ตรงกับทั้ง "Error: ..." และ "Warning: ..." |
เคล็ดลับอย่างรวดเร็ว:
- เริ่มต้นด้วยการตรงกันที่สมบูรณ์ (ข้อความข้อผิดพลาดทั้งหมด) หากคุณต้องการจับข้อผิดพลาดเฉพาะหนึ่ง
- ใช้ regex เมื่อคุณต้องการจับข้อผิดพลาดที่คล้ายกัน (เช่น ข้อผิดพลาดในการโหลดเสียงทั้งหมดไม่ว่าจะเป็น ID ของทรัพย์สินใดก็ตาม)
- ทดสอบรูปแบบของคุณกับข้อความข้อผิดพลาดจริงสัก 2-3 รายการก่อนที่จะบันทึกเพื่อให้แน่ใจว่ามันจับตามที่คุณคาดหวัง
ระบบจะบังคับใช้กฎสองข้อในรูปแบบ regex ของคุณ:
- คุณไม่สามารถใส่ตัวทำซ้ำ (+ หรือ *) ภายในกลุ่มที่ทำซ้ำ ตัวอย่างเช่น (a+)* หรือ (\w+)+ จะถูกปฏิเสธ
- ต้องเริ่มต้นด้วยข้อความที่ถูกยึด: รูปแบบไม่สามารถเริ่มต้นด้วย wildcard เช่น .* หรือ .+ รูปแบบของคุณต้องเริ่มต้นด้วยตัวอักษรที่เฉพาะเจาะจงหรือยึด (เช่น ^ หรือสตริงที่เป็นพจนานุกรม)
ตัวอย่างของกฎเพื่อจัดระเบียบรายงานข้อผิดพลาดของคุณ
แทนที่จะเห็นแถวข้อผิดพลาดแยกกันเป็นสิบ ๆ แถว, รวบรวมข้อผิดพลาดที่เกี่ยวข้องภายใต้ชื่อกลุ่มเดียว:
| กรณีการใช้งาน | ข้อผิดพลาดตัวอย่าง | รูปแบบ | การกระทำ |
|---|---|---|---|
| ข้อผิดพลาดเครือข่ายทั้งหมด | HttpError: ConnectFail, HttpError: Timedout | HttpError:.* | กลุ่ม → "ปัญหาเครือข่าย" |
| คำเตือน DataStore | DataStore request was added to queue, DataStoreService: ... | DataStore | กลุ่ม → "คำเตือน DataStore" |
| ข้อผิดพลาด GUI ของผู้เล่น | Players.Player1.PlayerGui.Shop:12: attempt to index nil | Players\.\w+\.PlayerGui | กลุ่ม → "ข้อผิดพลาด PlayerGui" |
| เฟรมเวิร์ก UI แบบกำหนดเอง | [UIManager] Button render failed, [UIManager] Layout overflow | \[UIManager\].* | กลุ่ม → "ระบบ UI" |
ขีดจำกัดการติดตามข้อผิดพลาด
ระบบติดตามข้อผิดพลาดที่ไม่ซ้ำกันได้สูงสุด 500 ข้อผิดพลาดและ 500 คำเตือนตามจำนวนและข้อผิดพลาดใหม่ที่ไม่ซ้ำกัน 100 อันดับต่อเวอร์ชัน ตัวเลขเหล่านี้จะถูกรีเซ็ตทุก ๆ 6 ชั่วโมง เพื่อเพิ่มประสิทธิภาพการติดตามข้อผิดพลาดภายในขีดจำกัดเหล่านี้:
- ลบตัวระบุที่ไม่ซ้ำออกจากข้อความข้อผิดพลาด เช่น ID ของผู้ใช้, พิกัด, หรือเวลาทำเครื่องหมาย ข้อผิดพลาดเช่น ผู้เล่น 12345 ล้มเหลวในการโหลด และ ผู้เล่น 67890 ล้มเหลวในการโหลด นับเป็นรายการที่แยกกันสองรายการ หากคุณบันทึกเป็น ผู้เล่น ล้มเหลวในการโหลด จะรวมอยู่ในรายการเดียวด้วยจำนวนที่สูงกว่า
- ใช้กฎกำหนดเองเพื่อตัดสินใจกลุ่มข้อผิดพลาดที่เกี่ยวข้องซึ่งแตกต่างกันเฉพาะในค่าที่เปลี่ยนแปลง
แก้ไขข้อผิดพลาดและคำเตือน
เมื่อสอบสวนข้อผิดพลาดจากหน้า รายงานข้อผิดพลาด ให้ใช้แนวทางต่อไปนี้:
- ตรวจสอบสแตกเทรซ — ขยายแถวข้อผิดพลาดเพื่อดูเส้นทางการเรียกและระบุสคริปต์ที่แน่นอนและหมายเลขบรรทัดที่ข้อผิดพลาดเกิดขึ้น
- ตรวจสอบการอัปเดตล่าสุด — ตรวจสอบข้อผิดพลาดใหม่ตั้งแต่การอัปเดตล่าสุดของคุณ
- ใช้เครื่องมือในตัว:
- คอนโซลนักพัฒนา (F9 ในเกม): ดูข้อผิดพลาดสดในเวลาจริงและทดสอบการแก้ไข
- โปรไฟล์สคริปต์: ระบุข้อผิดพลาดที่เกี่ยวข้องกับประสิทธิภาพที่เกิดจากการดำเนินการที่มีค่าใช้จ่ายสูง
- หน้าต่างผลลัพธ์ในสตูดิโอ — จับข้อผิดพลาดระหว่างการพัฒนาก่อนที่จะเผยแพร่
- ใช้การแยกประเภท — ตรวจสอบว่าข้อผิดพลาดเฉพาะเจาะจงกับแพลตฟอร์มหรือไม่ (เดสก์ท็อป, มือถือ, คอนโซล) หรือ OS (Windows, macOS, iOS, Android)
- รวบรวมข้อเสนอแนะแบบชุมชน — หากคุณมี Discord ชุมชนหรือโพสต์ DevForum ให้ตรวจสอบว่าผู้เล่นกำลังรายงานปัญหาหรือไม่และอุปกรณ์หรือภูมิภาคใดได้รับผลกระทบ