Đây là tài liệu hướng dẫn cấu hình và triển khai chi tiết dành cho mã nguồn API Backend của FiveM Launcher. Mã nguồn được viết bằng ngôn ngữ Golang, sử dụng framework Fiber và hệ quản trị cơ sở dữ liệu MySQL.
Để có thể biên dịch và chạy được mã nguồn này, cá nhân hoặc hệ thống máy chủ của bạn cần phải được cài đặt các phần mềm sau:
- Go (Golang) phiên bản 1.20 trở lên.
- MySQL phiên bản 8.0 trở lên hoặc MariaDB phiên bản 10.4 trở lên.
- Git (nếu cần quản lý phiên bản mã nguồn).
Trước khi bắt đầu khởi chạy ứng dụng, bạn cần phải thiết lập tệp tin cấu hình biến môi trường.
- Truy cập vào thư mục gốc của dự án.
- Sao chép tệp tin cấu hình mẫu
.env.examplethành một tệp tin mới và đặt tên là.env. - Mở tệp tin
.envbằng trình chỉnh sửa mã và cấu hình lại các thông số sau cho phù hợp với môi trường của bạn:
- DB_HOST: Địa chỉ IP hoặc tên miền của máy chủ MySQL (Thông thường là 127.0.0.1 đối với localhost).
- DB_PORT: Cổng của MySQL (Mặc định là 3306).
- DB_USER: Tên đăng nhập của tài khoản MySQL.
- DB_PASSWORD: Mật khẩu của tài khoản MySQL.
- DB_NAME: Tên cơ sở dữ liệu của bạn (Ví dụ: fivem_backend).
Lưu ý: Bạn phải tự tạo cơ sở dữ liệu trống với tên tương ứng trong ứng dụng MySQL trước khi chạy chương trình.
- JWT_SECRET: Chuỗi ký tự bí mật được sử dụng để ký xác thực token. Bạn bắt buộc phải thay đổi chuỗi ký tự này thành một chuỗi văn bản dài, ngẫu nhiên để đảm bảo an toàn an ninh mạng cho người dùng.
- RESEND_API_KEY: Giấy phép API Key của dịch vụ gửi email Resend.com.
- EMAIL_FROM: Địa chỉ email người gửi hệ thống mặc định (Ví dụ: noreply@example.com).
Các bước dưới đây hướng dẫn bạn cách biên dịch và chạy ứng dụng trên các bản phân phối Linux như Ubuntu hoặc Debian.
Mở terminal (giao diện dòng lệnh) tại thư mục chứa mã nguồn và thực thi lệnh:
go mod tidyThực thi lệnh sau để biên dịch mã nguồn ra tệp tin thực thi phù hợp cho phần cứng cục bộ Linux (64-bit):
GOOS=linux GOARCH=amd64 go build -o backend-app ./cmd/serverSau khi lệnh hoàn tất, hệ thống sẽ tự động tổng hợp ra một tệp tin mang tên backend-app.
Tiếp tục tại giao diện dòng lệnh, cấp quyền thực thi tệp tin cho hệ thống:
chmod +x backend-appBạn có thể dùng terminal để khởi chạy trực tiếp tệp tin hệ thống và theo dõi nhật ký:
./backend-appTuy nhiên, trong môi trường Production (Sản phẩm thực tế), việc sử dụng phần mềm quản lý tiến trình như systemd hoặc PM2 là rất cần thiết để ứng dụng có thể tự khởi động lại nếu bị lỗi hệ thống.
Ví dụ cách khởi động thông qua ứng dụng PM2:
pm2 start ./backend-app --name "fivem-backend"
pm2 saveCác bước sau đây được sử dụng đối với phần cứng chạy hệ điều hành Windows Server hoặc trên máy tính Windows cá nhân của bạn.
Mở nền tảng PowerShell hoặc Command Prompt (CMD) tại thư mục chứa mã nguồn dự án và chạy biến chuẩn:
go mod tidyThực thi lệnh sau trên CMD để biên dịch hệ thống tổng:
go build -o backend-app.exe ./cmd/serverNếu bạn đang biên dịch trên một môi trường máy ảo khác có cùng hệ điều hành, cấu trúc chuẩn hóa được viết lại như sau:
set GOOS=windows
set GOARCH=amd64
go build -o backend-app.exe ./cmd/serverNgay sau khi quá trình biên dịch hoàn tất (tệp tin backend-app.exe xuất hiện), bạn có thể nháy đúp chuột vào tệp tin backend-app.exe thông qua Explorer hoặc chạy lệnh truy xuất trên nền cmd:
backend-app.exeCửa sổ terminal sẽ hiển thị nhật ký khởi động chi tiết. Vui lòng không đóng cửa sổ này trong suốt thời gian bạn muốn duy trì kết nối.
Sau khi hệ thống ứng dụng được khởi động thành công và liên kết domain https://runtime.gtavss.com hoặc domain tùy chỉnh tương ứng trong cấu hình của bạn:
Bạn có thể kiểm tra trạng thái hoạt động của Backend Server qua máy chủ nội hạt: Đường dẫn trạng thái: https://runtime.gtavss.com/health
Đồng thời, ứng dụng cung cấp giao diện quản trị tài liệu API Swagger tích hợp. Bạn có thể sử dụng giao diện này để kiểm thử và tích hợp phần mềm Launcher riêng biệt của bạn. Đường dẫn tài liệu API: https://runtime.gtavss.com/swagger/index.html