Требования#
- Сервер RedM (свежие artifacts) с txAdmin
- База данных MariaDB или MySQL
- Ключ сервера с portal.cfx.re
- Включённый OneSync
docs.fivem.net - the official step by step guide to install txAdmin and create a server.
- Откройте txAdmin и выберите Remote URL Template.
- Вставьте ссылку на recipe:
https://raw.githubusercontent.com/NQ3Z/jrscore/main/recipe/jrscore.yaml- txAdmin скачает скрипты, создаст базу и сам напишет server.cfg.
- Запустите сервер.
- Запустите INSTALL.bat.
- Укажите папку сервера, данные MySQL и ключ сервера.
- Установщик скопирует скрипты, создаст базу и напишет server.cfg.
- В txAdmin укажите эту папку как Server Data Folder и включите OneSync.
- Скопируйте папку resources на сервер.
- Импортируйте sql/jrscore.sql в пустую базу.
- Скопируйте server.cfg и измените значения в {{ }}.
База данных (XAMPP, HeidiSQL или без XAMPP)#
JRS Core хранит персонажей, предметы и деньги в базе MariaDB / MySQL. Выберите один способ запуска, импортируйте sql/jrscore.sql и задайте строку подключения.
- Download and install XAMPP. It includes MariaDB.
- Open the XAMPP Control Panel and press Start next to MySQL. Apache is not needed.
- Download and install HeidiSQL, the program used to manage the database.
- In HeidiSQL press New, set Network type to MariaDB or MySQL (TCP/IP), host
127.0.0.1, userroot, port3306, and press Open. - Right click the empty left panel, Create new > Database, name it
jrscoreand use the collationutf8mb4_general_ci. - Select
jrscore, choose File > Run SQL file... and picksql/jrscore.sql.
XAMPP starts with the user root and no password. That is fine on your own PC. On a public server create a dedicated user with a password (see the SQL below) and never open port 3306 to the internet.
- Install one database server: MariaDB Server (recommended) or MySQL Community Server. Write down the root password you choose.
- Create the database and a user. Open HeidiSQL or the command line and run:
CREATE DATABASE jrscore CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'jrs'@'localhost' IDENTIFIED BY 'change_this_password';
CREATE USER 'jrs'@'127.0.0.1' IDENTIFIED BY 'change_this_password';
GRANT ALL PRIVILEGES ON jrscore.* TO 'jrs'@'localhost';
GRANT ALL PRIVILEGES ON jrscore.* TO 'jrs'@'127.0.0.1';
FLUSH PRIVILEGES;- Import the tables:
mariadb -u jrs -p jrscore < sql/jrscore.sql(with MySQL the program is called mysql). Or use HeidiSQL: File > Run SQL file....
4. Manage it with HeidiSQL or DBeaver (works on Windows, Linux and macOS).
- Install Docker, then start a MariaDB container:
docker run -d --name jrs-db --restart unless-stopped \
-e MARIADB_ROOT_PASSWORD=change_this_password \
-e MARIADB_DATABASE=jrscore \
-p 127.0.0.1:3306:3306 \
-v jrs-db:/var/lib/mysql \
mariadb:11- Import the tables (works in any shell):
docker cp sql/jrscore.sql jrs-db:/jrscore.sql
docker exec jrs-db sh -c "mariadb -uroot -pchange_this_password jrscore < /jrscore.sql"The image page: hub.docker.com/_/mariadb. The 127.0.0.1: in -p keeps the database private to the machine.
Any MariaDB or MySQL host that your game server can reach works (a managed database, or a database on another VPS).
- Create a database
jrscoreand a user for it in the provider panel. - Allow the IP address of your game server only.
- Import
sql/jrscore.sqlwith HeidiSQL connected to that host. - Use the host name in the connection string below instead of
127.0.0.1.
Then tell the server how to connect. Put this line in server.cfg above ensure oxmysql:
set mysql_connection_string "mysql://jrs:[email protected]:3306/jrscore?charset=utf8mb4"With XAMPP and the root user without password it is mysql://[email protected]:3306/jrscore?charset=utf8mb4. If the password has special characters (@, :, /, #) replace them with their percent code (@ = %40) or choose a simpler password.
To check the connection start the server and look for [oxmysql] Database server connection established in the console. Not there? Check that MySQL is running, the port is 3306 and the database name is exact.
Стать владельцем#
Добавьте свой Steam в Config.CoreOwners в jrs_core/config/config.lua:
Config.CoreOwners = {
['steam:110000xxxxxxxxx'] = true,
}Или поставьте group = owner или admin в таблице jrs_users.
Порядок загрузки#
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_characterВ готовом server.cfg порядок уже правильный.
Не ставьте # комментарии в конце строки ensure и сохраняйте fxmanifest.lua в UTF-8 без BOM.