# VortexFileSync

### 🌟 Overview&#x20;

VortexFileSync is a powerful Minecraft plugin designed to synchronize configuration files, plugin data, and even JAR files across multiple servers in real-time. By leveraging a centralized MySQL/MariaDB database, it ensures that your server network stays consistent without manual file transfers.

### ✨ Core Features

* **Centralized Synchronization:** Keep multiple servers in sync using a shared database.
* **Flexible Config:** Define specific paths for uploading and downloading files.
* **Regex Filtering:** Use powerful regular expressions to exclude specific files or directories from being synced.
* **Post-Sync Commands:** Automatically execute commands after a file is downloaded or uploaded (ideal for reloading plugins).
* **YAML Overrides:** Dynamically change YAML values during the download process. This allows you to have a master configuration that is slightly tweaked for each individual server (e.g., different server names or database settings).
* **Performance Focused:** Asynchronous file processing ensuring no impact on server performance.

### 📥 Installation

1. Place the `VortexFileSync.jar` in your plugins folder.
2. Restart your server to generate the configuration files.
3. Configure your **MySQL/MariaDB** database settings in the `config.yml`.
4. Define your **Upload** and **Download** sections.
5. Restart or reload the plugin to apply changes.

***

#### 🔗 Essential Links

* **Discord Support**: [Join our Discord](https://dc.vortexdevelopment.net)
* **Plugin Repository**: [Browse Artifacts](https://repo.vortexdevelopment.net/repository)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.vortexdevelopment.net/projects/vortexfilesync.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
