docker-reforger icon indicating copy to clipboard operation
docker-reforger copied to clipboard

[Contributor Proposal] Roadmap for V2.0 Major Update #54

Open azgaviperr opened this issue 8 months ago • 2 comments

Proposed Feature Roadmap for V2.0 Major Update


Hi everyone,

As a contributor, I've been thinking about some ways we could improve the project. Based on feedback and common user pain points, I've put together a proposal for a major update focused on automation, stability, and ease of use. This is just a starting point, and I'd love to discuss it with the core team and the community.

I'm planning on building these features for my own use regardless, as I need them for my personal server. However, I would much prefer to extend this existing project rather than create a separate fork or a new container image that would likely get lost on Docker Hub. I believe these additions would be beneficial for the entire community.

Here's an outline of the key features I believe would make a significant impact:

1. Automated Mission Rotation System

This function would handle mission changes automatically and improve server resilience.

  • Smart Rotation: The server could automatically switch to the next mission after a round ends.
  • Crash Recovery: If the server crashes, it would attempt to restart the current mission. After multiple crashes, it could intelligently move to the next mission to prevent a restart loop.
  • Simplified Configuration: I propose managing all mission settings from a single, easy-to-read file. This would make it much simpler for anyone to change variables like player count, server name, and mods without needing to rebuild the container.
  • Master and Mission-Specific Variables: To streamline configuration, we can implement a variable hierarchy. The initial container environment variables will serve as the master variables. Individual missions will have their own configuration files where variables can be set to override the master values. If a mission file does not specify a value for a variable (e.g., player_count), the system will automatically use the value from the master variables. This allows for global settings while providing the flexibility for unique mission configurations.

2. Enhanced Validation and Testing

To prevent issues and make the setup process smoother, we could integrate new testing protocols.

  • Build-time Checks: Tests could be run during the container build to ensure core functions are working correctly. We could make this an optional step in your GitHub Actions workflow, toggled with a build argument (e.g., --build-arg SKIP_TESTS=true). This would save time and resources for development builds while still ensuring production builds are fully validated.
  • Runtime Validation: The server could validate configuration files and environment variables at startup. If a value is invalid, it would provide a clear, explicit error message. This would save users a lot of time troubleshooting.

3. Improved Backup Function

This feature would provide a more powerful and configurable backup solution.

  • CRON-based Scheduling: We could allow users to schedule backups of specific directories (like config, profile, and workshop) using a simple CRON expression.
  • Retention Management: The system could automatically handle backup retention, helping users manage disk space.

4. Discord Webhook Integration

For better real-time monitoring, we could add a function to send automated alerts to a Discord channel.

  • Notifications: Alerts could be sent for key events such as mission rotations, server crashes, backup failures, and security events.

5. (Optional) Quickstart CLI Tool

This tool would simplify the initial setup for new users.

  • Interactive Setup: It would be a command-line interface that asks a few questions and then automatically generates a pre-configured .env file, getting a server up and running faster.

I've outlined some core ideas here, and I'm happy to provide more details on any of these points. I'm available to discuss this roadmap further with the team, and I encourage anyone with thoughts or opinions to share them in the comments!

azgaviperr avatar Sep 01 '25 09:09 azgaviperr