Hướng dẫn khắc phục sự cố cho các vấn đề máy chủ RedM thường gặp bao gồm lỗi license key, khả năng hiển thị trong trình duyệt máy chủ, lỗi resource, kết nối client, vấn đề cơ sở dữ liệu và tối ưu hóa hiệu suất. Để biết hướng dẫn cài đặt ban đầu, hãy xem Hướng Dẫn Cài Đặt Máy Chủ RedM của chúng tôi.
Lỗi License Key
Các vấn đề về license key là vấn đề phổ biến nhất khi khởi động một máy chủ RedM mới. Dưới đây là các lỗi điển hình và giải pháp của chúng:
"Invalid license key" hoặc "Could not authenticate"
| Nguyên Nhân | Giải Pháp |
|---|---|
| License key bị gõ sai hoặc có khoảng trắng thừa | Sao chép key trực tiếp từ Keymaster. Xóa bất kỳ khoảng trắng nào ở đầu/cuối khỏi biến khởi động CFX_LICENSE trong GPanel hoặc dòng sv_licenseKey trong server.cfg. |
| Địa chỉ IP không khớp | Key được đăng ký với một IP khác với IP thực tế của máy chủ của bạn. Vào Keymaster, kiểm tra IP đã đăng ký, và cập nhật nó để khớp với IP máy chủ của bạn hiển thị trong GPanel. |
| Key được đặt ở cả GPanel và server.cfg với các giá trị khác nhau | Đảm bảo key nhất quán. Tốt nhất là đặt nó trong biến khởi động GPanel và để egg xử lý việc truyền nó cho máy chủ. Xóa hoặc comment out sv_licenseKey khỏi server.cfg nếu GPanel xử lý nó. |
| Vấn đề tài khoản Cfx.re hoặc key bị thu hồi | Đăng nhập vào Keymaster và xác nhận key vẫn còn hoạt động. Tạo một key mới nếu key cũ đã bị xóa hoặc hết hạn. |
| Dịch vụ Keymaster tạm thời ngừng hoạt động | Kiểm tra trang trạng thái Cfx.re để biết về sự cố gián đoạn. Chờ và thử lại sau. |
Máy Chủ Không Xuất Hiện Trong Trình Duyệt
Nếu máy chủ của bạn đang chạy nhưng người chơi không thể tìm thấy nó trong trình duyệt máy chủ RedM:
Danh Sách Kiểm Tra
- Chờ ít nhất 5 phút. Sau khi khởi động, máy chủ cần thời gian để đăng ký với danh sách máy chủ master của Cfx.re. Các máy chủ mới có thể mất vài phút để xuất hiện.
- Xác nhận license key hợp lệ. Máy chủ sẽ không được liệt kê nếu không có license key hoạt động. Kiểm tra console máy chủ để tìm các lỗi liên quan đến license.
- Kiểm tra cấu hình endpoint. Đảm bảo
endpoint_add_tcpvàendpoint_add_udptrongserver.cfgsử dụng đúng port:
Port phải khớp với port được gán trong GPanel.endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" - Kiểm tra các thiết lập "sv_master1" hoặc thiết lập liệt kê. Đảm bảo bạn không vô tình đặt máy chủ không tự liệt kê. Không nên có
sv_master1 ""trong cấu hình của bạn (điều này tắt việc đăng ký danh sách master). - Xác nhận máy chủ thực sự đang chạy. Kiểm tra console GPanel. Nếu máy chủ bị crash hoặc dừng, nó sẽ không xuất hiện trong trình duyệt.
- Thử kết nối trực tiếp. Ngay cả khi máy chủ không có trong trình duyệt, kết nối trực tiếp vẫn nên hoạt động. Yêu cầu người chơi nhấn F8 trong RedM và gõ:
connect YOUR_SERVER_IP:PORT
http://YOUR_SERVER_IP:PORT/info.json trong trình duyệt web. Nếu máy chủ đang chạy và có thể truy cập được, nó sẽ trả về một phản hồi JSON với thông tin máy chủ.
Lỗi Tải Resource
Lỗi resource thường gặp khi thêm các script hoặc framework mới vào máy chủ của bạn. Dưới đây là các vấn đề thường xuyên nhất:
"Could not find resource [resource_name]"
- Thư mục resource không tồn tại trong thư mục
resources/, hoặc ở sai vị trí. - Tên thư mục không khớp với tên được sử dụng trong
ensure. Tên resource phân biệt chữ hoa chữ thường. - Khắc phục: Xác nhận thư mục resource tồn tại và tên trong
server.cfgkhớp chính xác. Sử dụng file manager của GPanel hoặc SFTP để kiểm tra.
"Failed to load resource [resource_name]: manifest error"
- Tệp
fxmanifest.luahoặc__resource.luacủa resource có lỗi cú pháp. - Manifest tham chiếu đến các tệp không tồn tại trong thư mục resource.
- Khắc phục: Mở tệp manifest và kiểm tra các lỗi gõ, dấu phẩy bị thiếu, hoặc tham chiếu đến các tệp không tồn tại. Kiểm tra console máy chủ để tìm số dòng cụ thể của lỗi.
"Error loading script [filename]: [error details]"
- Một tệp Lua, C#, hoặc JavaScript trong resource có lỗi cú pháp hoặc lỗi runtime.
- Khắc phục: Đọc toàn bộ thông báo lỗi trong console. Nó sẽ bao gồm tên tệp và số dòng. Các nguyên nhân phổ biến bao gồm:
- Thiếu các dependency (một resource khác phải được tải trước)
- Resource đã lỗi thời không tương thích với phiên bản máy chủ RedM hiện tại
- Giá trị cấu hình không chính xác trong tệp cấu hình của resource
Vấn Đề Thứ Tự Tải Resource
Các resource trong server.cfg được tải theo thứ tự chúng xuất hiện. Nếu một resource phụ thuộc vào một resource khác (ví dụ: vorp_inventory phụ thuộc vào vorp_core), dependency phải được liệt kê trước:
# Correct order - dependencies first
ensure oxmysql
ensure vorp_core
ensure vorp_inventory
ensure vorp_stores
# Wrong order - will cause errors
# ensure vorp_inventory <-- depends on vorp_core
# ensure vorp_core <-- loaded too late
Vấn Đề Kết Nối Client
Khi người chơi không thể kết nối đến máy chủ của bạn:
"Connection timed out" / "Failed to connect"
| Nguyên Nhân | Giải Pháp |
|---|---|
| Máy chủ không chạy | Kiểm tra console GPanel để xác nhận máy chủ đang trực tuyến và không bị crash. |
| Sai IP hoặc port | Xác nhận người chơi đang sử dụng đúng IP và port từ GPanel. Xem Cách Tìm IP và Port Máy Chủ Của Bạn. |
| Cấu hình endpoint sai | Đảm bảo endpoint_add_tcp và endpoint_add_udp trong server.cfg sử dụng port 0.0.0.0:PORT trong đó PORT khớp với GPanel. |
| Máy chủ đã đầy | Kiểm tra xem sv_maxclients đã đạt giới hạn chưa. Tăng giá trị nếu gói lưu trữ của bạn cho phép. |
"Connection rejected by server"
- Mật khẩu máy chủ: Nếu
sv_passwordđược đặt, người chơi phải nhập đúng mật khẩu. - Resource whitelist/allowlist: Nếu bạn có một resource whitelist được bật, người chơi phải được phê duyệt trước khi kết nối.
- Cấm: Người chơi có thể đã bị cấm. Kiểm tra danh sách cấm hoặc cơ sở dữ liệu của bạn để tìm định danh của họ.
Client crash khi kết nối
- Một resource trên máy chủ đang gửi dữ liệu sai hoặc có lỗi script phía client làm crash client.
- Khắc phục: Tắt các resource vừa thêm gần đây từng cái một để xác định resource gây ra vấn đề. Kiểm tra console máy chủ để tìm các lỗi trong quá trình kết nối client.
- Đảm bảo client RedM của người chơi đã được cập nhật.
Lỗi "Could not download file"
- Máy chủ đang cố gửi một tệp lớn (ví dụ: một streaming asset) vượt quá giới hạn truyền tải hoặc kết nối không ổn định.
- Khắc phục: Giảm kích thước của các asset được stream, sử dụng CDN/lưu trữ bên ngoài cho các tệp lớn nếu được hỗ trợ, hoặc yêu cầu người chơi thử kết nối lại.
Vấn Đề Cơ Sở Dữ Liệu (MySQL / oxmysql)
Hầu hết các framework nhập vai RedM sử dụng MySQL để lưu trữ dữ liệu bền vững. Trình kết nối cơ sở dữ liệu phổ biến nhất là oxmysql.
Lỗi Kết Nối Thất Bại
Nếu oxmysql (hoặc một trình kết nối MySQL khác) không kết nối được, hãy kiểm tra những điều sau:
# Typical oxmysql connection string in server.cfg
set mysql_connection_string "mysql://user:password@host:3306/database_name?charset=utf8mb4"
| Lỗi | Giải Pháp |
|---|---|
ECONNREFUSED hoặc "Connection refused" |
Máy chủ MySQL không chạy, host/port sai, hoặc máy chủ MySQL không chấp nhận các kết nối bên ngoài. Xác nhận host, port, và rằng máy chủ cơ sở dữ liệu của bạn đang trực tuyến. |
ER_ACCESS_DENIED_ERROR |
Sai tên người dùng hoặc mật khẩu trong connection string. Kiểm tra kỹ thông tin đăng nhập trong panel lưu trữ cơ sở dữ liệu của bạn. |
ER_BAD_DB_ERROR |
Tên cơ sở dữ liệu không tồn tại. Tạo cơ sở dữ liệu trước thông qua panel quản lý cơ sở dữ liệu của bạn (phpMyAdmin, v.v.). |
ETIMEDOUT |
Máy chủ cơ sở dữ liệu không thể truy cập được. Kiểm tra xem có quy tắc tường lửa nào chặn kết nối hay không, hoặc liệu host cơ sở dữ liệu có chính xác hay không. |
| "Too many connections" | Cơ sở dữ liệu đã đạt giới hạn kết nối tối đa. Điều này có thể xảy ra nếu các resource không đóng kết nối đúng cách, hoặc nếu giới hạn quá thấp. Khởi động lại máy chủ và kiểm tra thiết lập max_connections của MySQL. |
localhost hoặc 127.0.0.1 làm host. Nếu chúng nằm trên các máy chủ khác nhau, hãy sử dụng địa chỉ IP của máy chủ cơ sở dữ liệu và đảm bảo người dùng MySQL có quyền kết nối từ xa.
Lỗi Thiếu Bảng hoặc Schema
Các framework nhập vai thường yêu cầu các bảng cơ sở dữ liệu được thiết lập trước khi chúng có thể hoạt động:
- Kiểm tra tài liệu hoặc kho lưu trữ GitHub của framework để tìm các tệp import SQL (thường được đặt tên là
database.sql,schema.sql, hoặc tương tự). - Import tệp SQL vào cơ sở dữ liệu của bạn bằng phpMyAdmin hoặc một MySQL client.
- Một số framework tự động tạo các bảng trong lần khởi động đầu tiên. Đảm bảo người dùng cơ sở dữ liệu có quyền
CREATE TABLE.
Vấn Đề Hiệu Suất
Nếu máy chủ RedM của bạn đang gặp tình trạng lag, tick rate thấp, hoặc hiệu suất kém nói chung:
Xác Định Vấn Đề Hiệu Suất
Kiểm tra console máy chủ để tìm các cảnh báo hiệu suất. Các máy chủ RedM nhắm đến tick rate khoảng 30-64 tick mỗi giây. Bạn có thể theo dõi điều này bằng:
- Dashboard txAdmin: Nếu txAdmin có sẵn, nó hiển thị các chỉ số hiệu suất máy chủ theo thời gian thực.
- Console máy chủ: Theo dõi các cảnh báo "slow tick" hoặc "resource hitch".
- Lệnh resmon: Gõ
resmon 1trong console máy chủ (hoặc console F8) để bật resource monitor, hiển thị thời gian CPU cho mỗi resource.
Các Giải Pháp Hiệu Suất Phổ Biến
| Vấn Đề | Giải Pháp |
|---|---|
| CPU sử dụng cao từ một resource cụ thể | Sử dụng resmon 1 để xác định resource. Cân nhắc thay thế nó bằng một giải pháp thay thế được tối ưu hóa hơn, hoặc liên hệ với nhà phát triển resource. |
| Quá nhiều resource được tải | Mỗi resource tiêu tốn tài nguyên máy chủ. Kiểm tra danh sách resource của bạn và xóa bất kỳ resource nào không được sử dụng hoặc dư thừa. |
| Tắc nghẽn truy vấn cơ sở dữ liệu | Các truy vấn cơ sở dữ liệu chậm hoặc không có index có thể gây ra giật máy chủ. Kiểm tra các cảnh báo truy vấn chậm của oxmysql trong console. Thêm index vào các cột được truy vấn thường xuyên. |
| Số lượng người chơi cao gây lag | Giảm sv_maxclients xuống mức mà phần cứng máy chủ của bạn có thể xử lý. Cân nhắc nâng cấp gói lưu trữ của bạn để có thêm tài nguyên. |
| Giới hạn entity OneSync | Quá nhiều entity được spawn (ped, phương tiện, vật thể) có thể làm suy giảm hiệu suất. Sử dụng các resource dọn dẹp các entity không sử dụng. |
| Rò rỉ bộ nhớ | Một số resource được code kém sẽ rò rỉ bộ nhớ theo thời gian. Theo dõi mức sử dụng RAM của máy chủ trong GPanel. Khởi động lại máy chủ định kỳ (mỗi 6-12 giờ) có thể giảm thiểu điều này. |
Các Thực Hành Được Khuyến Nghị
- Lên lịch khởi động lại tự động mỗi 6-12 giờ bằng tính năng lên lịch của GPanel hoặc txAdmin để xóa các vấn đề về bộ nhớ và entity tích lũy.
- Cập nhật resource để hưởng lợi từ các bản sửa lỗi hiệu suất và tối ưu hóa.
- Tránh chức năng trùng lặp — không chạy hai resource làm cùng một việc (ví dụ: hai hệ thống thời tiết).
- Kiểm tra các resource mới trên một máy chủ staging (hoặc với số lượng người chơi thấp) trước khi triển khai lên máy chủ chính của bạn.
- Theo dõi các chỉ số máy chủ thường xuyên thông qua GPanel hoặc txAdmin để phát hiện sớm các vấn đề.
Mẹo Khắc Phục Sự Cố Chung
- Luôn đọc output console của máy chủ. Hầu như mọi lỗi đều bao gồm một thông báo trong console cho bạn biết điều gì đã sai và ở đâu.
- Khởi động lại máy chủ sau khi thay đổi cấu hình. Hầu hết các thay đổi đối với
server.cfgyêu cầu khởi động lại máy chủ hoàn toàn để có hiệu lực. - Tắt resource từng cái một để cô lập vấn đề. Comment out các dòng
ensuretrongserver.cfgbằng#. - Giữ các bản sao lưu của các cấu hình hoạt động trước khi thực hiện thay đổi. Tải xuống
server.cfgvà cơ sở dữ liệu của bạn trước các bản cập nhật lớn. - Kiểm tra diễn đàn và tài liệu Cfx.re tại docs.fivem.net để tìm tài liệu chính thức áp dụng cho cả FiveM và RedM.
- Xác nhận tính tương thích của resource với phiên bản máy chủ của bạn. Các resource được xây dựng cho các phiên bản cũ hơn có thể không hoạt động với các build RedM hiện tại.
Bài Viết Liên Quan
- Hướng Dẫn Cài Đặt Máy Chủ RedM — License key, cấu hình server.cfg, quản lý resource và kết nối.
- Cách Tìm IP và Port Máy Chủ Của Bạn
- Cách Tải Tệp Lên Qua SFTP
- Bắt Đầu Với Máy Chủ Mới Của Bạn
Cần Trợ Giúp?
Vẫn gặp sự cố với máy chủ RedM của bạn? Mở một ticket hỗ trợ và đính kèm bất kỳ thông báo lỗi nào từ console máy chủ của bạn. Đội ngũ của chúng tôi sẽ giúp bạn chẩn đoán và giải quyết vấn đề.