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

342 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 character**`creator` 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 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
```
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
```lua
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)
- [x] **wasabi_police install**: Copiat din _preLoad, jail='rcore', items adăugate în qs-inventory
- [x] **wasabi_ambulance**: Deja pe server (v1.14.2)
- [x] **wasabi_police config review**: Eliminat 'reporter' din policeJobs, confirmat cloakroom QBCore=17mov (2026-03-29)
- [x] **wasabi_police outfit**: Config.Outfits['police'] EXISTA DEJA în 17mov (grade 0-4, male+female, 5 variante) (2026-03-29)
- [x] **Synapse Map update**: wasabi_police + wasabi_ambulance nodes + conexiuni (2026-03-29)
- [x] **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)
```lua
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)
```powershell
# 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 |