CASTER 1.0.0
·
38 commits
to caster
since this release
Full Changelog: https://github.com/bluefield-creator/KAST/commits/1.0.0
NEW
Authentication & Accounts
- Full login system with cookie-based authentication
- First-run account setup wizard for initial admin creation
- Multi-admin account management with avatars and password changes
- Persistent account widget in the app bar with profile dropdown
- Account gate middleware that redirects unauthenticated users to login
- Route-level authorization on all Blazor pages
- Secure internal hub authentication for SignalR self-connections
Mission Management
- Mission upload panel for .pbo files with automatic metadata extraction
- Mission tagging system with click-to-filter support
- Mission search with full-text, tag, and map name filters
- Link missions to mod presets
Campaign System
- Ordered mission playlists for narrative or event-driven gameplay
- Drag-to-reorder missions within campaigns
- Campaign metadata: title, description, and optional image
Set System
- Unordered mission collections for grouping by theme or game mode
Mod Preset System
- Save current mod loadout as a reusable preset
- Import presets from Arma 3 launcher HTML exports
- Apply presets to any server instance
- Preset history panel per server instance
Parallel Mod Downloads
- Configurable parallel mod download count (1-16 simultaneous mods)
- Separate configurable per-install file worker count (1-64)
- Steam content queue that prevents server install/mod conflicts
- Queue prioritizes smaller mods first
Per-File Download Progress
- Individual file name, size, speed, and completion shown during downloads
- Real-time phase status messages (fetching details, preparing CDN, downloading, verifying, pruning)
- Post-download manifest verification with file counts logged
- Automatic stale file cleanup after each download
First-Run Setup Wizard
- Guided walkthrough for new installations: Connect Steam, Add Mods, Create Server, Install & Launch
- Contextual action buttons and visual progress indicators
- Skeleton loading placeholders for stat cards while data loads
UI Additions
- Breadcrumb navigation on all pages
- Quick actions menu in the app bar
- Keyboard shortcuts overlay (press
?) - Table/card view toggle for mod management
- Multi-select mods with bulk delete
- Zone filter chips on mod assignment tabs (Available, Whitelisted, Clientside, Serverside)
- Repair All Mods button
- Server mods tab now supports table view alongside drag-drop column view
Added missing server settings
- VoN codec selection (SPEEX/OPUS) with quality setting
- Force RotorLib simulation mode
- Haze quality override
- Zeus composition script level control
- Idle FPS limit
- Player diagnostics, statistics, and profile glasses toggles
- Equal mod required setting
- Kick timeout configuration (manual, connect, BattlEye, harmless)
- Mission auto-restart and auto-shutdown after N missions
- Mission whitelist and HTTP download base URL
- File patching exceptions list
- Security extension controls (load/preprocess/HTML extensions and URIs)
- Console timestamp format separate from log timestamp format
- RegularCheck server event script field
Added missing difficulty settings
- Tactical ping support (disabled, 3D only, map only, both)
- Group indicators, friendly/enemy tags, commands visibility, weapon info, stance indicator, waypoints
- Difficulty settings now organized into Simulation, Situational Awareness, and Personal Awareness sections
Monitoring
- API and database health status dots in the footer bar
- Visual warning when monitoring SignalR connection drops
- Instance metrics broadcast through SignalR
- Error pulse animation on the log console button when unread errors exist
- Scroll-to-top button in the log console
Infrastructure
- Health check endpoints at
/healthand/alive - dotnet-tools.json manifest for consistent dev tooling
Tests
- New test suites for MissionService, ModPresetService, UserAccountService, ModDownloadManager, account endpoints, mission API endpoints, preset API endpoints, hub authorization, internal URL provider, and monitoring service
FIXED
- Mod downloads now persist across page navigation
- SignalR internal self-connections now work via dedicated auth scheme
- Stuck mods at startup reset correctly based on actual file existence on disk
- Workshop files marked as skipped by Steam are now properly handled in progress tracking
- Server config file writes gracefully handle IOException when the server process is running
- Monitoring database queries use AsNoTracking to avoid unintended entity tracking
- Console output rendering is throttled to maintain UI performance under high log volume
- Profile files use consistent naming format (server_{id}.Arma3Profile)
IMPROVED
- Speed benchmark UI renamed from "threads" to "workers" for clarity
- Mod status colors and icons centralized into a shared UI helper
- Server mods tab now shows confirmation dialogs before Load All and Unload All operations
- Download settings panel explains the difference between parallel workers and parallel mod downloads
- Stuck mod cleanup at startup is more robust (checks directory existence, not just path string)
- Snackbar notification duration increased from 2s to 3s for better readability
- Settings page supports tab query parameters for direct linking (e.g.
?tab=accounts) - Docker ignore file refined for cleaner container builds
- Server instance status change events now broadcast through the app event system