Báo cáo lỗi cho phép bạn xem các lỗi và cảnh báo hệ thống Luau cập nhật theo thời gian thực cho cả máy chủ và máy khách. Theo dõi báo cáo lỗi của bạn trước và sau khi cập nhật trò chơi để xác định các vấn đề tiềm ẩn sớm.
Xem báo cáo lỗi của bạn
Để xem báo cáo lỗi của trò chơi bạn:
- Điều hướng đến trang Tạo ra trong Bảng điều khiển Người sáng tạo và chọn trò chơi của bạn.
- Dưới Giám sát, chọn Báo cáo lỗi.
Bạn có thể xem phân tích cho các trải nghiệm riêng lẻ hoặc do nhóm sở hữu. Để xem cái sau, bạn cần có quyền của nhóm cho phân tích.
Giám sát lỗi và cảnh báo
Bạn có thể áp dụng các bộ lọc và chuyển đổi sau cho báo cáo lỗi của bạn:
- Khoảng thời gian — Lọc theo 1 giờ qua, 1 ngày qua, 7 ngày qua hoặc 30 ngày qua.
- Nơi — Lọc theo nơi.
- Hiện phiên bản — Thêm chú thích phiên bản nơi vào biểu đồ lỗi và cảnh báo.
- Mức độ nghiêm trọng — Lọc để hiển thị lỗi, cảnh báo hoặc cả hai.
- Nền tảng — Lọc để hiển thị lỗi máy khách từ các thiết bị cụ thể.
- Hệ điều hành — Lọc để hiển thị lỗi máy khách từ các hệ điều hành cụ thể.
- Các lỗi mới từ — Lọc để chỉ hiển thị các lỗi và cảnh báo mới kể từ một phiên bản nhất định.
Bên dưới các bộ lọc và chuyển đổi, một biểu đồ hiển thị số lượng lỗi và cảnh báo cho máy chủ, máy khách và tổng số. Sử dụng biểu đồ này để tìm kiếm sự gia tăng lỗi và cảnh báo theo thời gian. Nếu bạn thấy có sự gia tăng lớn về lỗi và cảnh báo, hãy sử dụng bảng báo cáo lỗi để khắc phục sự cố.

Khắc phục lỗi và cảnh báo
Bảng Lỗi và cảnh báo có các cột sau:
| Cột | Mô tả |
|---|---|
| Số lượng | Số lượng lỗi hoặc cảnh báo. |
| Mức độ nghiêm trọng | Nhãn lỗi hoặc cảnh báo. |
| Loại | Nhãn máy chủ hoặc máy khách. |
| Thông điệp | Thông điệp lỗi hoặc cảnh báo. |
| Được thấy lần đầu tại | Dấu thời gian đầu tiên của thông điệp. |
| Phiên bản được thấy lần đầu | Chỉ có sẵn khi một nơi được chọn. Hiển thị phiên bản đầu tiên nơi thông điệp được ghi lại. |

Xem ngăn xếp lỗi cho một lỗi hoặc cảnh báo
Nếu bạn thấy một dropdown trên một lỗi hoặc cảnh báo, hãy nhấp để mở rộng nó và xem ngăn xếp lỗi tương ứng. Ngăn xếp lỗi là danh sách các cuộc gọi mà trò chơi của bạn đang thực hiện khi ngoại lệ xảy ra. Điều này có thể giúp bạn hiểu điều gì đang sai.
Quy tắc tùy chỉnh
Các quy tắc tùy chỉnh cho phép bạn định nghĩa các mẫu regex hoặc chuỗi chính xác để tự động bỏ qua hoặc nhóm các lỗi và cảnh báo. Điều này giúp bạn quản lý tỷ lệ tín hiệu và tiếng ồn trong các báo cáo lỗi của mình. Bạn có thể tạo tối đa 100 quy tắc cho mỗi trải nghiệm. Các quy tắc được đánh giá từ trên xuống dưới theo thứ tự ưu tiên. Khi một lỗi khớp với một quy tắc, quá trình xử lý thêm dừng lại.
Hành động quy tắc
Mỗi quy tắc có một trong hai hành động:
| Hành động | Hành vi |
|---|---|
| Bỏ qua | Ẩn các lỗi khớp khỏi biểu đồ và bảng. Sử dụng cho tiếng ồn vĩnh viễn như lỗi âm thanh không thể tránh khỏi hoặc các tuyên bố in cũ. |
| Nhóm | Tập hợp tất cả các lỗi khớp dưới một tên nhóm tùy chỉnh (ví dụ: "Vấn đề mạng", "Âm thanh spam"). Tên nhóm sẽ xuất hiện dưới dạng một hàng trong bảng. |
Tạo một quy tắc
Có hai cách để tạo một quy tắc:
Từ bảng lỗi (inline):
- Nhấp vào menu ngữ cảnh (ba chấm) trên bất kỳ hàng lỗi nào.
- Chọn Bỏ qua.

Từ tab quy tắc:
- Điều hướng đến tab Quy tắc trên trang Báo cáo lỗi.
- Nhấp vào Tạo quy tắc.
- Nhập một mẫu (chuỗi chính xác hoặc regex).
- Chọn một hành động: Bỏ qua hoặc Nhóm → [Tên nhóm].
- Lưu quy tắc.

Các trường tạo quy tắc
| Trường | Mô tả |
|---|---|
| Mẫu | Chuỗi chính xác hoặc biểu thức chính quy để khớp với các thông điệp lỗi. |
| Hành động | Chọn Bỏ qua (ẩn lỗi) hoặc Nhóm → nhập tên nhóm tùy chỉnh. |

Các quy tắc được đánh giá từ trên xuống dưới dựa trên thứ tự ưu tiên trong tab Quy tắc. Khi một lỗi khớp với một quy tắc, hành động của quy tắc đó được thực hiện và không có quy tắc nào khác được đánh giá cho lỗi đó. Điều này ngăn chặn các xung đột như việc một lỗi bị nhóm bởi một quy tắc và sau đó bị bỏ qua bởi một quy tắc sau đó.
Các quy tắc chỉ ảnh hưởng đến các lỗi được ghi lại sau khi chúng được lưu. Một chú thích sẽ xuất hiện trên biểu đồ của bạn khi các quy tắc được thay đổi.
Cơ bản về biểu thức chính quy
Một biểu thức chính quy (regex) là một mẫu để khớp với văn bản:
| Cú pháp | Ý nghĩa | Ví dụ |
|---|---|---|
| . | Bất kỳ ký tự đơn lẻ | H.t khớp với "Hat", "Hit", "Hot" |
| * | Không hoặc nhiều ký tự trước đó | go*d khớp với "gd", "god", "good" |
| + | Một hoặc nhiều ký tự trước đó | go+d khớp với "god", "good", nhưng không khớp với "gd" |
| .* | Bất kỳ chuỗi ký tự nào (wildcard) | Failed.*load khớp với "Failed to load" và "Failed xyz load" |
| \d | Bất kỳ chữ số nào (0-9) | v\d+ khớp với "v1", "v123", "v4488" |
| \w | Bất kỳ ký tự từ (chữ cái, chữ số, gạch dưới) | \w+ khớp với "Player123", "my_var" |
| ^ | Bắt đầu của chuỗi | ^HTTP khớp với các lỗi bắt đầu bằng "HTTP" |
| \/ | Một dấu gạch chéo ngược được thoát | rbxassetid:\/\/ khớp với "rbxassetid://" |
| \[ và \] | Dấu ngoặc vuông thoát (khớp chính xác) | \[Knit\] khớp với "[Knit]" |
| (a|b) | Khớp "a" hoặc "b" | (Error|Warning):.* khớp với cả "Error: ..." và "Warning: ..." |
Mẹo nhanh:
- Bắt đầu với một khớp chính xác (chuỗi lỗi đầy đủ) nếu bạn chỉ muốn bắt một lỗi cụ thể.
- Sử dụng regex khi bạn muốn bắt một tập hợp các lỗi tương tự (ví dụ: tất cả các lỗi tải âm thanh mà không phụ thuộc vào ID tài sản).
- Kiểm tra mẫu của bạn với một vài chuỗi lỗi thực trước khi lưu để đảm bảo nó bắt được những gì bạn mong đợi.
Hệ thống áp đặt hai quy tắc lên các mẫu regex của bạn:
- Bạn không thể đặt một bộ lặp (+ hoặc *) bên trong một nhóm lặp. Ví dụ, (a+)* hoặc (\w+)+ sẽ bị từ chối.
- Phải bắt đầu bằng văn bản đã neo: Các mẫu không thể bắt đầu bằng một wildcard như .* hoặc .+. Mẫu của bạn phải bắt đầu bằng một ký tự cụ thể hoặc neo (như ^ hoặc một chuỗi chính xác).
Ví dụ quy tắc để tổ chức báo cáo lỗi của bạn
Thay vì thấy hàng chục hàng lỗi riêng lẻ, hãy tập hợp các lỗi liên quan dưới một tên nhóm:
| Trường hợp sử dụng | Các lỗi ví dụ | Mẫu | Hành động |
|---|---|---|---|
| Tất cả lỗi mạng | HttpError: ConnectFail, HttpError: Timedout | HttpError:.* | Nhóm → "Vấn đề Mạng" |
| Cảnh báo DataStore | Yêu cầu DataStore đã được thêm vào hàng đợi, DataStoreService: ... | DataStore | Nhóm → "Cảnh báo DataStore" |
| Lỗi GUI của người chơi | Players.Player1.PlayerGui.Shop:12: cố gắng chỉ mục nil | Players\.\w+\.PlayerGui | Nhóm → "Lỗi PlayerGui" |
| Khung UI tùy chỉnh | [UIManager] Lỗi render nút, [UIManager] Tràn bố cục | \[UIManager\].* | Nhóm → "Hệ thống UI" |
Giới hạn theo dõi lỗi
Hệ thống theo dõi tối đa 500 lỗi độc nhất và 500 cảnh báo độc nhất theo số lượng và 100 lỗi mới theo phiên bản. Các số này sẽ được đặt lại sau mỗi 6 giờ. Để tối đa hóa việc theo dõi lỗi hữu ích trong các giới hạn này:
- Loại bỏ các định danh độc nhất khỏi các thông điệp lỗi, chẳng hạn như ID người dùng, tọa độ hoặc dấu thời gian. Các lỗi như Người chơi 12345 không thể tải và Người chơi 67890 không thể tải được tính là hai mục riêng biệt. Nếu bạn ghi lại chúng là Người chơi không thể tải, chúng sẽ được hợp nhất thành một mục với số lượng cao hơn.
- Sử dụng các quy tắc tùy chỉnh để nhóm các lỗi liên quan chỉ khác nhau bởi các giá trị động.
Giải quyết lỗi và cảnh báo
Khi điều tra các lỗi từ trang Báo cáo Lỗi, hãy sử dụng các phương pháp sau:
- Xem ngăn xếp lỗi — Mở rộng các hàng lỗi để thấy đường gọi và xác định kịch bản cụ thể và số dòng nơi lỗi xảy ra.
- Kiểm tra các cập nhật gần đây — Theo dõi các lỗi mới kể từ bản cập nhật gần nhất của bạn.
- Sử dụng công cụ tích hợp:
- Bảng điều khiển Nhà phát triển (F9 trong trò chơi): Xem các lỗi trực tiếp theo thời gian thực và thử nghiệm các bản sửa lỗi.
- Bộ lập trình kịch bản: Xác định các lỗi liên quan đến hiệu suất do các thao tác tốn kém.
- Cửa sổ Xuất ra trong Studio — Bắt các lỗi trong quá trình phát triển trước khi xuất bản.
- Sử dụng phân tích — Kiểm tra xem lỗi có cụ thể cho một nền tảng (Máy tính để bàn, Di động, Máy trò chơi) hoặc Hệ điều hành (Windows, macOS, iOS, Android) hay không.
- Thu thập phản hồi của cộng đồng — Nếu bạn có một Discord cộng đồng hoặc bài viết trên DevForum, hãy kiểm tra xem người chơi có báo cáo sự cố và thiết bị hoặc khu vực nào bị ảnh hưởng.