💰 TopHyconomy – Modular, Scalable & Thread-Safe Economy System for Hytale
TopHyconomy is an advanced, high-performance, developer-oriented economy plugin designed to act as the central economic core of a Hytale server and as a standardized API for other plugins.
It is built for production environments, supporting multi-instance infrastructures, high concurrency, and safe money operations.
For support, bugs or feature requests join our support discord!
🚀 Key Features
- ✅ Player-based account system with persistent balances
- ✅ Clean and extensible public API for plugin integration
- ✅ MongoDB persistence support
- ✅ Redis distributed cache (optional)
- ✅ High-performance local cache using Caffeine
- ✅ Multi-instance ready
- ✅ Thread-safe economy operations
- ✅ Deadlock and race-condition protection
- ✅ Hot-reloadable configuration and language files
- ✅ Fully customizable language system
- ✅ Optimized memory usage to prevent RAM overload
⚡ Data Architecture & Performance
TopHyconomy uses a multi-layer data architecture to achieve the best balance between speed, consistency, and scalability.
🗄️ MongoDB
- Primary persistent data storage
- Secure and reliable balance saving
- Designed for large-scale servers
🚀 Redis (Optional)
- Distributed cache for multi-instance setups
- Keeps player balances synchronized across servers
- Enables faster and safer money transfers
⚙️ Caffeine Cache
- High-performance in-memory local cache
- Reduces unnecessary MongoDB and Redis access
- Configurable TTL to avoid excessive RAM usage
This architecture allows fast economic operations, even under heavy server load, without compromising data integrity.
🔐 Concurrency & Safety
- Fully thread-safe account operations
- Controlled concurrent access to player balances
- Protection against deadlocks
- Prevention of race conditions during simultaneous transfers
- Safe for asynchronous tasks and distributed environments
Player balances remain consistent and secure at all times.
🔧 Developer API
AccountManager
getAccount(playerId)createAccount(playerId, playerName, initialBalance)deleteAccount(playerId)accountExists(playerId)transfer(from, to, amount)saveAll()
Account
give(amount)withdraw(amount)take(amount)getBalance()
Designed to integrate seamlessly with shops, jobs, minigames, rewards, auctions, and custom systems.
🧑💼 Administrative Commands
/eco give <player> <amount>/eco take <player> <amount>/eco set <player> <amount>/eco info <player>/eco reset <player>/eco reload
👤 Player Commands
/bal– View your current balance/pay <player> <amount>– Send money to another player
⚙️ Flexible Configuration
- Configurable starting balance
- Debug mode
- Enable or disable MongoDB and Redis
- Cache TTL configuration
- Fully editable language files
- Hot reload without server restart
📦 Built for Serious Servers
- Medium and large servers
- Multi-instance infrastructures
- Developers requiring a reliable economy API
- High-concurrency and high-load environments
