All notable changes to the RS2V Custom Server project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Comprehensive wiki-style documentation (Home, Configuration Reference, Admin Commands, Game Modes, Maps, FAQ)
- CONTRIBUTING.md with development workflow and coding standards
- Full CHANGELOG.md and CONTRIBUTORS.md
0.9.0-alpha - 2025-06-01
Initial alpha release of the RS2V Custom Server.
- C++17 modular server architecture with clear separation of concerns
- CMake 3.15+ build system with configurable feature flags (
ENABLE_TELEMETRY,ENABLE_SCRIPTING,ENABLE_COMPRESSION,BUILD_TESTS) - Cross-platform support for Linux (GCC 8+, Clang 7+) and Windows (MSVC 2019+)
- Multi-threaded design with main thread, network I/O thread, telemetry thread, and configurable thread pool
- High-performance UDP networking stack with custom protocol implementation
- UE3-compatible "bunch" protocol for seamless game client integration
- Packet serialization with configurable compression (zlib when available)
- Reliable and unreliable transport modes
- Client connection management with heartbeat monitoring and idle timeout
- Rate limiting and DDoS protection
- Dual-stack IPv4/IPv6 support
- Complete game server lifecycle management (
GameServer) - Player management with connection tracking, team assignment, and statistics (
PlayerManager) - Team management with auto-balancing and configurable faction relationships (
TeamManager) - Round management with configurable game modes and win conditions (
RoundManager) - Map management with rotation, hot-reload, and voting system (
MapManager) - Five built-in game modes: Conquest, Elimination, Capture the Flag, Hot Zone, Domination
- Eight built-in maps: Carcassonne, Hill 400, Rubber Plant, Hacienda, Hill 937, Village, Skirmish Field, Coastal Assault
- Eight weapon definitions with full attribute configuration
- Configurable gameplay settings (friendly fire, respawn delay, timers, score limits, vehicles)
- Physics engine with rigid body dynamics and collision detection
- Broad-phase (sweep and prune) and narrow-phase (SAT) collision detection
- Vehicle physics simulation
- Projectile physics with trajectory calculation
- Multi-layer anti-cheat system with EAC emulation (safe/emulate/off modes)
- Steam authentication integration with session ticket validation
- Custom fallback authentication token system
- Movement validation and behavioral analysis
- Ban management (temporary and permanent bans by SteamID)
- IP blacklisting with CIDR range support
- RCON (Remote Console) with password authentication
- Input validation and packet integrity checking
- HMAC-based packet integrity verification
- Rate limiting per client
- Telemetry subsystem with multiple reporter backends
- Prometheus metrics endpoint (HTTP)
- File-based metrics reporting (JSON)
- In-memory circular buffer for real-time metrics
- System metrics (CPU, memory, network utilization)
- Application metrics (player count, tick rate, packet loss)
- Alerting system with configurable thresholds
- Performance profiler with timing data (JSON/CSV output)
- C# scripting engine powered by Roslyn compiler
- Hot-reload of C# scripts with file watcher and debouncing
- Sandboxed script execution environment
- 17 example scripts covering gameplay, anti-cheat, telemetry, and administration
- Native C++ handler library plugin system with dynamic loading
- Event bus for inter-component communication
- Hierarchical configuration system (CLI > env vars > config files > defaults)
- INI-based configuration with section grouping
- Hot-reload for most configuration files via file watcher
- Production configuration overlay (
server_production.ini) - 16 configuration files covering server, game modes, maps, weapons, teams, gameplay, admin commands, bans, auth, MOTD, and more
- 18 administrative commands with permission levels (0–3)
- In-game chat command support
- RCON remote administration
- Admin list with SteamID-to-permission mapping
- Ban/unban/kick with audit logging
- Map rotation management (add/remove/list)
- Dynamic tick rate and time scale adjustment
- Bot spawning for testing
- Message of the Day (MOTD) with formatting codes and variable substitution
- README with project overview, quick start, and architecture diagram
- API Reference (docs/API.md)
- Architecture overview (docs/ARCHITECTURE.md)
- Deployment guide (docs/DEPLOYMENT.md)
- Development guide (docs/DEVELOPMENT.md)
- Scripting guide (docs/SCRIPTING.md)
- Security guide (docs/SECURITY.md)
- Telemetry guide (docs/TELEMETRY.md)
- Troubleshooting guide (docs/TROUBLESHOOTING.md)
- TODO.md development roadmap
- GitHub issue templates (bug report, feature request)
- Codacy CI workflow
- The main target does not compile on all platforms (see README warning)
- Some subsystems are still stubs or proofs-of-concept
- The public API and file layout are not yet frozen and may change
loadouts.iniis a placeholder (not yet implemented)