Aller au contenu principal

Configuration et Ressources

Guide de configuration et localisation des assets du serveur.

Structure des Fichiers

Arborescence Typique

resources/
├── [vorp]/
│ ├── vorp_core/
│ ├── vorp_inventory/
│ ├── vorp_menu/
│ └── vorp_character/
├── [bcc]/
│ ├── bcc-boats/
│ ├── bcc-stables/
│ ├── bcc-wagons/
│ └── ... (autres scripts BCC)
├── [dependencies]/
│ ├── bcc-utils/
│ ├── feather-menu/
│ ├── fred_metabolism/
│ └── ox_lib/
└── [standalone]/
├── hard_jobs/
├── fred_hud/
└── ... (scripts autonomes)

Localisation des Assets

Images d'Items

Inventaire VORP:

vorp_inventory/html/img/

Formats supportés: .png, .jpg, .webp

Nomenclature:

  • Nom du fichier = nom de l'item
  • Exemple: apple.png pour l'item apple

Dimensions recommandées:

  • 128x128 pixels (minimum)
  • 256x256 pixels (optimal)
  • 512x512 pixels (haute qualité)

Icons UI

Fred HUD:

fred_hud/ui/assets/icons/

Feather Menu:

feather-menu/ui/assets/

Props 3D

Les props ne sont pas stockés dans les scripts, ils sont référencés par leur nom de modèle RedM.

Base de données props: http://rdr2.mooshe.tv/

Exemples de props:

  • p_bottlejd01x - Bouteille de whisky
  • p_apple02x - Pomme
  • s_canbeans01x - Boîte de haricots
  • w_repeater_carbine01 - Carabine

Configuration VORP Core

Fichier Principal

Localisation: vorp_core/config/config.lua

Sections Importantes

Langue du Serveur

Config.defaultlang = "fr_lang"  -- Français

Fichiers de traduction dans:

vorp_core/translation/
├── en_lang.lua
├── fr_lang.lua
├── es_lang.lua
└── ...

Économie de Départ

Config.StartMoney = {
cash = 50, -- Argent liquide
gold = 5, -- Or
rol = 100 -- Monnaie RP
}

Job par Défaut

Config.DefaultGroup = "user"
Config.DefaultJob = "unemployed"
Config.DefaultJobGrade = 0
Config.Salary = 10 -- Salaire de base

Whitelist

Config.Whitelist = false  -- Désactivée par défaut
Config.CheckDuplicateLicense = true

Personnages

Config.MaxCharacters = 5  -- Max 5 personnages par compte
Config.SaveDiscordId = true

Respawn

Config.RespawnTime = 15  -- Secondes avant respawn
Config.RespawnKey = 0x760A9C6F -- Touche G
Config.HealthOnRespawn = 100
Config.HealthOnRevive = 100

Cores

Config.MaxHealth = 500
Config.MaxStamina = 100
Config.DisablePvP = false -- PvP activé

Configuration BCC Scripts

BCC Boats

Fichier: bcc-boats/config.lua

Config = {
MaxBoats = 3,
DefaultBoatInventory = 200,

Shops = {
Valentine = {
coords = vector3(x, y, z),
blip = {
sprite = 1306026896,
color = "BLIP_MODIFIER_MP_COLOR_32"
},
hours = {
active = false,
open = 8,
close = 20
},
boats = {
{model = "rowboat", price = 500},
{model = "canoe", price = 300}
}
}
}
}

BCC Stables

Fichier: bcc-stables/config.lua

Config = {
MaxHorses = 5,
HardDeath = true,
DeathThreshold = 5,

Stables = {
Valentine = {
coords = vector3(-365.9, 787.7, 116.2),
horses = {
{model = "a_c_horse_americanpaint_overo", price = 150},
{model = "a_c_horse_morgan_bay", price = 200}
}
}
}
}

BCC Wagons

Fichier: bcc-wagons/config.lua

Config = {
MaxWagons = 2,
DefaultWagonInventory = 500,

Shops = {
Valentine = {
coords = vector3(x, y, z),
wagons = {
{model = "wagonarmoured01x", price = 800},
{model = "cart01", price = 200}
}
}
}
}

Configuration Fred Metabolism

Fichier: fred_metabolism/config/items.lua

Ajouter un Item Consommable

{
dbName = "mon_item", -- Nom en base de données
displayName = "Mon Item", -- Nom affiché
hunger = 30, -- Restaure faim
hungerGold = 0, -- Durée gold core (secondes)
thirst = 20, -- Restaure soif
thirstGold = 0, -- Durée gold core
metabolism = 50, -- Métabolisme
alcohol = 0, -- Alcoolémie ajoutée
stress = -10, -- Réduit stress
staminaInnerCore = 0, -- Stamina inner
staminaInnerCoreGold = 0, -- Stamina inner gold
staminaOuterCoreGold = 0, -- Stamina outer gold
healthInnerCore = 0, -- Santé inner
healthInnerCoreGold = 0, -- Santé inner gold
healthOuterCoreGold = 0, -- Santé outer gold
animation = "eat", -- Type d'animation
propName = "p_apple02x", -- Prop 3D
VFX = nil, -- Effets visuels
returnItem = nil -- Item retourné
}

Animations Disponibles

  • eat - Manger
  • drink - Boire
  • drink_cup - Tasse
  • smoke - Fumer
  • bowl - Bol
  • shortbottle - Bouteille courte
  • longbottle - Bouteille longue
  • syringe - Seringue
  • berry - Baies

Configuration Hard Jobs

Mining

Fichier: hard_jobs/Mining/server/main.lua

Config.MiningZones = {
{
name = "Valentine Mine",
coords = vector3(x, y, z),
radius = 50.0,
blip = true,
ores = {
{type = "iron", chance = 60, amount = {1, 3}},
{type = "gold", chance = 20, amount = {1, 2}},
{type = "copper", chance = 40, amount = {1, 3}}
}
}
}

Config.Prices = {
iron = 5,
gold = 20,
copper = 8
}

Police Job

Fichier: hard_jobs/policejob/server/main.lua

Config.PoliceStations = {
{
name = "Valentine Sheriff",
coords = vector3(-275.5, 805.1, 118.4),
blip = {
sprite = 1220015732,
color = "BLIP_MODIFIER_MP_COLOR_2"
},
armory = vector3(-277.0, 806.0, 118.4),
cells = {
vector3(-279.0, 808.0, 118.4),
vector3(-279.0, 810.0, 118.4)
}
}
}

Config.PoliceWeapons = {
"WEAPON_REVOLVER_CATTLEMAN",
"WEAPON_REPEATER_CARBINE",
"WEAPON_SHOTGUN_DOUBLEBARREL"
}

Base de Données

Tables Principales

users

CREATE TABLE `users` (
`identifier` varchar(50) NOT NULL,
`group` varchar(50) DEFAULT 'user',
`warnings` int(11) DEFAULT 0,
`banned` tinyint(1) DEFAULT 0,
PRIMARY KEY (`identifier`)
);

characters

CREATE TABLE `characters` (
`charidentifier` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(50) NOT NULL,
`firstname` varchar(50) NOT NULL,
`lastname` varchar(50) NOT NULL,
`age` int(11) DEFAULT 21,
`job` varchar(50) DEFAULT 'unemployed',
`jobgrade` int(11) DEFAULT 0,
`money` double(11,2) DEFAULT 0.00,
`gold` double(11,2) DEFAULT 0.00,
`rol` double(11,2) DEFAULT 0.00,
PRIMARY KEY (`charidentifier`)
);

items

CREATE TABLE `items` (
`item` varchar(50) NOT NULL,
`label` varchar(50) NOT NULL,
`limit` int(11) DEFAULT 1,
`can_remove` tinyint(1) DEFAULT 1,
`type` varchar(50) DEFAULT NULL,
`usable` tinyint(1) DEFAULT 0,
`desc` varchar(255) DEFAULT NULL,
`metadata` longtext DEFAULT '{}',
`weight` decimal(10,2) DEFAULT 0.00,
PRIMARY KEY (`item`)
);

Ajouter un Item en Base

INSERT INTO items (item, label, `limit`, can_remove, type, usable, `desc`, metadata, weight) 
VALUES
('mon_item', 'Mon Item Custom', 10, 1, 'item_standard', 1, 'Description de mon item', '{}', 0.5);

Webhooks Discord

Configuration dans VORP Core

Fichier: vorp_core/config/config.lua

Config.Webhooks = {
WebhookLink = "https://discord.com/api/webhooks/YOUR_WEBHOOK",
WebhookTitle = "VORP Logs",
WebhookAvatar = "https://votre-logo.png",
webhookColor = 16711680, -- Rouge (RGB)

-- Événements loggés
LogConnect = true,
LogDisconnect = true,
LogAdminCommands = true,
LogBans = true,
LogWarns = true
}

Créer un Webhook Discord

  1. Ouvre les paramètres du serveur Discord
  2. Intégrations → Webhooks
  3. Créer un webhook
  4. Copie l'URL du webhook
  5. Colle dans la config

Format des Logs

Les logs incluent:

  • Horodatage
  • ID du joueur
  • Action effectuée
  • Détails additionnels

Permissions (server.cfg)

Structure de Base

# Créer des groupes
add_ace group.admin command allow
add_ace group.moderator command.kick allow

# Assigner joueurs aux groupes
add_principal identifier.steam:110000XXXXXXXX group.admin
add_principal identifier.discord:123456789 group.moderator

# Permissions VORP Core
add_ace group.admin vorpcore allow
add_ace group.moderator vorpcore.reviveplayer allow

Permissions VORP Détaillées

# Admin Complet
add_ace group.admin vorpcore.tpm.Command allow
add_ace group.admin vorpcore.addMoney.Command allow
add_ace group.admin vorpcore.additems.Command allow
add_ace group.admin vorpcore.setGroup.Command allow
add_ace group.admin vorpcore.delCurrency.Command allow
add_ace group.admin vorpcore.addweapons.Command allow
add_ace group.admin vorpcore.setJob.Command allow
add_ace group.admin vorpcore.reviveplayer.Command allow
add_ace group.admin vorpcore.delhorse.Command allow
add_ace group.admin vorpcore.delwagons.Command allow
add_ace group.admin vorpcore.healplayer.Command allow
add_ace group.admin vorpcore.wlplayer.Command allow
add_ace group.admin vorpcore.unwlplayer.Command allow
add_ace group.admin vorpcore.ban.Command allow
add_ace group.admin vorpcore.unban.Command allow
add_ace group.admin vorpcore.warn.Command allow
add_ace group.admin vorpcore.unwarn.Command allow

Traductions

Ajouter une Langue

Fichier: vorp_core/translation/ma_langue.lua

Locales['ma_langue'] = {
-- Commandes
['command_help'] = 'Aide des commandes',
['command_teleport'] = 'Téléporter à un waypoint',

-- Messages
['player_dead'] = 'Tu es mort',
['player_respawn'] = 'Appuie sur ~INPUT_CONTEXT~ pour respawn',

-- Erreurs
['no_money'] = 'Pas assez d\'argent',
['invalid_id'] = 'ID de joueur invalide',

-- etc...
}

Puis dans config.lua:

Config.defaultlang = "ma_langue"

Optimisation

Recommandations

server.cfg

# Performance
sv_maxclients 32
sv_enforceGameBuild 1436 # RedM build

# OneSync
onesync on

Base de Données

  • Index sur colonnes fréquemment requêtées
  • Nettoyage régulier des anciennes données
  • Backups automatiques

Scripts

  • Désactive les scripts non utilisés
  • Optimise les boucles et threads
  • Utilise events plutôt que tick loops

Sauvegardes

Base de Données

Commande MySQL:

mysqldump -u user -p database_name > backup_$(date +%Y%m%d).sql

Automatisation: Crée un cron job pour sauvegardes quotidiennes.

Fichiers Ressources

Important à sauvegarder:

  • resources/ - Tous les scripts
  • server.cfg - Configuration serveur
  • txData/ - Données txAdmin

Dépannage Courant

Erreur "unknown command"

  • Vérifie les permissions dans server.cfg
  • Assure-toi que vorp_core est started

Items ne s'affichent pas

  • Vérifie que l'image existe dans vorp_inventory/html/img/
  • Nom du fichier doit correspondre au nom de l'item

Base de données erreur

  • Vérifie la connexion MySQL dans oxmysql config
  • Assure-toi que les tables existent

Joueur ne peut pas se connecter

  • Vérifie la whitelist (si activée)
  • Vérifie les bannissements
  • Vérifie les logs pour erreurs

Ressources Externes Utiles

Documentation

Bases de Données

Outils


Checklist de Configuration

Nouvelle Installation

  • Installer oxmysql
  • Configurer base de données
  • Installer VORP Core
  • Importer SQL de base
  • Configurer server.cfg
  • Ajouter permissions
  • Installer scripts additionnels
  • Tester connexion joueur
  • Configurer Discord webhooks
  • Créer sauvegardes

Ajout de Script

  • Lire la documentation
  • Vérifier dépendances
  • Importer SQL
  • Placer dans resources/
  • Configurer config.lua
  • Ajouter au server.cfg
  • Redémarrer serveur
  • Tester fonctionnalités

Support Technique

Logs Serveur

Localisation: txData/CFXDefault_XXXX.base/data/logs/

Types de logs:

  • console.log - Console serveur
  • server.log - Événements serveur
  • citizen-server-impl.log - Logs système

Console F8 (Client)

Appuie sur F8 en jeu pour ouvrir la console client et voir les erreurs JavaScript/Lua.

Discord Support

Rejoins les Discord officiels pour aide:

  • VORP Discord
  • BCC Discord
  • RedM Development Discord

Notes Finales

Mises à Jour

Garde toujours tes scripts à jour pour bénéficier des derniers fixes et features.

Modifications

Avant de modifier un script, fais toujours une copie de sauvegarde.

Documentation

Consulte toujours les README.md fournis avec chaque script pour instructions spécifiques.