Installation
1. Pre-flight
Before dropping the JAR, make sure these are reachable from every server that will run the auction house:
RabbitMQ (
auctionhouse.itemsexchange is registered on enable).Redis (locks + average cache live there).
MariaDB / PostgreSQL credentialled for AstralCore.
AstralCore, AstralEconomy / Polaris, AstralItems, AstralPets, AstralScrolls installed.
2. Drop the JAR
Copy AstralAuctionHouse-<version>.jar into plugins/ on every server where players should be able to sell or buy. The plugin starts disabled on servers whose group is not in config.yml > commands-enabled-groups, but the cross-server cache and packet listener still spin up so prices stay consistent.
3. First start
On first start the plugin generates:
The database schema is applied automatically via schema.sql on the first DB connection:
Table | Purpose |
|---|---|
| One row per listed item with |
| One row per completed sale. Auto-pruned to 60 days by the cleanup task. |
4. Configure
In order:
config.yml— set the global TTL, sell tax, blacklisted materials, and the listing limits per permission node. See Configuration.categories.yml— adjust the slot layout and the materials each category catches.messages.yml— localise. See Messages.menus/*.yml— every screen is an AstralCore menu; tweak freely without rebuilding the JAR.
Reload at runtime with /ah reload — no restart needed when only YAML changes.
Permissions
Node | Default | Description |
|---|---|---|
| true | Required to open |
| op | Run |
| op | Run |
| per tier | Listing-limit override — e.g. |
/ah sell is not behind a permission node; it is gated by commands-enabled-groups (typically spawn). See Selling, Buying & Claiming.
RabbitMQ
The plugin registers one exchange: auctionhouse.items. Two packets:
Opcode | Packet | Fired by |
|---|---|---|
|
|
|
|
|
|
Every server with the plugin enabled subscribes and refreshes its Caffeine cache for that item. See Architecture.
Redis keys
Key | Type | Purpose |
|---|---|---|
| string + EX 30s | Distributed lock around buy / claim / expire. |
| hash |
|