BlueSquare23 / web-lgsm

A simple web interface for the Linux Game Server Manager (LGSM) written in Python3 using Flask.
MIT License
26 stars 4 forks source link

Add Restart/backup Planer #20

Open Fire041992 opened 2 weeks ago

Fire041992 commented 2 weeks ago

Is your feature request related to a problem? Please describe. Currently, the lack of an automated Restart/Backup planner requires server administrators to manually restart the server and create backups. This is especially problematic for maintaining server performance and ensuring data security. Without regular restarts, the server can become unstable, leading to potential crashes that could disrupt gameplay. Additionally, without frequent backups, there is a significant risk of data loss, particularly in the event of an unexpected server failure. Automating these tasks would greatly enhance the efficiency of server management, reduce the likelihood of server issues, and protect valuable game data."

Describe the solution you'd like The solution I envision is a fully automated Restart and Backup Planner integrated into the web interface. This feature would allow administrators to schedule server restarts at specific times, with customizable intervals (daily, weekly, or custom). It should include automated notifications to players before each restart and a graceful shutdown option to ensure that gameplay is not abruptly interrupted.

Describe alternatives you've considered "In considering alternatives, I looked at manual management, which offers control but is time-consuming and prone to human error. Another option was using server-side scripts with Cron jobs or Task Scheduler, providing flexibility but lacking integration with the web interface, making it harder to manage. I also considered external backup and monitoring services, which are convenient but introduce reliance on third parties and potential costs.

BlueSquare23 commented 2 weeks ago

Yeah not a bad idea. I can definitely see how having control of that from within the web interface would be handy, even just for scheduling regular restarts like you mentioned. I'll probably just make a simple interface to wrap cron. But yeah should certainly be doable!

I'm currently working on some pretty big changes to this project on the dev branch with a lot of things in the backend currently in-flux. See, dev-1.8 Todos.txt if you're curious. I want to get those things done first before starting on this new feature because A) they'll help with the development of this feature and B) this will just make more sense to add after those things are in place.

All that to say, I don't know if this will make it into the v1.8.0 release, but def make it into 1.9! But yeah thanks for bringing it up! I'm going to put it in the Todo.txt backlog for right now and will update this issue as things progress.