
Text Description
# **VortexFileSync**
### High-Performance File Synchronization for Modern Minecraft Networks
**VortexFileSync** is a high-performance file synchronization plugin built for modern Minecraft networks. It enables seamless sharing of configuration files, scripts, and data across multiple server instances via a centralized database, ensuring absolute consistency across your entire network without manual intervention.
It's designed to automate the tedious process of updating multiple servers, allowing you to edit a file on one "master" server and have it automatically propagate to all others in real-time.
---
## **What can you do with it?**
You can create synchronization tasks that:
- **Sync Entire Folders**: Effortlessly share directories like `plugins/Skript/scripts`, `plugins/LuckPerms`, or custom config folders.
- **Auto-Detect Changes**: Uses advanced SHA-256 hashing to monitor file changes and only sync when an actual update is detected.
- **Trigger on Commands**: Automatically upload changes when specific in-game or console commands are executed, for example after reloading a config.
- **Apply YAML Overrides**: Keep files synced while maintaining server-specific values, such as database credentials or server names, using a powerful override system.
- **Execute Post-Sync Commands**: Automatically run console commands like `/sk reload all` or `/lp reload` after a server receives a file update.
---
## **Important: Scope & World Files**
**VortexFileSync is designed for configuration and data synchronization.** It is **not** intended for synchronizing active world files, such as `level.dat`, region files, or similar world data.
Attempting to sync world folders while a server is running will result in corruption or incomplete transfers. Please only use this plugin for plugin configurations, scripts, and static data.
---
## **MySQL Configuration Requirement**
Since all files are stored in your database, you **must** ensure your MySQL or MariaDB server is configured to handle the size of your folders. If your upload fails, it is likely due to the `max_allowed_packet` limit.
**Recommended Setting**: `128MB`
This supports large plugin directories and script libraries.
**How to update it:**
1. Locate your MySQL configuration file, usually `my.cnf` on Linux or `my.ini` on Windows.
2. Find the `[mysqld]` section.
3. Add or modify the following lines:
```
[mysqld]
max_allowed_packet=128M
```
4. **Restart your MySQL service** for the changes to take effect.
---
## **Flexible Sync Methods**
FileSync adapts to your network's specific needs with granular control over how and when files move.
- **Timed Intervals**: Set a custom heartbeat for servers to check the global database for updates.
- **Command Triggers**: Link uploads to existing admin commands so changes are pushed the moment you execute them.
- **Manual Control**: Use dedicated admin commands to force uploads or check sync status across the network.
- **Filtered Syncing**: Use detailed ignore lists to exclude specific files, file types, or subdirectories from being synchronized.
---
## **Advanced Features**
- **Atomic Updates**: Ensures file integrity by using zip-based transfers and verify-before-apply logic.
- **Selective YAML Overrides**: Change only specific keys in a YAML file per server, perfect for server-specific values like IDs or local paths.
- **Conflict Prevention**: Intelligent locking and hashing prevents partial downloads or race conditions during multi-server updates.
- **Database Backed**: Leverages the reliability of MySQL and MariaDB for global state management.
---
## **Commands & Permissions**
- `/vfs upload`: Manually trigger an upload of configured folders to the network database.
- `/vfs`: Display usage and plugin information.
- **Permission**: `vortexfilesync.admin` - Required for all commands and administrative actions.
---
## **Compatibility & Performance**
**Supported Versions**: Paper and compatible forks 1.18+
---
## **Zero NMS Usage**
Since the plugin uses no NMS, updates are smooth and consistent. Your server can usually update Minecraft versions without needing a plugin update.
---
## **Database Support**
Fully supports MySQL and MariaDB, highly recommended for best performance. The plugin uses a robust repository pattern to ensure data is handled efficiently even on large networks.
---
## **Configuration & Documentation**
Every configuration file is meticulously documented to ensure a smooth setup experience. Whether you are defining complex YAML overrides, setting up file filters, or configuring command triggers, you'll find clear explanations for every option in the `config.yml`.
暂无评论,抢个沙发吧~