An open API service indexing awesome lists of open source software.

https://github.com/leafuke/minebackup

A simple but useful GUI program to backup and restore your MC saves.
https://github.com/leafuke/minebackup

automation backup linux macos minecraft tools windows

Last synced: about 1 month ago
JSON representation

A simple but useful GUI program to backup and restore your MC saves.

Awesome Lists containing this project

README

          

# MineBackup β€” The Ultimate Backup Companion for Your Minecraft Worlds πŸ—‚οΈπŸ’Ύ

[![δΈ­ζ–‡θ―΄ζ˜Ž](https://img.shields.io/badge/README-δΈ­ζ–‡-blue)](README_zh.md)
[![Latest Release](https://img.shields.io/github/v/release/Leafuke/MineBackup?style=flat-square)](https://github.com/Leafuke/MineBackup/releases)
[![Issues](https://img.shields.io/github/issues/Leafuke/MineBackup?style=flat-square)](https://github.com/Leafuke/MineBackup/issues)

![MineBackup Banner](MineBackup/MineBackup.png)

> **Back up with confidence Β· Restore in seconds Β· Compress intelligently**
> Keep your Minecraft worlds safe β€” and yes, you can back up any folder on your PC, too.

---

## ✨ Why MineBackup?
- 🎯 **Plug-and-Play** β€” A single executable. Download, double-click, done.
- πŸ–₯ **Clean, Fast GUI** β€” Powered by ImGui. Simple layout, snappy response.
- πŸ’Ύ **Secure Backups** β€” One click to safeguard your Minecraft saves.
- πŸ”„ **Quick Restores** β€” Roll back to any previous state from a `.7z` file or local backup.
- πŸ“¦ **High Compression** β€” Built-in 7-Zip core saves disk space.
- 🧠 **Smart Mode** β€” Git-like incremental backups to save time and storage.
- πŸ“ **Custom Paths** β€” Store backups wherever you want.
- 🌏 **Multi-language** β€” Currently supports English and Chinese β€” more are welcome!
- πŸ’» **Multi-platform** β€” Currently supports Windows, Linux and MacOS.

πŸ’‘ **Pro tip:** It works on any folder, not just Minecraft worlds.

---

## πŸš€ Getting Started

### 1️⃣ Download & Run
1. Go to the [latest release](https://github.com/Leafuke/MineBackup/releases).
2. Download the single Windows executable.
3. Double-click to run β€” **no installation required**.

### 2️⃣ Basic Actions - Basic
| Feature | How to Use |
|--------------|------------|
| Back up a world | Select a world β†’ click **Backup** |
| Restore a world | Select a world β†’ click **Restore** (from `.7z` or local directory) |
| Change backup location | Open **Settings** β†’ choose your path |
| Switch language | Settings β†’ Language |

### 3️⃣ Power Features
- **Hotkey Backup** β€” Press **Alt+Ctrl+S** in-game to trigger a live backup.
- **Exit Detection** β€” Enable *DetectOnExit* to back up automatically when Minecraft closes.
- **KnotLink Integration** β€” Let MineBackup talk to mods or other tools to trigger β€œsave before backup.” An example mod is [here](https://modrinth.com/mod/minebackup).

---

## πŸ›  Feature Highlights

### πŸ”₯ Hotkey Backups
- Hit **Alt + Ctrl + S** while playing:
Detects the currently active world β†’ broadcasts a save request β†’ runs a hot backup in the background.

### πŸ•’ Auto Exit Backups
- With *DetectOnExit* enabled, MineBackup checks every 10 seconds for changes to `level.dat`.
- When it sees the file go from β€œin use” to β€œreleased,” it automatically performs a hot backup.

### πŸ“‘ KnotLink Messaging
MineBackup can send and receive simple text events to coordinate with other apps or mods. View [MineBackup](https://modrinth.com/mod/minebackup) as an example mod for detail.

- **Supported Commands:**
```

BACKUP \ \ \[comment]
RESTORE \
LIST\_WORLDS \
LIST\_CONFIGS
SET\_CONFIG \

````
*key*: `backup_mode` / `hot_backup`
*value*: `1/2/3` or `0/1`

> πŸ” See [Developer & Advanced User Guide](#-developer--advanced-user-guide) for full protocol details.

---

## βš™οΈ Installation & Build

**Requirements:**
- Windows/Linux/MacOS
- C++20 compiler
- ImGui library linked
- 7-Zip executable

**Build:**
```bash
# Clone the repo
git clone https://github.com/Leafuke/MineBackup.git
cd MineBackup

# Make sure the ImGui source is included
````

---

## 🀝 Contributing & Support

* **Report bugs / request features:** [GitHub Issues](https://github.com/Leafuke/MineBackup/issues)
* **Help translate:** Edit [`i18n.h`](MineBackup/i18n.cpp) and submit a pull request.
* **Improve docs:** PRs welcome β€” examples, screenshots, and tips appreciated.

---

## πŸ“š Developer & Advanced User Guide

### KnotLink Quick Reference

| Command | Description |
| ------------- | ---------------------------------------- |
| BACKUP | Immediately back up a given config/world |
| RESTORE | Restore a given config |
| LIST_WORLDS | List all worlds under a config |
| LIST_CONFIGS | List all configs |

**APPID:** `0x00000020`
**socket ID:** `0x00000010`
**signal ID:** `0x00000020`

---

## πŸ“„ Project References

* [**7-Zip**](https://github.com/ip7z/7zip) β€” Compression core (7z.exe)
* [**ImGui**](https://github.com/ocornut/imgui) β€” GUI framework
* [**stb**](https://github.com/nothings/stb) β€” Image loading
* [**KnotLink**](https://github.com/hxh230802/KnotLink) β€” Lightweight inter-process messaging
* [**json**](https://github.com/nlohmann/json) β€” Metadata read & write
* [**Font-Awesome**](https://github.com/FortAwesome/Font-Awesome) - Icons

---

## πŸ“œ Note

The next generation of MineBackup has been realesed as [FolderRewind](https://github.com/Leafuke/FolderRewind). It features better versatility and a modern UI. Features are being actively developed there.

---

**MineBackup** β€” Peace of mind for your Minecraft worlds.
⭐ If you find it useful, please give it a star!