Files
red-valley/docs/server_knowledge.md
2026-03-29 21:41:17 +03:00

16 KiB
Raw Blame History

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

resources/
├── [cfx-default]/           # CFX default resources
├── [framework]/
│   ├── [core]/
│   │   ├── qb-core/         # QBCore framework
│   │   ├── qb-target/       # Target system
│   │   ├── qs-inventory/    # Quasar inventory
│   │   └── no-npc/          # Remove ambient NPCs
│   ├── [base]/
│   │   ├── [auth]/
│   │   │   ├── 17mov_CharacterSystem/   # Character select + creation
│   │   │   ├── 17mov-plugin-char-creator/ # Spawn outfit in creator
│   │   │   └── connectqueue/             # Queue system
│   │   ├── [ui]/
│   │   │   └── 17mov_Hud/   # HUD system
│   │   └── [jobs]/
│   │       └── [legal]/
│   │           ├── [police]/
│   │           │   ├── wasabi_police/  # Police job (provides qb-policejob)
│   │           │   ├── codem-mdt/     # Police MDT
│   │           │   ├── codem-dispatch/ # Dispatch alerts
│   │           │   └── codem-mdtProp/ # MDT prop
│   │           ├── [ambulance]/
│   │           │   └── wasabi_ambulance/ # Ambulance job (provides qb-ambulancejob)
│   │           ├── [mechanic]/
│   │           │   └── t1ger_mechanic/ # Mechanic job
│   │           └── [tuner]/
│   │               └── t1ger_tuningsystem/ # Tuning system
│   ├── [depends]/
│   │   ├── bob74_ipl/        # IPL loader v2.6.0 (interiors, DLC maps)
│   │   ├── ox_lib/           # Overextended lib
│   │   ├── PolyZone/         # Zone management
│   │   ├── progressbar/      # Progress bars
│   │   ├── screenshot-basic/ # Screenshots
│   │   ├── VehicleDeformation/ # Vehicle damage
│   │   ├── wasabi_bridge/    # Wasabi framework bridge
│   │   └── xsound/          # Sound system
│   └── [addons]/
│       ├── 0r_idcard/        # ID card system
│       ├── bit-driverschool/ # Driving school
│       ├── qs-advancedgarages/ # Garages (Quasar)
│       ├── qs-housing/       # Housing (Quasar)
│       ├── qs-shops/         # Shops (Quasar)
│       └── qb-weathersync/   # Weather & time
├── [stream]/
│   ├── [admin-outfit]/AdminPack/  # Admin clothing streaming
│   ├── [mlos]/               # Map interiors
│   │   ├── soloty-southside-custom/ # Mechanic shop MLO (t1ger_mechanic blips/markere)
│   │   ├── rfc_los_santos_customs/  # Los Santos Customs MLO (RFC Mapping)
│   │   ├── cfx-fm-fleeca-banks-v2/  # Fleeca banks
│   │   ├── cfx-fm-mrpd/            # Mission Row PD
│   │   └── ...                      # + hospital, prison, gas stations, etc.
│   └── [vehs]/               # Custom vehicles
├── [voice]/
│   └── pma-voice/            # Voice system
└── luxu_admin/               # Admin panel (top-level)

Load Order (resources.cfg)

[cfx-default] → ox_lib → [core] → [depends] → [voice] → [auth] → [ui] →
[jobs] → [addons] → kq_carheist → [mlos] → [vehs] → minimap → phone-props →
[casino] → [stream] → luxu_admin → [weapons]

🎭 Character & Outfit System

Character Creation Flow

  1. Player connects → connectqueue (priority queue)
  2. 17mov_CharacterSystem → character select / create
  3. New charactercreator preset (DNA + Details only, 2 tabs)
  4. 17mov-plugin-char-creator → per-frame outfit loop on ped in creator (citizenid tracking)
  5. After save → ApplySpawnOutfit() → gender-specific default clothes
  6. SaveCurrentSkin → persist to DB (playerskins)

Skin Menu Presets

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 dutySaveCurrentOutfit() saves civilian clothes → ApplyOutfit(jobOutfit) applies uniform
  • OFF dutyApplyOutfit(savedCivilOutfit) restores civilian clothes
  • Outfit data per job stored in 17mov_CharacterSystem/configs/Config.luaConfig.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

Component 1  = mask          Component 5  = bag
Component 3  = arms          Component 6  = shoes
Component 4  = pants         Component 7  = accessory (neck)
Component 8  = t-shirt       Component 9  = vest
Component 11 = torso2        Prop 0 = hat, Prop 1 = glasses

🗄️ 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
    exports['17mov_Hud']:ShowNotification(message, type)
    
  • 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

qbcore.god → group.admin → qbcore.admin → qbcore.mod

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)
  • Console Wrapper (start_console.ps1): start.bat rămâne foreground (raw output), adaugă în .bat o linie care lansează și start_console.ps1 într-un al doilea terminal (organizat). Abordare: 2 ferestre — raw debug + clean display. Demo: console_demo.ps1. Template: docs/console_display_template.md
  • 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)

📋 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)

exports['qs-inventory']:AddItem(source, item, amount, slot, info)
exports['qs-inventory']:RemoveItem(source, item, amount, slot)
exports['qs-inventory']:GetInventory(source)
exports['qs-inventory']:RegisterStash(id, slots, weight)

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)

# Pornire server simplu
cmd /c "e:\FiveMserver\server\start.bat"
  • 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)

🚗 Cfx.re Assets Overview (142 total)

Key vendors: 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-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
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