▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Syncmoney
Syncmoney

Syncmoney

Cross-server economy synchronization plugin for Minecraft

3
1

Syncmoney

Stars Downloads
Platform Java Release License

Enterprise-grade cross-server economy synchronization for Minecraft
Discord


Overview

Syncmoney is a high-performance Minecraft economy plugin designed for multi-server networks. It synchronizes player balances across all servers in real-time using Redis Pub/Sub, with comprehensive protection against economic exploits and data loss.

Perfect for: Survival servers, factions, SMPs, minigame networks, and any multi-server economy ecosystem.


Features

Core Synchronization

  • Real-time Cross-Server Sync — Balance changes instantly propagate to all servers via Redis Pub/Sub
  • Vault Integration — Full compatibility with any Vault-enabled economy plugin
  • Atomic Transactions — Lua scripts prevent money duplication during race conditions
  • Graceful Degradation — Automatic fallback: Memory → Redis → Database

Security Protection

  • 4-Layer Circuit Breaker
    • Single transaction limits
    • Rate limiting (transactions per second)
    • Sudden balance change detection
    • Periodic inflation monitoring
  • Transfer Guard — Prevents money loss when players teleport during transactions
  • Rollback Protection — Guards against failed database writes

Migration & Backup

  • CMI Migration Tool — One-command import from CMI economy
  • Multi-Server Merge — Combines economy data from multiple CMI servers
  • Shadow Sync — Automatic backup to external databases
  • Checkpoint Resume — Large migrations can resume if interrupted

Leaderboards & Integration

  • Global Baltop — Redis-powered sorted set leaderboard
  • PlaceholderAPI Expansion — Dynamic placeholders for scoreboards
  • Folia Support — Region-based scheduling compatibility
  • Audit Trail — Full transaction history with search and export

Requirements

ComponentVersion
ServerPaper 1.20+ / Spigot 1.20+ / Folia 1.20+
Java21+
Redis5.0+
DatabaseMySQL 8.0+ / MariaDB 10.5+ / PostgreSQL 13+
PluginVault

Quick Start

1. Install

Place Syncmoney.jar in your server's plugins/ folder.

2. Configure Redis

Edit plugins/Syncmoney/config.yml:

server-name: "survival-01"

redis:
  enabled: true
  host: "localhost"
  port: 6379

database:
  enabled: true
  type: "mysql"
  host: "localhost"
  port: 3306
  username: "root"
  password: ""
  database: "syncmoney"

3. Multi-Server Setup

  1. Install Syncmoney on all servers
  2. Connect all servers to the same Redis instance
  3. Set a unique server-name for each server
  4. Restart all servers — economy syncs automatically

4. PlaceholderAPI (Optional)

For scoreboard placeholders:

  1. Download SyncmoneyExpansion.jar from Releases
  2. Place in plugins/PlaceholderAPI/expansions/
  3. Restart the server

Configuration

Economy Modes

ModeDescription
autoAuto-detect based on Redis/DB availability (recommended)
localSingle server only, SQLite backup
local_redisMulti-server sync via Redis (no MySQL)
syncFull cross-server sync with Redis + MySQL
cmiDirect CMI database integration

Pay Settings

pay:
  cooldown-seconds: 30
  min-amount: 1
  max-amount: 1000000
  confirm-threshold: 100000

Circuit Breaker

circuit-breaker:
  enabled: true
  max-single-transaction: 100000000
  max-transactions-per-second: 10
  rapid-inflation-threshold: 0.2
  sudden-change-threshold: 100

Commands

Players

CommandDescriptionPermission
/moneyView your balancesyncmoney.money
/pay <player> <amount>Transfer money to playersyncmoney.pay
/baltopView global leaderboardsyncmoney.money

Administrators

CommandDescriptionPermission
/syncmoney admin give <player> <amount>Give money to playersyncmoney.admin.give
/syncmoney admin take <player> <amount>Take money from playersyncmoney.admin.take
/syncmoney admin set <player> <amount>Set player balancesyncmoney.admin.set
/syncmoney migrate cmiMigrate from CMIsyncmoney.admin
/syncmoney breaker statusView protection statussyncmoney.admin
/syncmoney auditView transaction historysyncmoney.admin
/syncmoney reloadReload configurationsyncmoney.admin

Placeholders

PlaceholderDescription
%syncmoney_balance%Player's current balance
%syncmoney_balance_formatted%Balance with smart formatting
%syncmoney_balance_abbreviated%Balance abbreviated (1.5K, 2.3億)
%syncmoney_rank%Player's leaderboard rank
%syncmoney_total_supply%Total money in circulation
%syncmoney_top_<n>%Balance of player at rank n
%syncmoney_balance_<player>%Specific player's balance by name

Migration from CMI

# Preview migration data
/syncmoney migrate cmi -preview

# Start migration
/syncmoney migrate cmi

# Force migration (skip validation)
/syncmoney migrate cmi -force

# Force migration without backup
/syncmoney migrate cmi -force -no-backup

Features:

  • PostgreSQL, MySQL, and SQLite support
  • Multi-server data merge
  • Automatic backup before migration
  • Checkpoint resume for large datasets

Performance

Syncmoney is optimized for high-throughput scenarios:

  • Redis connection pooling (default: 30 connections)
  • Async write queues — prevents main thread blocking
  • In-memory caching — O(1) balance reads
  • Batch database writes — efficient audit log persistence

API for Developers

// Get economy via Vault
Economy economy = Bukkit.getServicesManager()
    .getRegistration(Economy.class).getProvider();

// Economy events contain:
// playerUuid, delta, balanceAfter, type, source, timestamp

Troubleshooting

IssueSolution
"Server name not configured"Set server-name in config.yml
Redis connection failedVerify host/port/password in config
Balances not syncingEnsure all servers use same Redis instance
Performance issuesIncrease pool-size and queue-capacity

Enable debug: true in config.yml for detailed logs.


Support


License

Apache License 2.0 — Free to use, modify, and distribute.


Built for high-scale Minecraft networks

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:Apache-2.0
Опубликован:2 недели назад
Обновлён:2 недели назад
Главная