Skip to content

config.yml

Storage, prompts, listing rules, bumping, history, number format, blacklists, listing lore and menu sounds.

Global settings. After editing, run /ahadmin reload (storage changes need a restart). A key you remove falls back to the shipped value.

Settings:
Storage:
Type: SQLITE
Host: "127.0.0.1"
Port: 3306
Database: "minecraft"
Username: "root"
Password: ""
Search-Mode: CHAT
Listing-Duration: 86400
Expired-Deletion-Time: -1
Expiry-Check-Interval: 30
Menu-Refresh-Ticks: 20
Min-Price: 1.0
Max-Price: -1
Listing-Fee-Percent: 0.0
Default-Listing-Limit: 5
Broadcast-New-Listings: false
Bump-Cooldown: 300
Bump-Cost: 0.0
History-Limit: 90
History-Keep-Days: -1
Number-Format: { ... }
Blacklisted-Materials:
- "BEDROCK"
- "COMMAND_BLOCK"
- "*SPAWN_EGG"
Blacklisted-Names: []
Key Default Description
Storage SQLite Database settings, see Storage.
Search-Mode CHAT How typed input is asked for: CHAT (type in chat) or ANVIL (an anvil with a text field). Applies to the search, the sell price and the custom buy amount. Any other value fails the load.
Listing-Duration 86400 Seconds a listing stays on the market before it expires. Must be at least 1.
Expired-Deletion-Time -1 Seconds after expiry before an uncollected listing is deleted with its items. -1 keeps expired listings forever.
Expiry-Check-Interval 30 Seconds between expiry checks. Minimum 1.
Menu-Refresh-Ticks 20 Ticks between redraws of open auction menus, so timers and stock stay current. 0 turns live refresh off.
Min-Price 1.0 Lowest price per item. Must be above 0.
Max-Price -1 Highest price per item. -1 means no maximum.
Listing-Fee-Percent 0.0 Fee charged when listing, as a percentage of the listing’s total value (per item price × amount), in the listing’s currency. Not refunded on cancel.
Default-Listing-Limit 5 Active listings a player can have without an optimalauctions.limit.<n> permission.
Broadcast-New-Listings false Send LISTING-BROADCAST to every other online player when someone lists an item.
Bump-Cooldown 300 Seconds between bumps of the same listing. Starts when the listing is created.
Bump-Cost 0.0 Charged per bump, in the listing’s currency. 0 makes bumping free.
History-Limit 90 How many sales /ahadmin history loads, newest first.
History-Keep-Days -1 Sales older than this many days are deleted at server start. -1 keeps them forever.
Number-Format see below How amounts are written. See Number-Format.
Blacklisted-Materials bedrock, command blocks, spawn eggs Materials that cannot be listed.
Blacklisted-Names [] Display names (without colors) that cannot be listed.

Blacklist entries are case insensitive and support * at the start, the end or both: *SPAWN_EGG (ends with), DIAMOND_* (starts with), *Admin* (contains).

Key Default Description
Type SQLITE SQLITE (file at data/data.db) or MYSQL.
Host 127.0.0.1 MySQL host.
Port 3306 MySQL port.
Database minecraft MySQL database (schema) name.
Username root MySQL user.
Password "" MySQL password.
Properties none Optional section of extra MySQL connection properties, e.g. useSSL: "false".

Only Type matters for SQLite. The database is opened at startup, so changing any of these needs a restart. Data is not copied between SQLite and MySQL.

How prices, balances and fees are written. Each currency picks ABBREVIATED or SEPARATED with its own Format key; Default is used by currencies that leave Format out.

Number-Format:
Default: ABBREVIATED
Separated:
Grouping-Separator: ","
Decimal-Separator: "."
Decimals: 2
Abbreviated:
Thousands: "K"
Millions: "M"
Billions: "B"
Trillions: "T"
Quadrillions: "Qa"
# ... every scale up to
Centillions: "CT"
Key Default Description
Default ABBREVIATED ABBREVIATED (1.5K) or SEPARATED (1,500).
Separated.Grouping-Separator , Thousands separator. Exactly one character.
Separated.Decimal-Separator . Decimal mark. Exactly one character.
Separated.Decimals 2 Maximum decimals shown, 0 to 8.
Abbreviated.<Scale> K, M, B, … The suffix for each power of a thousand.

The Abbreviated scales must start at Thousands and be contiguous. You can stop early (for example only Thousands to Trillions), but you can’t skip one in the middle. The shipped file lists every scale from Thousands to Centillions.

{stock} and other counts always use the separated form.

Lore lines appended below the item’s own lore on listing icons. Each menu has its own block.

Listing-Format:
Browse-Lore:
- ""
- "&eInformation:"
- "&6 - &7Seller: &f{seller}"
- "&6 - &7Stock: &fx{stock}"
- "&6 - &7Price: {unit-price} {currency} &7each"
- "&6 - &7Expires: &f{expires}"
- ""
- "&e➥ Click to purchase!"
Key Used for
Browse-Lore Other players’ listings on the main board.
Own-Lore Your own listings, on the main board and in Your Auctions (cancel / bump hints).
Purchase-Lore The item preview at the top of the purchase menu.
Expired-Lore Listings in the expired menu.
History-Lore Sales in the history menu.
Removal-Lore Listings in the admin removal menu.
All-Items What {category} shows when no category or search is active. Default All Items.
Prompts Anvil prompt texts, see below.

Available in every lore block above.

Token Value
{item} The item’s display name.
{material} The material, prettified (Diamond Sword).
{stock} Items left, comma-grouped. In History-Lore, the amount sold in that sale.
{amount} Items left, plain number.
{listed-stock} How many items the listing started with.
{unit-price} Price per item, formatted in the currency’s primary color.
{price} Value of the remaining stock (in History-Lore, the value of that sale), primary color.
{unit-price-raw}, {price-raw} The same values as plain numbers.
{currency} The currency’s Display-Name in its secondary color.
{seller} The seller’s name.
{buyer} The buyer’s name. History only, empty elsewhere.
{expires} Time left (23h, 59m, 57s). 0s once expired.
{listed} Date the listing was created (dd/MM/yyyy HH:mm).
{sold} Date of the sale. History only.
{id} The listing’s unique id.

{unit-price} {currency} reads as a colored amount followed by the colored currency name, for example &a1.5K &2Money.

Only used when Search-Mode: ANVIL. Title is the anvil’s title, Hint is the text pre-filled in the name field. In CHAT mode only the chat message (SEARCH-PROMPT, PRICE-PROMPT, AMOUNT-PROMPT in messages.yml) is sent.

Prompts:
Search:
Title: "&8Search Auctions"
Hint: "Item name..."
Price:
Title: "&8Price Per Item"
Hint: "0"
Amount:
Title: "&8Purchase Amount"
Hint: "1"
Prompt Shown when
Search A player clicks the search button.
Price /ah hand or /ah all is used without a price.
Amount A player clicks Custom Amount in the purchase menu.

All three blocks, with both Title and Hint, are required. In chat mode, typing cancel stops the prompt; in anvil mode, closing the anvil does.

Named sounds in "NAME;volume;pitch" form. Names are XSound names, which stay stable across Minecraft versions. Set a key to "" to silence it. Deleting the whole section turns every sound off.

Inventories-Sounds:
"MAIN-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"LISTINGS-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"EXPIRED-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"HISTORY-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"REMOVAL-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"CATEGORY-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"PURCHASE-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"BUTTON-CLICK": "ENTITY_CHICKEN_EGG;1;1"
"PAGE-CHANGED": "ENTITY_CHICKEN_EGG;1;1"
"NO-PAGE-FOUND": "BLOCK_NOTE_BLOCK_PLING;1;0.5"
"PURCHASED": "ENTITY_PLAYER_LEVELUP;1;1.5"
"SOLD": "ENTITY_PLAYER_LEVELUP;1;1"
"LISTED": "ENTITY_PLAYER_LEVELUP;1;1.5"
"COLLECTED": "ENTITY_ITEM_PICKUP;1;1"
"BUMPED": "ENTITY_CHICKEN_EGG;1;1"
"DENIED": "ENTITY_VILLAGER_NO;1;0.5"
Key Played when
MAIN-MENU-OPEN … PURCHASE-MENU-OPEN The matching menu opens.
BUTTON-CLICK The sort order changes, or a category is picked or cleared.
PAGE-CHANGED A page arrow turns the page.
NO-PAGE-FOUND A page arrow is clicked on the first or last page.
PURCHASED The buyer completes a purchase.
SOLD An online seller is paid for a purchase.
LISTED An item is listed.
COLLECTED A listing is cancelled, collected, or removed by an admin.
BUMPED A listing is bumped.
DENIED An action is refused (listing, purchase, cancel, bump, collect).