GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.18k stars 801 forks source link

[Feature]: LGSM command for restoring backups #4507

Open MicLieg opened 4 months ago

MicLieg commented 4 months ago

User story

As a server admin, I want LinuxGSM to handle backup restoration for me to minimize the downtime and work needed when restoring backups.

Game

All

Linux distro

Other

Command

command: backup

Further information

The command would use automatically or manually created backups to quickly restore the gameserver to a specific point in time by overwriting the backed up files. To avoid problems caused by newly created files that don't exist in a backup (such as new saves or player profiles), the entire installation should be deleted and replaced with the contents of the backup.

Restore a backup (prompt the user by listing all existing backups): ./gameserver restore-backup

Restore the latest backup: ./gameserver restore-backup latest

Restore a specific backup: ./gameserver restore-backup "gameserver-2024-02-05-040000.tar.gz"

Possible Problems:

A future implementation of this/another command could also be useful for automatically applying manually created "backups" that have been prepared to introduce changes to game configurations, maps, mods or rules by overwriting only certain files. However, this will require a completely new backup procedure, as regular restoring of a backup will need to deal with unwanted files not included in the backup as listed above.

Restore a manually prepared "backup": ./gameserver restore-backup "special-event.tar.gz"