Red Valley Roleplay — Server Knowledge Base
🔑 Quick Reference
Key
Value
Server Name
Red Valley Roleplay
Framework
QBCore
Database
MySQL (red-valley) via oxmysql
Character System
17mov_CharacterSystem v1.2.5
Admin Panel
Luxu Admin
Inventory
qs-inventory (Quasar)
Phone
qs-smartphone-pro (Quasar)
Garages
qs-advancedgarages v5.0.20 (Quasar)
Housing
qs-housing (Quasar)
Vehicle Keys
qs-vehiclekeys (Quasar)
Police Job
wasabi_police v1.10.8 (Wasabi)
Ambulance Job
wasabi_ambulance v1.14.2 (Wasabi)
Police MDT
codem-mdt (CodeM)
Mechanic Job
t1ger_mechanic
HUD
17mov_Hud
Voice
pma-voice
Target System
qb-target
Server Port
30110
Max Clients
8
Game Build
3570
Locale
ro-RO
OneSync
On (Infinity + Beyond)
phpMyAdmin
http://localhost/phpmyadmin/
📁 Resource Structure
Load Order (resources.cfg)
🎭 Character & Outfit System
Character Creation Flow
Player connects → connectqueue (priority queue)
17mov_CharacterSystem → character select / create
New character → creator preset (DNA + Details only, 2 tabs)
17mov-plugin-char-creator → per-frame outfit loop on ped in creator (citizenid tracking)
After save → ApplySpawnOutfit() → gender-specific default clothes
SaveCurrentSkin → persist to DB (playerskins)
Context
Preset
Tabs Available
Character Creator
creator
DNA + Details (2 tabs)
Clothing Shop / Ambulance / Boss
shop
Details + Clothing + Accessories (3 tabs)
Admin /skin command
skinCommand
All 4 tabs
Spawn Outfit Defaults
Male: torso2=539/2, pants=200/2, arms=96/0, shoes=77/8, t-shirt=15/0
Female: torso2=583/1, pants=214/1, arms=18/0, shoes=81/10, t-shirt=15/0
No mask for either gender
Job Outfit System (pattern from mechanic)
ON duty → SaveCurrentOutfit() saves civilian clothes → ApplyOutfit(jobOutfit) applies uniform
OFF duty → ApplyOutfit(savedCivilOutfit) restores civilian clothes
Outfit data per job stored in 17mov_CharacterSystem/configs/Config.lua → Config.Outfits['JOBNAME']
Structure: [grade][outfitIndex]{outfitLabel, outfitData} for male and female
Workflow defined in .agents/workflows/job-outfit-setup.md
IMPORTANT : Outfits NU apar la clothing shop-uri publice — se afișează DOAR prin Config.ClothingRooms
ClothingRooms verifică job.name == v.requiredJob (stores.lua:285)
Wasabi cloakroom pe QBCore e HIDDEN automat ("WILL NOT SHOW IN QBCORE")
GTA Component IDs
🗄️ Key Cross-Resource Dependencies
Central File
Resources That Depend On It
qb-core/shared/jobs.lua
wasabi_police, wasabi_ambulance, codem-mdt, codem-dispatch, luxu_admin, t1ger_mechanic, qs-inventory
qb-core/shared/items.lua
qs-inventory, qs-shops, wasabi_police (bobby_pin, tracking_bracelet, handcuffs)
qb-core/server/events.lua
All QBCore resources
ox_lib/locales/ro.json
All translated notifications
17mov_CharacterSystem/configs/Bridge.lua
Bridge selections: clothing, apartments, housing
17mov_CharacterSystem/configs/Config.lua
t1ger_mechanic (outfit system), wasabi_police (outfit system)
wasabi_bridge/
wasabi_police, wasabi_ambulance
resources.cfg
Ensure order — ensure [jobs] loads all legal jobs
Bridge Configuration (17mov_CharacterSystem/configs/Bridge.lua)
Config.Housing = "standalone" (qs-housing not auto-detected)
Config.Apartments = "standalone"
Clothing bridge: qb-clothing
🔔 Notification System
Standard : 17mov_Hud native notifications
Previous systems migrated from: qs-notify, codem-notification, jg-hud
🛡️ Admin & Permissions
Admin Identifiers
FiveM ID
Name
Permissions
fivem:44269
Kotzu
group.admin
fivem:6428737
cata
group.admin + qbcore.god
steam:11000013f508340
rausse
group.admin + qbcore.god
fivem:16062886
kotzu pc
group.admin + qbcore.god
Permission Hierarchy
Luxu Admin
API Key configured in server.cfg
Web panel with outfit system (Clone Yourself feature)
set luxu_admin_api_key in server.cfg
📦 Database Notes
DB Name : red-valley
Connection : server=127.0.0.1;database=red-valley;userid=root; (via oxmysql)
Character Delete (qb-core/server/player.lua): Many default tables commented out (apartments, bank_accounts, crypto_transactions, phone_invoices, phone_messages, player_contacts, player_houses, player_mails) — only players, playerskins, player_outfits, player_vehicles active
⚠️ PENDING : crypto_history table has ~2,343 rows causing oversized queries — needs periodic cleanup or LIMIT
⏳ Pending Tasks (from changelog)
wasabi_police install : Copiat din _preLoad, jail='rcore', items adăugate în qs-inventory
wasabi_ambulance : Deja pe server (v1.14.2)
wasabi_police config review : Eliminat 'reporter' din policeJobs, confirmat cloakroom QBCore=17mov (2026-03-29)
wasabi_police outfit : Config.Outfits['police'] EXISTA DEJA în 17mov (grade 0-4, male+female, 5 variante) (2026-03-29)
Synapse Map update : wasabi_police + wasabi_ambulance nodes + conexiuni (2026-03-29)
t1ger_tuningsystem debug : Eliminat 6× console.log din NUI JS web/assets/index-DkGtvbUP.js (2026-03-29)
License Check NUI Custom : Resursa rv-license-dialog cu NUI custom matching tema Job Center (bg #0D0F11, accent #ff1a35, border #121416). Backup ox_lib comentat în codul bridge/client. Ensure adăugat în resources.cfg.
License Check Server Logic : Verificare metadata.licences.driver în Job Center (bridge/qb/server/main.lua) + GarbageCollector (server/functions.lua). Joburi blocate: garbage, deliverer, postman, lumberjack, bus.
License Check Replicare : Adaugă check permis în IsHaveRequiredItem() la Deliverer, Postman, Lumberjack, Busjob (aceeași structură ca GarbageCollector)
Webhooks qs-smartphone-pro: configure in server/custom/webhooks/webhooks.lua
Webhooks qs-advancedgarages: configure in server/custom/misc/*.lua
oxmysql oversized query : crypto_history cleanup (DELETE rows older than 7 days)
Version updates : qs-inventory 3.7.16→3.7.17, qs-vehiclekeys 4.0.13→4.0.29, t1ger_mechanic 3.6.7→3.6.9
Admin outfit setup : Configure Luxu panel Clone Yourself + test outfit stack
Admin jacket blacklist : Add in Skin.BlacklistedInputValues
spawn_mask item: Custom usable item (mask 134/2 male, 134/3 female)
Copiat rv-chat din VPS → LOCAL : _preLoad/server-v2-main/resources/[framework]/[base]/[ui]/rv-chat/ → resources/[framework]/[base]/[ui]/rv-chat/
Copiat codem-radio din VPS → LOCAL : _preLoad/server-v2-main/resources/[voice]/codem-radio/
Sincronizare VPS : Upload rv-license-dialog/ + ensure line + modificări JobCenter/GarbageCollector pe VPS
qs-inventory update : Portal v3.7.17 → LOCAL (merge safe: păstrează shared/items.lua, config/*, html/images/*, client/custom/**, server/custom/**)
KQ plugins path unify : Pe VPS sunt în [kq]/, pe LOCAL direct în [addons]/ — de unificat
📋 Quasar Resources Documentation Status
Resource
Status
qs-inventory
✅ Documented (docs/qs_inventory_reference.md)
qs-housing
⚠️ Partial
qs-advancedgarages
❌ Not documented
qs-shops
❌ Not documented
qs-smartphone-pro
❌ Not documented
qs-vehiclekeys
❌ Not documented
🔧 Useful Commands & Exports
qs-inventory (Server)
Admin Commands
/getoutfit — Print clothing component IDs (from t1ger_mechanic/getoutfit.lua)
/skin — Open full skin menu (all 4 tabs, skinCommand preset)
🖥️ Server Start (din IDE terminal)
CWD : e:\FiveMserver\server
start.bat v2.0 = launcher compact (RED VALLEY header, [OK] checks, separator =======)
Console Wrapper Demo : console_demo.ps1 — ANSI Shadow banner, loading bar, categorized output
Console Template : docs/console_display_template.md — full display spec + char mappings
Next : start_console.ps1 — real wrapper (pipes start.bat → filtered display)
Stop : Ctrl+C → apoi tastezi quit în consolă
Artifact : E:\FiveMserver\server\artifacts\FXServer.exe
IMPORTANT : Nu porni serverul de mai multe ori — verifică cu Get-Process FXServer înainte
🔇 Console Cleanup History
Resursă
Fix
Metodă
t1ger_mechanic
DETECTED SYSTEMS/GARAGE/KEYS
Comentat print-uri (bridge/init.lua)
t1ger_tuningsystem
6× console.log NUI
Eliminat din web/assets
t1ger_tuningsystem
has mechanic system
Comentat print (shared/config.lua:258)
rcore_casino
[Casino] Framework/drunk
Print filter override (const.lua)
pma-voice
Starting/finished init
Comentat print-uri (client/init/init.lua)
qs-inventory
jobs_creator warning
Comentat Warning() (jaksam.lua:5)
qs-vehiclekeys
Debug prints
Config.Debug = false (deja setat)
bit-driverschool
5× outdated warning
Comentat version.lua din fxmanifest
17mov_CharacterSystem
ASCII banner + changelog
Config: DisplayAsciiArt/Changelog/Files = false
cfx-gabz-mapdata
Parse error
⚠️ Nerezolvabil (compiled bytecode)
📂 Key File Locations
Purpose
Path
Server config
server.cfg
Resource load order
resources.cfg
QBCore jobs
resources/[framework]/[core]/qb-core/shared/jobs.lua
QBCore items
resources/[framework]/[core]/qb-core/shared/items.lua
Character system
resources/[framework]/[base]/[auth]/17mov_CharacterSystem/
Skin presets
17mov_CharacterSystem/configs/Skin.lua
Job outfits config
17mov_CharacterSystem/configs/Config.lua
Bridge config
17mov_CharacterSystem/configs/Bridge.lua
HUD config
resources/[framework]/[base]/[ui]/17mov_Hud/Config.lua
Mechanic job
resources/[framework]/[base]/[jobs]/[legal]/[mechanic]/t1ger_mechanic/
Police job
resources/[framework]/[base]/[jobs]/[legal]/[police]/wasabi_police/
Ambulance job
resources/[framework]/[base]/[jobs]/[legal]/[ambulance]/wasabi_ambulance/
Police MDT
resources/[framework]/[base]/[jobs]/[legal]/[police]/codem-mdt/
Dispatch
resources/[framework]/[base]/[jobs]/[legal]/[police]/codem-dispatch/
Changelog
changelog.md
Cross-resource tracking
cross_resource_modifications.md
DB SQL dump
red-valley.sql (430KB)
Server start script
start.bat
Pre-load assets
_preLoad/
Cfx.re catalog
docs/cfx_assets_catalog.md (142 assets total)
Resource comparison
docs/resource_comparison.md (LOCAL vs VPS diff)
NUI Simulator
nui-simulator/ (Node.js standalone, node server.js --open, port 3200)
VPS backup
_preLoad/server-v2-main/resources/ (snapshot producție)
🚗 Cfx.re Assets Overview (142 total)
Key devTeams: Quasar Store, ak4y, Malizniakk (17mov), T1GER, Kuzkay, rcore, wasabirobby, ThaC (CodeM), Eichenholz (sky_), OnexScripts, Gabz, 0Resmondev
Notable assets on server:
17mov Character System, 17mov Hud, 17mov multiplayer jobs (12+)
T1GER Mechanic System, Tuning System, Car Lift, Prop Pack
Quasar: Inventory, Housing, Garages, Shops, Smartphone PRO, Vehicle Keys, Banking, Fuel, etc.
Wasabi: Police, Ambulance, Bridge, Evidence, Crutch
rcore: Casino, Prison, Doorlock, Tattoos, Clothes, Fuel, Stats, Shortcuts
Luxu Admin
Various MLO packs (Gabz PDM, MRPD, Vespucci LSPD, Fleeca Banks)
📜 Changelog Summary (reverse chronological)
Date
Focus
2026-03-30
NUI Simulator standalone (Node.js), Resource comparison LOCAL vs VPS (raport complet), qs-inventory item icons sync (7 imagini VPS→LOCAL), rv-chat descoperit pe VPS (lipsește local)
2026-03-29
wasabi_police install + config review, console cleanup (10 resurse), start.bat v2.0, bit-driverschool fix, 17mov banner off, bob74_ipl v2.6.0, Synapse Map, License Check system (Job Center + GarbageCollector), rv-license-dialog NUI
2026-03-28
Driving School integration, ID Card notifications, Weather sync
2026-03-27
Spawn Outfit System, Character Delete fix, Skin presets, Char Creator plugin
2026-03-04
Mechanic Job Outfit System (auto-equip on duty)
2026-03-03
Mechanic Garage & Keys, 6 Bug Fixes, 17mov update v1.2.4→v1.2.5
2026-03-02
Server Architecture Research, Cfx.re Audit, Admin Outfit Research
2026-03-01
HUD Migration (jg-hud→17mov), Luxu Admin update, No-NPC, QBCore updates
2026-02-27
Luxu Admin install, rv-mdt creation, BMW M3 F80, QBCore server events refactor
2026-02-19
Remove mChat, resource updates
2026-02-17
QS-Inventory core update
2026-02-02
Remove codem-pausemenu, vehicle swaps, TLS
2026-01-19
Helnius Xero24 Gas Station MLO
2026-01-18
ConnectQueue, Wasabi Police, Bank MLO, Codem Radio, QS-Shops
2026-01-07
Cache cleanup
🔐 License Check System (Red Valley Custom)
Architecture
Resursa rv-license-dialog
Locație : resources/[framework]/[addons]/rv-license-dialog/
Fișiere : fxmanifest.lua, client.lua, html/index.html
Event : rv:showLicenseDialog (server → client)
NUI Callbacks : close (închide dialog), route (waypoint la școală)
Coordonate Școală : vector3(214.45, -1400.163, 30.57) (bit-driverschool)
Tema : Job Center (bg #0D0F11, accent #ff1a35, border #121416)
Backup ox_lib : Comentat în bridge/qb/client/main.lua și client/functions.lua
Jobs cu License Check
Job
Locație Check
Note
garbage
✅ Job Center + ✅ IsHaveRequiredItem
Implementat complet
deliverer
✅ Job Center
TODO: IsHaveRequiredItem
postman
✅ Job Center
TODO: IsHaveRequiredItem
lumberjack
✅ Job Center
TODO: IsHaveRequiredItem
bus
✅ Job Center
TODO: IsHaveRequiredItem
17mov Jobs — Editable Files (escrow_ignore)
Toate resursele 17mov au fișiere encrypted (FXAP) dar următoarele sunt editabile :
Config.lua — configurație completă
client/functions.lua — hooks client-side (Notify, ChangeClothes, etc.)
client/target.lua — target system hooks
server/functions.lua — IsHaveRequiredItem(), Pay(), PayPenalty(), GetPlayerJob()
locale/*.lua — traduceri
bridge/**/*.lua — framework bridge (QB/ESX)
Driver License Storage (bit-driverschool → QBCore)
🎯 Interaction System (qb-target)
De la 2026-03-31 , toate resursele folosesc qb-target (third-eye system) ca sistem de interacțiune.
Config Flag per DevTeam
DevTeam
Config Key
Valoare
17mov
Config.UseTarget = true
în Config.lua
Quasar
Config.UseTarget = true
în config/config.lua
QBCore
setr UseTarget true
în server.cfg
rcore
UseTarget = true, TargetZoneType = 3
în config.lua
aty_busjob
Target = "qb"
în config.lua
wasabi
Config.useTarget = true
era deja activat
T1GER
via t1ger_lib
era deja activat
Excepție
qs-advancedgarages — nu suportă qb-target (doar ox_target / qb-radialmenu / none)
🖥️ 17mov_Hud — API Reference
Full docs: docs/17mov-hud-api-reference.md
Sursă: https://docs.17movement.net/advanced-hud/
Exports disponibile din alte resurse
Export
Ce face
ToggleDisplay(bool)
Ascunde/afișează HUD complet
HideRadar(bool)
Forțează ascundere minimap
ShowNotification(text, type, title, time)
Notificare (info/error/success)
ShowHelpNotification(text)
Help text (suportă INPUT_CONTEXT)
HideHelpNotification()
Ascunde help
ShowHelpNotificationWhile(text)
Help pt while loops (auto-hide)
StartProgress(action, onStart, onTick, onFinish)
Progress bar cu animație + props
StopProgress()
Oprește progress bar
OpenSettings()
Deschide setări HUD
GetTheme(callback)
Returnează culori HUD ca hex
GetSettings(callback)
Returnează setări curente
Custom Indicators (adaugă elemente noi pe HUD)
Fișiere NUI Configurabile
Fișier
Locație
Ce controlează
colors.css
17mov_CharacterSystem/web/web/colors.css
Toate culorile NUI
config.json (loading)
17mov_CharacterSystem/web/web/loadingscreen/config.json
Loading screen
images/ (loading)
17mov_CharacterSystem/web/web/loadingscreen/images/
Logo + slides
songs/ (loading)
17mov_CharacterSystem/web/web/loadingscreen/songs/
Muzică loading
⚠️ Folderul web/loadingscreen/ (fără web/) NU e cel activ! Config-ul real e în web/web/loadingscreen/.
Culori Red Valley (aplicate 2026-04-01)
🆕 Resurse Custom Red Valley
rv-props (Custom Props)
Locație : resources/[stream]/rv-props/
Scop : Props custom branded (prop_rv_tablet)
Consumat de : 17mov_JobCenter (tabletă animație)
Tip : Standalone (stream, zero cod Lua)
rv-qb-target (Target QoL — în dezvoltare)
Locație : resources/[framework]/[core]/rv-qb-target/
Scop : Highlight entități interactabile când qb-target e activ (ALT)
Design : DrawSprite deasupra capului, vizibil prin ziduri, doar entități cu target înregistrat
Depinde de : qb-target (exports + event trigger)
Status : Planificat, research complet, cod nescris