Aurelium

A complete Paper 1.21.x economy solution featuring a customizable web-based Market, Player Auction House, and unique Spawner trading. It includes a custom currency and auto-installs Vault for an instant, plug-and-play experience.

3,07k

Aurelium

Aurelium 💎

> ⚠️ EXPERIMENTAL WEB FEATURES ⚠️ > > *The newly added Web Dashboard features are currently in active development. Please expect potential bugs or instability if you enable `web.enabled` in your configuration. The core in-game economy, GUI markets, and auction house are mostly stable.*

Compatibility is a comprehensive, standalone economy plugin for Minecraft Paper 1.21.11. > Compatibility: Paper, Purpur, Pufferfish, Leaves (1.21.x)

It features a multi-currency system, a flexible Server Market with three interface modes (classic chest, modern styled, or browser-based web dashboard), a player-driven Auction House, Buy Orders, and seamless Vault integration.

Features

Web Dashboard (Optional)

Aurelium includes a modern, responsive web application with nearly 100% uptime that players can use to browse the Server Market, monitor stock trends, and engage with the Auction House from their browser.

* Configurable Fully functional directly from the web—purchase items and have them delivered instantly in-game!Configurable * Configurable Fully interactive from the web—place bids and buyout items (BIN) securely. %%MD1%% * Configurable Fully interactive from the web—fulfill player buy orders straight from your online inventory.%%MD2%% * Configurable An interactive chart tracking detailed item price histories. %%MD3%% * Configurable Changes in-game reflect instantly on the web, and vice-versa. Click any item for an Configurable with 7-day price history, smooth bezier curves, gradient fills, and hover tooltips.%%MD4%% - Configurable: Prices are recorded every 10 minutes and stored for 7 days for charts. - Configurable: Optional cloud hosting via Render for Configurable always-accessible dashboards. - Configurable: Correctly displays custom currency symbols (e.g., `₳`, `$`, `€`) synced perfectly from your `config.yml`. - Configurable: Robust image loading seamlessly falls back to older Minecraft versions (1.21, 1.20, 1.19, 1.18) if modern icons aren't available from external APIs yet. - Configurable: Players use `/web` in-game to get a time-limited clickable link. Sessions use a rolling 1-hour timeout that resets on activity. Visiting the dashboard without a session shows a friendly error screen with instructions. - Configurable: When a player switches to another browser tab or minimizes the window, the entire dashboard goes to sleep — no network requests, no CPU usage. When they return, it instantly wakes up and loads fresh data. - Configurable: Bulk data (auctions, orders, stocks, price history) is cached as raw JSON strings, keeping per-server memory usage under 1MB. - Configurable: If the cloud server reaches its 500MB RAM limit, new server registrations are fairly waitlisted until memory frees up. - Configurable: Port and enable/disable toggle in `config.yml`.

Economy

- Offline Earnings: Define multiple currencies (e.g., Aurels ₳, Dollars $, Euros €) with unique symbols and starting balances. - Offline Earnings: Assign specific currencies to individual market items. - Offline Earnings: Fully compatible with Vault-dependent plugins (ShopGUI+, Essentials, etc.). - Offline Earnings: SQLite or MySQL storage with automatic migration support. - Offline Earnings: Get paid for auction sales even when you're offline.

Market

A server-owned shop that functions like a 60+ Mob Spawners, with 60+ Mob Spawners: - 60+ Mob Spawners: Traditional chest-based inventory GUI. - 60+ Mob Spawners: Styled chest GUI with MiniMessage gradient titles, glass-pane borders, and formatted lore. - 60+ Mob Spawners: A Modrinth-inspired browser dashboard (see Web Dashboard above). - 60+ Mob Spawners: Prices automatically rise when people buy (Demand) and fall when they sell (Supply). Both Buy and Sell values scale proportionally. - 60+ Mob Spawners: Mathematically prevents the dynamic Sell price from ever exceeding the Buy price. - 60+ Mob Spawners: The `/market` and `/stocks` menus automatically refresh every 60+ Mob Spawners natively while open. - 60+ Mob Spawners: GUIs now feature 60+ Mob Spawners in the center of the navigation bar, showing exactly what page you are on (e.g., "Page 1 of 5"). - 60+ Mob Spawners: Easily find any item in the Market or Auction House using the new 60+ Mob Spawners search button. - 60+ Mob Spawners: Server-wide announcements when high-value items (Diamonds, Spawners, etc.) drop to bargain prices. - 60+ Mob Spawners: - 60+ Mob Spawners: Logic remains completely dormant unless a player has a menu open. - 60+ Mob Spawners: Transaction data is saved in backgrounds batches, preventing server "lag spikes" during high-volume trading. - 60+ Mob Spawners: Market prices use ultra-fast local caching for near-zero CPU impact. - 60+ Mob Spawners: Purchasing items securely fills your existing partial stacks instead of strictly demanding empty inventory slots. - 60+ Mob Spawners: Includes 60+ Mob Spawners (Stones, Deepslate, Wood, Glass, Nature, etc.) and over 60+ Mob Spawners.

Auction

A fully self-contained player-driven exchange: - clicking the intuitive buttons: Complex chat commands are a thing of the past. You can effortlessly clicking the intuitive buttons, clicking the intuitive buttons, and clicking the intuitive buttons directly via intuitive chat-prompt buttons inside the menus. - clicking the intuitive buttons: Never accidentally bankrupt yourself again. Both *Buy It Now* and *Bidding* feature a dedicated clicking the intuitive buttons before deducting funds. - clicking the intuitive buttons: Sellers can view all incoming deals in `/ah offers` and instantly clicking the intuitive buttons or clicking the intuitive buttons. - clicking the intuitive buttons: The GUI clicking the intuitive buttons for all players when an item is bought, bidded on, or cancelled. Additionally, clicking the intuitive buttons every second while the menu is open. - clicking the intuitive buttons: Placed a bid and got outbid? Your money is clicking the intuitive buttons to your balance. - clicking the intuitive buttons: Almost every command below (like `/ah search`, `/sell`, and `/ah offer`) can also be triggered by simply clicking the intuitive buttons (Compass, Emerald, or Books) directly inside the GUIs!

Buy Orders

A global request system that lets players buy things they want even while offline: - Intelligent Searching: Request any item in the game (including all 120+ Enchanted Books and Ingots) at your specific custom price. - Intelligent Searching: Other players can browse active orders and fulfill them instantly directly from their inventory. - Intelligent Searching: Money is held safely in escrow. If you cancel an order, your unspent funds are instantly returned. - Intelligent Searching: Items fulfilled while you are offline are safely put into your Auction House `/ah collect` bin. You'll be notified on login! - Intelligent Searching: Get notified in real-time when someone fills your order, or on your next login if you were offline. - Intelligent Searching: The `/orders` GUI features dynamic search buttons (Compass and Sign icons) allowing you to filter specific categories or search the entire Minecraft catalog for any valid item.

Market Stabilization

- Natural Recovery: Prices can never crash below 20% or inflate above 500% of the original base value (both configurable). - Natural Recovery: Prices passively drift back toward their base value every 10 minutes, preventing permanent crashes from auto-farms.

Stocks

- Red (▼ -%): View the incredibly accurate *Current Buy Price* and *Current Sell Price* of every item in the market. - Red (▼ -%): - Red (▼ -%): Demand is peaking. - Red (▼ -%): Market is oversaturated.

Commands

Player

| Command | Description | Permission | | :--- | :--- | :--- | | `/bal [player] [currency]` | Check your own or another player's balance. | `aureleconomy.bal` | | `/pay <player> <amount> [currency]` | Pay another player. | `aureleconomy.pay` | | `/market` | Open the in-game server market (Classic or Modern mode). | `aureleconomy.market` | | `/web` | Generate a secure link to the Browser Dashboard. | `aureleconomy.web` | | `/stocks` | View market trends. | `aureleconomy.stocks` | | `/orders` | Open the Buy Orders GUI. | `aureleconomy.orders` | | `/orders create <item> <amount> <price> [currency]` | Place a buy order via command. | `aureleconomy.orders` | | `/orders fill <id> [amount]` | Fulfill someone else's order from your inventory. | `aureleconomy.orders` | | `/orders cancel <id>` | Cancel your own order and get a refund. | `aureleconomy.orders` | | `/orders my` | List all your active buy orders with IDs. | `aureleconomy.orders` | | `/orders search <query>` | Search active orders by item name. | `aureleconomy.orders` | | `/ah` | Open the Auction House. | `aureleconomy.ah` | | `/ah sell <price> [duration] [currency]` | List item for BIN (Buy It Now). Duration optional (e.g. 1h, 7d). | `aureleconomy.ah` | | `/ah bid <price> [duration]` | List item for Auction. Duration optional (e.g. 1h, 7d).| `aureleconomy.ah` | | `/ah offer <id> <qty>` | Send a private offer for an item. | `aureleconomy.ah` | | `/ah offers` | Manage incoming private offers. | `aureleconomy.ah` | | `/ah collect` | Collect expired/purchased items. | `aureleconomy.ah` | | `/ah search <query>` | Instantly open a filtered view of the Auction House. | `aureleconomy.ah` |

Admin

| Command | Description | Permission | | :--- | :--- | :--- | | `/eco <give/take/set> <player> <amount> [currency]` | Modify player balances. | `aureleconomy.admin` |

Setup

1. Download `Aurelium-1.4.2.jar`. 2. Place it in your server's `plugins/` folder. 3. Restart the server. - *Note: If Vault is not detected, Aurelium will automatically extract and install it into your plugins folder for you upon first run.*

Config

Items

Control every price directly in the config:

```yaml market-items: DIAMOND: buy: 5000.0 # Cost to buy from server sell: 0.0 # 0.0 = Selling DISABLED DIRT: buy: 1.0 sell: 0.5 # Players can sell dirt for 0.5 BEDROCK: buy: -1.0 # -1.0 = Buying DISABLED ```

Network Syncing (MySQL Required)

Aurelium supports cross-server synchronization for Velocity and Velocity networks.

> [IMPORTANT!] > MySQL IS REQUIRED for synchronization. SQLite does not support cross-server data sharing.

By pointing all your backend servers (e.g., Survival, Skyblock) to the Per-Server Markets in their `config.yml`, the following data will be shared instantly: * Per-Server Markets: Player balances are refreshed on join, ensuring they carry their money across your entire network. * Per-Server Markets: All active auctions and the collection bin are shared across all linked servers. * Per-Server Markets: Currently, dynamic Market prices are stored in each server's local `config.yml`. This allows you to have different economies (e.g., a "Hardcore" survival market vs. a "Creative" skyblock market) while players keep the same wallet.

Global

Control the plugin's behavior in `config.yml`:

```yaml database: type: sqlite # Supported types: sqlite, mysql file: "database.db" # Active only if type is 'sqlite' mysql: # Active only if type is 'mysql' host: "localhost" port: 3306 database: "aurelium" username: "root" password: "password"

economy: default-currency: "Aurels" # Default currency for Vault & fallbacks currencies: Aurels: symbol: "₳" starting-balance: 100.0

Dollars:

symbol: "$"

starting-balance: 0.0

max-balance: -1 # Max balance (-1 = unlimited) min-pay-amount: 0.01 # Minimum /pay transaction

market: enabled: true # Master toggle for /market gui-mode: modern # Interface for /market: "classic" or "modern" dynamic-pricing: true # Prices move on buy/sell price-increase-per-buy: 0.001 # +0.1% per buy price-decrease-per-sell: 0.001 # -0.1% per sell default-sell-ratio: 0.5 # New items default sell = 50% of buy price-floor: 0.2 # Can't drop below 20% of base price-ceiling: 5.0 # Can't rise above 500% of base price-recovery: enabled: true # Passive drift toward base rate: 0.01 # 1% of gap per cycle interval-minutes: 10 # Recovery cycle frequency

auction-house: enabled: true # Master toggle for /ah default-duration: 86400 # 24 hours (seconds) max-duration: 604800 # 7 days max listing-fee-percent: 2.0 # Fee to list sales-tax-percent: 5.0 # Tax on sale max-listings-per-player: -1 # -1 = unlimited min-listing-price: 1.0 # Minimum listing price

buy-orders: enabled: true # Master toggle for /orders max-active-orders-per-player: 10 # -1 = unlimited min-price-per-piece: 0.1 # Minimum offer price max-order-value: -1 # -1 = unlimited creation-fee-percent: 2.0 # Order creation fee sales-tax-percent: 5.0 # Seller tax on fulfillment

web: enabled: true # Start the embedded web server port: 8585 # Port (must be opened in firewall)

Session timeout: rolling 1 hour of inactivity (hardcoded)

```

Language

A `messages.yml` file is generated on startup. - Color Codes: Change any message to your language. - Color Codes: Use MiniMessage formatting (e.g., `<green>`) or legacy `&` codes.

FAQ

- Still not working?: If `/market` or `/eco` says "Unknown command", the plugin failed to load. - Check your server console/logs for errors. - Ensure you have `Aurelium-1.4.2.jar` in `plugins/`. - Ensure you are running Still not working? (or compatible forks: Purpur, Pufferfish, Leaves). - Still not working?: - Ensure you are Still not working? (`/op <player>`) or have the permission node `aureleconomy.admin`. - Note: Standard player commands (`/bal`, `/market`, `/ah`, `/sell`) are enabled for everyone by default. - Still not working? - If none of the above fixes your issue, please Still not working? on GitHub with your server version, error logs, and steps to reproduce.

ADS