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

7.6 KiB

Console Display Template — start.bat to PowerShell

Reference document for the custom FXServer console wrapper display format.

Banner — ANSI Shadow Font (figlet)

The banner uses the ANSI Shadow figlet font for "RED VALLEY". Because PowerShell terminals have encoding issues with Unicode characters stored directly in .ps1 files, we use a template + replacement system:

Character Mapping (ASCII → Unicode)

Placeholder Unicode Char Code Point Name
# [char]9608 Full Block
> [char]9559 Box Top-Right
< [char]9556 Box Top-Left
[ [char]9562 Box Bottom-Left
] [char]9565 Box Bottom-Right
~ [char]9552 Double Horizontal
! [char]9553 Double Vertical

Banner Templates (6 lines)

######> #######>######>     ##>   ##> #####> ##>     ##>     #######>##>   ##>
##<~~##>##<~~~~]##<~~##>    ##!   ##!##<~~##>##!     ##!     ##<~~~~][##> ##<]
######<]#####>  ##!  ##!    ##!   ##!#######!##!     ##!     #####>   [####<] 
##<~~##>##<~~]  ##!  ##!    [##> ##<]##<~~##!##!     ##!     ##<~~]    [##<]  
##!  ##!#######>######<]     [####<] ##!  ##!#######>#######>#######>   ##!   
[~]  [~][~~~~~~][~~~~~]       [~~~]  [~]  [~][~~~~~~][~~~~~~][~~~~~~]   [~]   

Rendered Output (what the user sees)

██████╗ ███████╗██████╗     ██╗   ██╗ █████╗ ██╗     ██╗     ███████╗██╗   ██╗
██╔══██╗██╔════╝██╔══██╗    ██║   ██║██╔══██╗██║     ██║     ██╔════╝╚██╗ ██╔╝
██████╔╝█████╗  ██║  ██║    ██║   ██║███████║██║     ██║     █████╗   ╚████╔╝ 
██╔══██╗██╔══╝  ██║  ██║    ╚██╗ ██╔╝██╔══██║██║     ██║     ██╔══╝    ╚██╔╝  
██║  ██║███████╗██████╔╝     ╚████╔╝ ██║  ██║███████╗███████╗███████╗   ██║   
╚═╝  ╚═╝╚══════╝╚═════╝       ╚═══╝  ╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝   ╚═╝   

Color Gradient

  • Lines 1-3: Red (ForegroundColor)
  • Lines 4-6: DarkRed (ForegroundColor)

Subtitle Bar

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄  (78x [char]9604, DarkRed)
ROLEPLAY SERVER                v2.0 | vlxre.cata
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  (78x [char]9600, DarkRed)

Colors: ROLEPLAY SERVER = White, v2.0 = DarkGray, | = DarkRed, vlxre.cata = DarkGray


Console Layout Order

Phase 1: Loading Bar (single, in-place)

   Loading  resources...
   ██████████████████████████████████████████████████ 100% COMPLETE
   ──────────────────────────────────────────────────────────
  • Green filled blocks [char]9608 + DarkGray empty blocks [char]9617
  • Updates on same line using \r (carriage return)
  • No blank line between loading text, bar, and separator

Phase 2: ERRORS + WARNINGS (immediately after separator)

   ■ ERRORS (Red)
     X resource_name  error description

   ■ WARNINGS (DarkYellow)
     ! resource_name  warning description

Phase 3: Categorized Resource Summary (by dev team)

Each category has a colored ([char]9632) bullet and numbered [NR] entries:

Category Color Notes
QBCore Framework ANSI RGB Orange (255,140,0) PowerShell DarkYellow looks yellow, use ANSI escape
17mov Malizniakk Magenta 17mov_CharacterSystem, 17mov-plugin-char-creator, 17mov_Hud
Quasar Store Cyan qs-inventory, qs-advancedgarages, qs-housing, qs-shops, qs-smartphone-pro, qs-vehiclekeys
T1GER Yellow t1ger_mechanic, t1ger_tuningsystem
Wasabi Scripts Green wasabi_police, wasabi_ambulance, wasabi_bridge
CodeM DarkYellow codem-mdt, codem-dispatch, codem-mdtProp
rcore DarkCyan rcore_casino, rcore_prison, rcore_doorlock
MLOs Map Interiors DarkGreen MLO entries with streaming warnings show [N warn] in DarkYellow
Other DarkGray ox_lib, PolyZone, pma-voice, luxu_admin, etc.

Phase 4: Status + Updates

   ■ STATUS (Green)
     + Database connected - MariaDB 10.4.32
     + cfx.re Nucleus: kotzu-el7krp.users.cfx.re

   ■ UPDATES (Magenta)
     ^ resource_name           old_ver -> new_ver
   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄  (58x [char]9604, DarkGray)
    █ SERVER READY │ 64 loaded │ 43 tracked │ HH:mm:ss
   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  (58x [char]9600, DarkGray)

   RV>   (Cyan prompt — replaces cfx>)

ANSI RGB Colors (PowerShell)

PowerShell's 16 standard colors don't include true orange. Use ANSI escape sequences:

$esc = [char]27
$orange = "$esc[38;2;255;140;0m"   # true orange
$reset = "$esc[0m"

# Usage:
Write-Host "${orange}${reset} " -NoNewline

Note

: DarkYellow renders as yellow on most modern terminals. Always use ANSI RGB for orange.

Conversion Function (PowerShell)

function Get-BannerLine {
    param([string]$t)
    return $t.Replace('#',([string][char]9608)).Replace('>',([string][char]9559)).Replace('<',([string][char]9556)).Replace('[',([string][char]9562)).Replace(']',([string][char]9565)).Replace('~',([string][char]9552)).Replace('!',([string][char]9553))
}

Other Unicode Characters Used

Char Code Usage
[char]9608 Progress bar filled, banner
[char]9617 Progress bar empty
[char]9604 Separator bar bottom
[char]9600 Separator bar top
[char]9472 Thin separator line
[char]9474 Footer column separator
[char]9632 Category bullet

Filter Rules (for real wrapper — start_console.ps1)

HIDE (suppress completely)

  • MiB of physical memory — asset memory warnings
  • Oversized assets can and WILL — continuation
  • citizen-server-impl.*fff|cccc|xx.*rr — cfx.re ASCII art
  • Creating script environments for — c-scripting-core noise
  • Scanning resources. / Found \d+ resources. — startup scan
  • completely imported, these furniture — DLC furniture spam
  • Empty [citizen-server-impl] lines

ERROR (Red)

  • SCRIPT ERROR, Error:, attempt to, unexpected symbol, stack traces

WARNING (DarkYellow)

  • [WARNING], Warning:, oversized result set, is NOT up to date, SELECT * FROM

SUCCESS (Green)

  • Started resource, Authenticated, Database server connection established, Up to date, Discord bot logged in

INFO (Cyan)

  • New version available, CACHED ALL, Multi-identifier system ready

File Reference

  • Demo: e:\FiveMserver\server\console_demo.ps1 — simulation with sample data
  • Production: e:\FiveMserver\server\start_console.ps1 — real wrapper (TODO)
  • Fallback: e:\FiveMserver\server\start.bat — original unfiltered startup