Hướng dẫn này đề cập đến việc phát triển resource, thiết lập cơ sở dữ liệu, công cụ quản trị, quản lý người chơi, quản lý phương tiện và vũ khí, cùng việc khắc phục sự cố cho máy chủ alt:V của bạn trên Legion Hosting. Để thiết lập máy chủ ban đầu, cấu hình server.toml, và hướng dẫn kết nối, hãy xem Hướng Dẫn Thiết Lập Máy Chủ alt:V.
Thiết Lập Quản Trị Viên
alt:V không có hệ thống quản trị tích hợp sẵn. Chức năng quản trị được triển khai thông qua các resource (script) mà bạn tạo hoặc cài đặt. Hầu hết các gamemode đều triển khai hệ thống quản trị riêng với các cấp độ quyền, vai trò, và lệnh quản trị.
Các Phương Pháp Quản Trị Thường Gặp
- Vai trò dựa trên cơ sở dữ liệu: Hầu hết các framework roleplay và gamemode lưu trữ vai trò quản trị trong cơ sở dữ liệu. Quản trị viên được gán các vai trò (ví dụ: moderator, admin, superadmin) cấp các cấp độ quyền khác nhau.
- Quản trị viên dựa trên config: Các thiết lập đơn giản hơn có thể dùng một tệp cấu hình liệt kê các Steam ID hoặc alt:V ID của quản trị viên cùng với cấp độ quyền của họ.
- Lệnh console: Console máy chủ của GPanel luôn có toàn quyền truy cập. Bạn có thể viết các script phía máy chủ chấp nhận đầu vào từ console cho các thao tác quản trị.
Thiết Lập Một Resource Quản Trị
- Chọn hoặc phát triển một resource quản trị phù hợp với gamemode của bạn.
- Tải resource lên thư mục
resources/qua tab Files hoặc SFTP. - Thêm tên resource vào mảng
resourcestrongserver.toml. - Cấu hình resource quản trị (đặt các Steam/alt:V ID quản trị của bạn, cấp độ quyền, v.v.).
- Khởi động lại máy chủ.
Hệ Thống Resource
Resource là các khối xây dựng cốt lõi của máy chủ alt:V. Mỗi resource là một module độc lập có thể chứa mã phía máy chủ, mã phía máy khách, hoặc cả hai. Resource được viết bằng JavaScript, TypeScript, hoặc C#.
Cấu Trúc Resource
resources/
my-resource/
resource.toml <-- Resource configuration (required)
server/
index.js <-- Server-side entry point
utils.js <-- Additional server-side files
client/
index.js <-- Client-side entry point (runs in player's GTA V)
shared/
config.js <-- Shared code accessible by both server and client
Cấu Hình resource.toml
type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]
Các trường: type (js hoặc csharp), main (điểm vào phía máy chủ), client-main (điểm vào phía máy khách, chạy trong GTA V của người chơi), client-files (các tệp gửi đến máy khách, hỗ trợ glob), deps (các resource khác cần tải trước).
Cài Đặt Resource
Để cài đặt một resource dựng sẵn trên máy chủ của bạn:
- Tải xuống các tệp resource (thường là một thư mục chứa
resource.tomlvà các tệp script). - Dừng máy chủ của bạn trong GPanel.
- Tải thư mục resource lên
resources/qua tab Files hoặc SFTP. - Thêm tên thư mục resource vào mảng
resourcestrongserver.toml:
resources = ["existing-resource", "new-resource"]
- Nếu resource có các thành phần phụ thuộc, hãy đảm bảo những thành phần đó cũng được cài đặt và liệt kê.
- Cấu hình resource theo tài liệu của nó (các tệp config, thiết lập cơ sở dữ liệu, v.v.).
- Khởi động máy chủ. Kiểm tra console để xem các thông báo tải resource và bất kỳ lỗi nào.
Gỡ Bỏ Một Resource
- Dừng máy chủ của bạn.
- Xóa tên resource khỏi mảng
resourcestrongserver.toml. - Tùy chọn xóa thư mục resource khỏi
resources/. - Khởi động máy chủ.
deps trong các resource khác trước khi gỡ bỏ.
Thiết Lập Cơ Sở Dữ Liệu
Hầu hết các gamemode alt:V yêu cầu một cơ sở dữ liệu để lưu trữ dữ liệu người chơi, phương tiện, kho đồ (inventory), và các thông tin lâu dài khác. Hai hệ thống cơ sở dữ liệu phổ biến nhất cho alt:V là MongoDB và MySQL/MariaDB.
MongoDB
MongoDB là một cơ sở dữ liệu tài liệu NoSQL thường được sử dụng với các resource JavaScript/TypeScript. Hãy sử dụng một dịch vụ được quản lý như MongoDB Atlas (có gói miễn phí) hoặc một phiên bản tự lưu trữ. Lấy chuỗi kết nối của bạn (ví dụ: mongodb+srv://user:[email protected]/mydb) và cấu hình nó trong tệp config của resource. Các resource Node.js sử dụng gói npm mongodb.
MySQL / MariaDB
MySQL thường được sử dụng với các resource C# và một số framework JavaScript. Hãy lấy một cơ sở dữ liệu từ dịch vụ được quản lý hoặc phiên bản tự lưu trữ, cấu hình các resource của bạn với thông tin kết nối (host, port, username, password, tên cơ sở dữ liệu), và chạy bất kỳ script di chuyển SQL nào cần thiết.
Quản Lý Người Chơi
Quản lý người chơi trong alt:V được xử lý thông qua các resource của bạn. Các thao tác phổ biến bao gồm:
Nhận Diện Người Chơi
alt:V cung cấp nhiều định danh cho mỗi người chơi đã kết nối:
| Định danh | Mô tả |
|---|---|
player.id |
Một ID số tạm thời được gán cho phiên hiện tại. Thay đổi khi kết nối lại. |
player.socialID |
ID Rockstar Social Club của người chơi. Lâu dài qua các phiên. |
player.hwidHash |
Một hash định danh phần cứng. Hữu ích cho việc thực thi cấm. |
player.ip |
Địa chỉ IP của người chơi. |
Đá và Cấm
Triển khai chức năng đá (kick) và cấm (ban) trong các resource của bạn:
import alt from "alt-server";
// Kick a player
player.kick("Reason for kick");
// Ban check on connect (store bans in database)
alt.on("playerConnect", (player) => {
if (isPlayerBanned(player.socialID)) {
player.kick("You are banned from this server.");
}
});
socialID và hwidHash để thực thi đáng tin cậy.
Quản Lý Phương Tiện và Vũ Khí
Phương tiện và vũ khí được quản lý thông qua các script phía máy chủ. alt:V cho bạn toàn quyền kiểm soát việc tạo ra, sửa đổi, và loại bỏ phương tiện và vũ khí.
Tạo Phương Tiện
import alt from "alt-server";
// Spawn a vehicle at a position
const vehicle = new alt.Vehicle(
"sultan", // Vehicle model name
0, 0, 72, // Position (x, y, z)
0, 0, 0 // Rotation (rx, ry, rz)
);
vehicle.numberPlateText = "LEGION";
Cấp Vũ Khí
// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);
// Remove all weapons
player.removeAllWeapons();
Tính Lâu Dài Của Phương Tiện
Theo mặc định, phương tiện chỉ tồn tại trong bộ nhớ máy chủ và bị mất khi khởi động lại. Để duy trì phương tiện qua các lần khởi động lại, hãy lưu trữ dữ liệu của chúng (model, vị trí, sửa đổi, chủ sở hữu) trong cơ sở dữ liệu và tạo lại chúng khi máy chủ khởi động.
Khắc Phục Sự Cố
Resource Không Tải
- Kiểm tra rằng tên resource trong
server.tomlkhớp chính xác với tên thư mục trongresources/. - Xác minh resource có một tệp
resource.tomlhợp lệ với các trườngtypevàmainchính xác. - Kiểm tra console để tìm các thông báo lỗi trong quá trình tải resource. Lỗi cú pháp trong script sẽ ngăn resource khởi động.
- Đảm bảo tất cả các thành phần phụ thuộc được liệt kê trong
depsđều được cài đặt và tải. - Xác minh module chính xác được tải trong
server.toml(js-modulecho JavaScript,csharp-modulecho C#).
Người Chơi Không Thể Kết Nối
- Xác minh máy chủ đang chạy và hiển thị trạng thái trực tuyến trong GPanel.
- Kiểm tra rằng người chơi đang sử dụng trình khởi chạy alt:V, không phải trình khởi chạy GTA V thông thường.
- Đảm bảo nhánh máy chủ alt:V khớp với nhánh mà người chơi đang có (release, rc, hoặc dev). Nhánh không khớp sẽ ngăn việc kết nối.
- Nếu được bảo vệ bằng mật khẩu, hãy xác minh người chơi đang nhập đúng mật khẩu.
- Yêu cầu người chơi thử kết nối trực tiếp bằng IP và cổng. Xem Cách Tìm IP và Cổng Máy Chủ Của Bạn.
Máy Chủ Bị Sập
- Kiểm tra console để tìm các thông báo lỗi trước khi sập.
- Resource bị lỗi là nguyên nhân gây sập phổ biến nhất. Hãy vô hiệu hóa các resource mới thêm gần đây để khoanh vùng vấn đề.
- Đảm bảo các tệp máy chủ của bạn được cập nhật. Kích hoạt cài đặt lại từ tab Startup nếu cần.
- Rò rỉ bộ nhớ trong các resource có thể khiến máy chủ hết RAM theo thời gian. Hãy theo dõi các biểu đồ tài nguyên của GPanel để phát hiện mức sử dụng bộ nhớ tăng đều.
Sự Cố Cơ Sở Dữ Liệu và Thoại
- Xác minh thông tin đăng nhập và chuỗi kết nối cơ sở dữ liệu. Đối với MongoDB Atlas, hãy đưa IP máy chủ của bạn vào danh sách cho phép trong cài đặt truy cập mạng.
- Kiểm tra console để tìm các thông báo lỗi kết nối cơ sở dữ liệu.
- Trò chuyện thoại yêu cầu phần
[voice]trongserver.tomlcùng với các resource triển khai logic kênh thoại. Riêng cấu hình chỉ thiết lập cơ sở hạ tầng.
Sự Cố Hiệu Suất
- Phân tích (profile) các resource của bạn để tìm các thao tác tốn kém (vòng lặp nặng, lệnh gọi cơ sở dữ liệu đồng bộ, tạo thực thể quá mức).
- Sử dụng
alt.setIntervalvàalt.setTimeoutmột cách hạn chế. Các thao tác nặng mỗi tick là nguyên nhân giết chết hiệu suất phổ biến nhất. - Theo dõi các biểu đồ tài nguyên của GPanel để xem mức sử dụng CPU và RAM.
- Cân nhắc nâng cấp gói máy chủ của bạn cho số lượng người chơi cao. Mở một ticket hỗ trợ để thảo luận về các tùy chọn.
Bài Viết Liên Quan
- Hướng Dẫn Thiết Lập Máy Chủ alt:V — Thiết lập ban đầu, cấu hình server.toml, trò chuyện thoại, và hướng dẫn kết nối
- Cách Tìm IP và Cổng Máy Chủ Của Bạn
- Cách Tải Tệp Lên Qua SFTP
- Hướng Dẫn Khởi Động Máy Chủ — Hướng dẫn chung để khởi động bất kỳ máy chủ game nào trên Legion Hosting
Cần Thêm Trợ Giúp?
Nếu bạn gặp các sự cố không được đề cập trong hướng dẫn này, đội ngũ hỗ trợ của chúng tôi luôn sẵn sàng giúp đỡ. Mở một ticket tại legionhosting.net/submitticket.php kèm theo thông tin máy chủ của bạn, mô tả vấn đề, và bất kỳ thông báo lỗi liên quan nào từ console của GPanel.