335 lines
13 KiB
PowerShell
335 lines
13 KiB
PowerShell
# ============================================================
|
|
# RED VALLEY - Console Wrapper DEMO v3
|
|
# Block-art banner + single loading bar + categorized summary
|
|
# ============================================================
|
|
|
|
$Host.UI.RawUI.WindowTitle = "Red Valley Roleplay - Server Console"
|
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
$esc = [char]27
|
|
$orange = "$esc[38;2;255;140;0m"
|
|
$reset = "$esc[0m"
|
|
|
|
function Get-BannerLine {
|
|
# Converts ASCII template to Unicode box-drawing chars
|
|
# # = full block, > = top-right corner, < = top-left corner
|
|
# [ = bottom-left, ] = bottom-right, ~ = horizontal double, ! = vertical double
|
|
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))
|
|
}
|
|
|
|
function Write-Banner {
|
|
Clear-Host
|
|
Write-Host ""
|
|
# ANSI Shadow figlet font - RED VALLEY
|
|
$lines = @(
|
|
'######> #######>######> ##> ##> #####> ##> ##> #######>##> ##>',
|
|
'##<~~##>##<~~~~]##<~~##> ##! ##!##<~~##>##! ##! ##<~~~~][##> ##<]',
|
|
'######<]#####> ##! ##! ##! ##!#######!##! ##! #####> [####<] ',
|
|
'##<~~##>##<~~] ##! ##! [##> ##<]##<~~##!##! ##! ##<~~] [##<] ',
|
|
'##! ##!#######>######<] [####<] ##! ##!#######>#######>#######> ##! ',
|
|
'[~] [~][~~~~~~][~~~~~] [~~~] [~] [~][~~~~~~][~~~~~~][~~~~~~] [~] '
|
|
)
|
|
|
|
for ($i = 0; $i -lt $lines.Count; $i++) {
|
|
$color = if ($i -lt 3) { "Red" } else { "DarkRed" }
|
|
Write-Host " $(Get-BannerLine $lines[$i])" -ForegroundColor $color
|
|
}
|
|
|
|
Write-Host ""
|
|
$lb = ([string][char]9604) * 78
|
|
$ub = ([string][char]9600) * 78
|
|
Write-Host " $lb" -ForegroundColor DarkRed
|
|
Write-Host " " -NoNewline
|
|
Write-Host "ROLEPLAY SERVER" -NoNewline -ForegroundColor White
|
|
Write-Host " v2.0" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host " | " -NoNewline -ForegroundColor DarkRed
|
|
Write-Host "vlxre.cata" -ForegroundColor DarkGray
|
|
Write-Host " $ub" -ForegroundColor DarkRed
|
|
Write-Host ""
|
|
}
|
|
|
|
function Update-ProgressBar {
|
|
param([int]$Current, [int]$Total, [string]$ResourceName)
|
|
|
|
$percent = [math]::Round(($Current / $Total) * 100)
|
|
$barWidth = 50
|
|
$filled = [math]::Round(($Current / $Total) * $barWidth)
|
|
$empty = $barWidth - $filled
|
|
|
|
$barFull = ([string][char]9608) * $filled
|
|
$barEmpty = ([string][char]9617) * $empty
|
|
$padName = $ResourceName.PadRight(26)
|
|
$padPercent = "$percent%".PadLeft(4)
|
|
|
|
Write-Host "`r $barFull" -NoNewline -ForegroundColor Green
|
|
Write-Host "$barEmpty " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "$padPercent " -NoNewline -ForegroundColor White
|
|
Write-Host "$padName" -NoNewline -ForegroundColor DarkCyan
|
|
}
|
|
|
|
function Write-Sep {
|
|
$line = ([string][char]9472) * 58
|
|
Write-Host " $line" -ForegroundColor DarkGray
|
|
}
|
|
|
|
function Write-SepBold {
|
|
$line = ([string][char]9608) * 58
|
|
Write-Host " $line" -ForegroundColor DarkGray
|
|
}
|
|
|
|
# ============================================================
|
|
# DEMO
|
|
# ============================================================
|
|
|
|
Write-Banner
|
|
|
|
# --- Config Info ---
|
|
Write-Host " " -NoNewline
|
|
Write-Host "[OK]" -NoNewline -ForegroundColor Green
|
|
Write-Host " Config " -NoNewline -ForegroundColor White
|
|
Write-Host ": e:\FiveMserver\server\server.cfg" -ForegroundColor DarkGray
|
|
Write-Host " " -NoNewline
|
|
Write-Host "[OK]" -NoNewline -ForegroundColor Green
|
|
Write-Host " Artifact " -NoNewline -ForegroundColor White
|
|
Write-Host ": E:\FiveMserver\server\artifacts" -ForegroundColor DarkGray
|
|
Write-Host " " -NoNewline
|
|
Write-Host "[OK]" -NoNewline -ForegroundColor Green
|
|
Write-Host " Server " -NoNewline -ForegroundColor White
|
|
Write-Host ": E:\FiveMserver\server\artifacts\FXServer.exe" -ForegroundColor DarkGray
|
|
Write-Host ""
|
|
Write-Host " Starting >> " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "E:\FiveMserver\server\artifacts\FXServer.exe" -ForegroundColor Yellow
|
|
Write-Host " Data dir >> " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "e:\FiveMserver\server\" -ForegroundColor Yellow
|
|
Write-Host ""
|
|
|
|
Write-Host " Loading $totalResources resources..." -ForegroundColor DarkGray
|
|
|
|
# All resources for loading bar
|
|
$allResources = @(
|
|
"baseevents","mapmanager","sessionmanager","spawnmanager",
|
|
"ox_lib","qb-core","qb-target","qs-inventory","no-npc",
|
|
"bob74_ipl","PolyZone","progressbar","screenshot-basic",
|
|
"VehicleDeformation","wasabi_bridge","xsound","pma-voice",
|
|
"connectqueue","17mov_CharacterSystem","17mov-plugin-char-creator",
|
|
"17mov_Hud","wasabi_police","wasabi_ambulance","codem-mdt",
|
|
"codem-dispatch","codem-mdtProp","t1ger_mechanic","t1ger_tuningsystem",
|
|
"jo_towtruck","mBossmenu","0r_idcard","bit-driverschool",
|
|
"qs-advancedgarages","qs-housing","qs-shops","qb-weathersync",
|
|
"kq_carheist","qs-smartphone-pro","qs-vehiclekeys",
|
|
"rcore_casino","rcore_prison","rcore_doorlock",
|
|
"cfx-fm-fleeca-banks-v2","cfx-fm-mrpd","cfx-gabz-mapdata",
|
|
"soloty-southside-custom","rfc_los_santos_customs",
|
|
"patoche_bigbenny_original","octavista_vespuccilspd",
|
|
"wxmaps_commons","wxmaps_lshospital_v","wxmaps_lshospital",
|
|
"ps-cayomansion","verpi_driving_school","rbmwm3f80",
|
|
"minimap","phone-props","squidgame","AdminPack",
|
|
"KawaiixQuasar_props","KillstorexQuasar_props",
|
|
"lunaticstudio_promo001","murm_dec_pack","luxu_admin"
|
|
)
|
|
|
|
$totalResources = $allResources.Count
|
|
|
|
# Single in-place progress bar
|
|
for ($i = 0; $i -lt $totalResources; $i++) {
|
|
Update-ProgressBar ($i + 1) $totalResources $allResources[$i]
|
|
Start-Sleep -Milliseconds 20
|
|
}
|
|
Update-ProgressBar $totalResources $totalResources "COMPLETE"
|
|
Start-Sleep -Milliseconds 300
|
|
Write-Host ""
|
|
Write-Sep
|
|
|
|
$b1 = "["
|
|
$b2 = "]"
|
|
$sq = ([string][char]9632) # small square
|
|
$n = 1
|
|
|
|
# --- ERRORS ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Red
|
|
Write-Host "ERRORS" -ForegroundColor Red
|
|
Write-Host " X cfx-gabz-mapdata " -NoNewline -ForegroundColor Red
|
|
Write-Host "unexpected symbol near '<\180>' (compiled bytecode)" -ForegroundColor DarkRed
|
|
|
|
# --- WARNINGS ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor DarkYellow
|
|
Write-Host "WARNINGS" -ForegroundColor DarkYellow
|
|
Write-Host " ! oxmysql " -NoNewline -ForegroundColor DarkYellow
|
|
Write-Host "crypto_history: oversized result set - 3137 rows" -ForegroundColor Yellow
|
|
Write-Host " ! wasabi_bridge " -NoNewline -ForegroundColor DarkYellow
|
|
Write-Host "Outdated: 1.6.6 -> 1.6.9" -ForegroundColor Yellow
|
|
Write-Host " ! screenshot " -NoNewline -ForegroundColor DarkYellow
|
|
Write-Host "dist/server.js + dist/ui.html missing (cosmetic)" -ForegroundColor Yellow
|
|
|
|
# --- QBCore ---
|
|
Write-Host ""
|
|
Write-Host " ${orange}${sq}${reset} " -NoNewline
|
|
Write-Host "QBCore" -NoNewline -ForegroundColor White
|
|
Write-Host " Framework" -ForegroundColor DarkGray
|
|
foreach ($r in @("qb-core", "qb-target", "qb-weathersync", "no-npc")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- 17mov ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Magenta
|
|
Write-Host "17mov" -NoNewline -ForegroundColor White
|
|
Write-Host " Malizniakk" -ForegroundColor DarkGray
|
|
foreach ($r in @("17mov_CharacterSystem", "17mov-plugin-char-creator", "17mov_Hud")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- Quasar ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Cyan
|
|
Write-Host "Quasar" -NoNewline -ForegroundColor White
|
|
Write-Host " Store" -ForegroundColor DarkGray
|
|
foreach ($r in @("qs-inventory", "qs-advancedgarages", "qs-housing", "qs-shops", "qs-smartphone-pro", "qs-vehiclekeys")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- T1GER ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Yellow
|
|
Write-Host "T1GER" -ForegroundColor White
|
|
foreach ($r in @("t1ger_mechanic", "t1ger_tuningsystem")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- Wasabi ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Green
|
|
Write-Host "Wasabi" -NoNewline -ForegroundColor White
|
|
Write-Host " Scripts" -ForegroundColor DarkGray
|
|
foreach ($r in @("wasabi_police", "wasabi_ambulance", "wasabi_bridge")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- CodeM ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor DarkYellow
|
|
Write-Host "CodeM" -ForegroundColor White
|
|
foreach ($r in @("codem-mdt", "codem-dispatch", "codem-mdtProp")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- rcore ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "rcore" -ForegroundColor White
|
|
foreach ($r in @("rcore_casino", "rcore_prison", "rcore_doorlock")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
# --- MLOs ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor DarkGreen
|
|
Write-Host "MLOs" -NoNewline -ForegroundColor White
|
|
Write-Host " Map Interiors" -ForegroundColor DarkGray
|
|
|
|
$mloData = @(
|
|
@{N="soloty-southside-custom"; W=1},
|
|
@{N="rfc_los_santos_customs"; W=0},
|
|
@{N="cfx-fm-fleeca-banks-v2"; W=0},
|
|
@{N="cfx-fm-mrpd"; W=0},
|
|
@{N="octavista_vespuccilspd"; W=10},
|
|
@{N="patoche_bigbenny_original"; W=5},
|
|
@{N="wxmaps_lshospital"; W=1},
|
|
@{N="rbmwm3f80"; W=11}
|
|
)
|
|
foreach ($r in $mloData) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 " -NoNewline -ForegroundColor DarkGray
|
|
if ($r.W -gt 0) {
|
|
Write-Host $r.N.PadRight(33) -NoNewline -ForegroundColor Gray
|
|
Write-Host "$b1$($r.W) warn$b2" -ForegroundColor DarkYellow
|
|
} else {
|
|
Write-Host $r.N -ForegroundColor Gray
|
|
}
|
|
$n++
|
|
}
|
|
|
|
# --- Other ---
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "Other" -ForegroundColor White
|
|
foreach ($r in @("ox_lib","bob74_ipl","PolyZone","pma-voice","connectqueue","jo_towtruck","mBossmenu","luxu_admin","0r_idcard","bit-driverschool","kq_carheist")) {
|
|
Write-Host " $b1" -NoNewline -ForegroundColor DarkGray
|
|
Write-Host $n.ToString().PadLeft(2) -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host "$b2 $r" -ForegroundColor Gray
|
|
$n++
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Sep
|
|
|
|
# ============================================================
|
|
# STATUS / UPDATES / WARNINGS
|
|
# ============================================================
|
|
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Green
|
|
Write-Host "STATUS" -ForegroundColor Green
|
|
Write-Host " + Database connected - MariaDB 10.4.32" -ForegroundColor Green
|
|
Write-Host " + cfx.re Nucleus: kotzu-el7krp.users.cfx.re" -ForegroundColor Green
|
|
Write-Host " + QBCore Multi-identifier system ready" -ForegroundColor Green
|
|
Write-Host " + Luxu Admin: Red Valley Community" -ForegroundColor Green
|
|
Write-Host " + Discord bot: Red Valley Panel#3065" -ForegroundColor Green
|
|
|
|
Write-Host ""
|
|
Write-Host " $sq " -NoNewline -ForegroundColor Magenta
|
|
Write-Host "UPDATES" -ForegroundColor Magenta
|
|
Write-Host " ^ qs-inventory " -NoNewline -ForegroundColor White
|
|
Write-Host "3.7.16 -> 3.7.22" -ForegroundColor Magenta
|
|
Write-Host " ^ qs-advancedgarages " -NoNewline -ForegroundColor White
|
|
Write-Host "5.0.20 -> 5.0.29" -ForegroundColor Magenta
|
|
Write-Host " ^ qs-vehiclekeys " -NoNewline -ForegroundColor White
|
|
Write-Host "4.0.13 -> 4.0.29" -ForegroundColor Magenta
|
|
Write-Host " ^ 17mov_CharacterSystem " -NoNewline -ForegroundColor White
|
|
Write-Host "1.2.5 -> 1.2.6" -ForegroundColor Magenta
|
|
|
|
|
|
# --- FOOTER ---
|
|
Write-Host ""
|
|
$footerBar = ([string][char]9604) * 58
|
|
Write-Host " $footerBar" -ForegroundColor DarkGray
|
|
Write-Host " " -NoNewline
|
|
Write-Host " $([char]9608) SERVER READY " -NoNewline -ForegroundColor Green
|
|
Write-Host "$([char]9474) " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "$totalResources loaded" -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host " $([char]9474) " -NoNewline -ForegroundColor DarkGray
|
|
Write-Host "$($n - 1) tracked" -NoNewline -ForegroundColor DarkCyan
|
|
Write-Host " $([char]9474) " -NoNewline -ForegroundColor DarkGray
|
|
$time = Get-Date -Format "HH:mm:ss"
|
|
Write-Host $time -ForegroundColor DarkGray
|
|
$footerBarTop = ([string][char]9600) * 58
|
|
Write-Host " $footerBarTop" -ForegroundColor DarkGray
|
|
Write-Host ""
|
|
Write-Host " RV> " -NoNewline -ForegroundColor Cyan
|
|
|
|
Read-Host
|