Game Save Backups
![PyPI downloads](https://img.shields.io/pypi/dm/gsb.svg)
![RaspberryPi](https://img.shields.io/badge/Raspberry%20Pi-000000?style=flat-square&logo=raspberrypi&logoColor=white&color=c51a4a)
![lint](https://openbagtwo.github.io/gsb/dev/img/pylint.svg)
A tool for managing incremental backups of your save states using Git!
In a Nutshell
Does Steam keep corrupting your cloud saves?
Does it take too long to create or restore a Minecraft backup?
Do you want to rewind your game five hours and explore what might have been if
only you'd punched that NPC in the face?
If that sounds like you, then GSB is here to help! This is a lightweight wrapper
around the Git version control system that's optimized for
game saves. Features (will) include:
- automated incremental backups
- painless savegame restores
- easy history navigation
- revision history compression and cleaning
- support for branches
- workflows for implementing 3-2-1 backups
- full compatibility with Git and other git-based tools...
- ... all without ever needing to know a thing about Git
Installation
The gsb
package is written for Python 3.11 or newer but otherwise
should run on any operating system and architecture.
The easiest way to install it is via pipx:
$ pipx install gsb
For more help (including instructions for installing an up-to-date version
of Python), check out the
Installation Guide.
Usage
The recommended way to interact with GSB is via its command-line interface.
Once you've installed the package, run the following command to get an overview of the
available actions:
$ gsb --help
and use:
$ gsb <verb> --help
(e.g. gsb backup --help
)
for further details on running each of those commands.
Full documentation, including tutorials, examples and full CLI docs, can be
found here.
Contributing
If you're interested in helping develop this project, have a look at the
repo backlog, then read through the
contributor's guide.
License
This project—the executable, source code and all documentation—are published
under the
GNU Public License v3
unless otherwise stated, and any contributions to or derivatives of this project
must be licensed under compatible terms.