
AuctionHouse by ilius
A modern, lightweight auction house with GUI, categories, price history & multi-database support
AuctionHouse v1.1.3 — Hotfix
Bug Fixes
- Fixed harmless "Duplicate column/key name" warning spam on every restart with MySQL
v1.1.2 Changelog
Bug Fixes
- Fixed AuctionHouse failing to load on Folia servers — the plugin is now correctly marked as Folia-compatible
v1.1.1 Changelog
Compatibility
- Restored backwards compatibility with Paper 1.21.x and Java 21
- Still loads cleanly on Paper 26.1+ with Java 25 — one build works on both
Bug Fixes
- Update checker now compares versions semantically instead of by string equality (no more "new version available" when you're already on a newer build)
- Update checker safely ignores garbage / outage responses from SpigotMC
- Fixed a build issue where plugin.yml versions could lag behind the actual release
Improvements
config.ymlnow self-heals on startup — keys added in newer plugin versions are automatically merged into older configs. Fixes "admin GUI toggle doesn't save" symptoms caused by stale configs missing newer keys (e.g.modules.buyorderson configs pre-dating the Buy Orders feature)
v1.1.0 Changelog
Compatibility
- Updated to support Paper 26.1+ (Minecraft 26.1.2 and later)
- Now requires Java 25 — matches the new Paper server runtime
Note
- Stay on the previous version if you're running Paper 1.21.x or Java 21
v1.0.4.2 Changelog
Improvements
- Mailbox GUI now paginates at the database level — opens instantly regardless of mailbox size
- Increased default mailbox capacity from 100 to 500 items per player (configurable, LuckPerms-overridable)
- Lowered default expiry check interval from 20 minutes to 5 minutes for faster auction turnover
v1.0.4 Changelog
Bug Fixes
- Fixed a race condition where expired auctions could be delivered to both the buyer and returned to the seller's mailbox under high load
- Fixed memory leak: GUI click cooldowns were never cleared, accumulating one entry per unique player forever
- Fixed memory leak: mailbox cache was retained for offline players indefinitely
- Fixed memory leak: transaction lock map could grow unbounded if cleanup was missed on exception paths
- Async-wrapped seller info GUI back button — no longer blocks the main thread on a database query
Compatibility
- Now works on Spigot 1.20+ (previously Paper-only) — runtime detection automatically uses the right serialization format
- Backwards-compatible item storage — existing databases work without migration on either platform
- Folia and Purpur still fully supported
Improvements
- Added background sweep task that removes idle transaction locks every 5 minutes
- Removed unused legacy code paths to reduce footprint
- Added 9 new automated stress tests covering memory leaks, lock contention, and concurrent load (106 total tests)
AuctionHouse v1.0.3.1 (patch)
-Fixed mailbox items lost when inventory is full — overflow drops at your feet -Fixed a race condition in GUI click rate limiting -Switched from MySQL Connector (GPL) to MariaDB Connector (LGPL) — works with both MySQL and MariaDB -Fixed character encoding to utf8mb4 for special characters -Replaced sign-based text input with chat-based input — no external dependencies
v1.0.3 Changelog
Bug Fixes
- Custom datapack items now display proper names everywhere instead of raw translation keys
- Mailbox items no longer silently lost when inventory is full — overflow drops at your feet
- Fixed a race condition in GUI click rate limiting that could allow click-spam exploits
- Fixed price history query missing a safety limit — large databases no longer risk lag spikes
- Removed invalid
CHAINmaterial from default categories (removed in newer Paper versions)
MySQL / MariaDB
- Fixed character encoding to
utf8mb4— item names with special characters no longer corrupt - Fixed MySQL driver isolation to prevent classpath conflicts with other plugins
- Added missing performance indexes on transaction queries
- Fixed index creation compatibility with MySQL 5.7 and older MariaDB versions
- Removed deprecated
autoReconnectflag that could silently lose transaction state
Improvements
- Auction listings now track material type for faster search and matching
- Centralized item name resolution across all GUIs and messages
Bug Fixes
-Fixed Discord webhook reporting wrong quantity for listings (showed x1 instead of actual amount)
Improvements
-Migrated item serialization to Paper's modern NBT format — safer, cross-version compatible, and ready for 26.1 -Existing auction data loads seamlessly with automatic legacy format detection -Replaced deprecated API calls for future-proofing
🛡️ Security
- Fixed potential item duplication via mailbox claim-all
- Fixed potential item duplication on partial buy revert
- Fixed transaction lock race condition under concurrent load
- Added InventoryDragEvent handler to prevent item loss in GUIs
- Added rate limiting to My Listings GUI clicks
- Improved deserialization safety for corrupt item data
- Added query limits to prevent memory issues on large servers
📊 Price History
- New bar chart style with 5 height levels (stock market style)
- Added price scale labels on both sides (High/Avg/Low)
- Added date labels on bottom row
- Added peak indicator with enchantment glow on highest price
- Added week paging — view 7, 14, or 30 day ranges
- Custom datapack items now get separate price histories
- Fixed title showing raw translation keys for datapack items
🔧 Bug Fixes
- Fixed mob drops category not showing items (magma cream, string, etc.)
- Fixed container blacklist not scanning shulker box contents
- Fixed miscellaneous category icon (was showing chest, now compass)
- Fixed filter hopper showing raw message key
- Fixed buy confirmation GUI not opening
- Fixed price history showing wrong low price with single data point
- Fixed expiry check interval now configurable
✨ New Features
- Buy confirmation GUI — review purchases before committing
- Right-click listings to view seller info
- Seller info shows stats, active listings, and "View Listings" button
- Admin seller info shows additional data (IP, first join, etc.)
- Configurable command cooldown
Initial release
- Full GUI auction house system
- Buy & sell confirmation screens
- 10 item categories with filters
- Price history charts
- Container preview (shulker boxes)
- Seller profiles
- Mailbox system with zero item loss
- SQLite, MySQL, and MariaDB support
- LuckPerms, PlaceholderAPI, WorldGuard integration
- Discord webhooks
- Folia compatible
- Migration from CrazyAuctions, zAuctionHouse, Fadah, Akarian

