Installation
Requirements, the install steps, what happens on the first run and what the plugin folder looks like afterwards.
Installing AT-AuctionHouse takes about two minutes. The only thing you have to get right is the economy.
Requirements
| Server software | Paper or Folia |
| Minecraft | 1.21.1 or newer, including the 26.x line |
| Java | 21 on 1.21.x, 25 on 26.x |
| Vault | Required |
| Economy plugin | Required, for example EssentialsX |
| Redis | Only for cross-server mode |
| MySQL or MongoDB | Only for cross-server mode, or if you prefer them over SQLite |
Vault and an economy plugin are effectively required. Vault is listed as a soft-depend in
plugin.yml so your server still starts without it, but AT-AuctionHouse then logs
No Vault economy provider was found. and disables itself. There is no offline or
no-economy mode.
One jar for every version
AT-AuctionHouse is compiled against Paper API 1.21.1 and targets Java 21 bytecode, with
api-version: 1.21.1 in plugin.yml. Paper is forward compatible, so a jar built
against 1.21.1 loads on 26.x, while one built against 26.x would call methods that do not
exist on 1.21.x.
1.21.1 is the floor because the anvil search bar and the Folia detection API both arrived there.
Folia
Folia support is real, not just the flag. Every piece of work is routed to the thread that owns it: server-wide sweeps and all economy calls to the global scheduler, menus and item handovers to the player's own entity scheduler, the temporary search sign to that block's region, and all database and Redis traffic to the async scheduler.
On Folia, Vault and your economy plugin must themselves be Folia-compatible. Upstream
Vault is not marked folia-supported, so Folia refuses to load it, the economy hook then
finds no provider, and AT-AuctionHouse disables itself. Use a Folia-compatible Vault fork
and a Folia-compatible economy plugin. This is not specific to this plugin. Every
Vault-based plugin has the same constraint.
Install
Get the jar
See Download for where to buy it and how to get the latest build.
Install Vault and an economy plugin
Drop Vault into plugins/ along with an economy plugin such as EssentialsX. On Folia use
Folia-compatible builds of both.
Stop the server
Shut it down fully. Do not hot-load the jar with a plugin manager. The plugin registers schedulers, listeners and a storage pool at enable time.
Drop in the jar
Move the AT-AuctionHouse jar into your plugins/ folder.
Start the server
Watch the console. A healthy start logs one line naming the platform, the storage backend, the economy provider, the language and whether cross-server mode is on.
Try it
Run /ah in game. The auction house opens, empty. Hold an item and run /ah sell 100
to make sure the economy hook works end to end.
First run
On the first start the plugin creates its data folder and extracts every file it owns. All four language files are extracted, not just the one you are using, so you can see what is available before switching.
Storage is set up at the same time. With the default SQLite backend that means creating
auction.db and its three tables. Nothing else is needed.
The listing cache is warmed in the background, so a large database never blocks startup.
Plugin folder
| File | What it holds | Page |
|---|---|---|
config.yml | Behaviour, storage, limits, sounds | Configuration |
gui.yml | Every menu: layout, materials, names, lore | Menus |
lang/*.yml | Every chat message | Languages |
auction.db | The SQLite database, only when DATABASE.TYPE is SQLITE | Storage |
Upgrading
Stop the server, replace the jar, start it again. Your config files are upgraded in place: new keys and their comments are merged in, your values are kept exactly as you set them, and keys that no longer exist are removed. Nothing to diff and nothing to regenerate.
The upgrade is driven by the CONFIG-VERSION, GUI-VERSION and LANG-VERSION keys at
the top of each file. Do not edit them by hand. See
Configuration for how they work.
Optional integrations
| What | Why | Where |
|---|---|---|
| Redis | Cross-server sync notifications | Cross-server |
| MySQL | Shared storage across a network | Storage |
| MongoDB | Shared storage across a network, document style | Storage |
| Any permissions plugin | Per-rank listing slots | Permissions |
Database and Redis drivers are declared as libraries in plugin.yml and downloaded by
the server at startup into an isolated classloader. There is nothing to install by hand,
and only the driver matching your DATABASE.TYPE is ever initialised.
There is no PlaceholderAPI support and no developer API. Do not plan around either.