[Main Server Suggestion] Addition of the Auction House

Discussion in 'Suggestions' started by Mission001, Sep 22, 2026.

  1. Mission001

    Mission001 Ex-EcoLegend HⱻặĐHůƞẗǝɍ
    ECC Sponsor President ⛰️⛰️ Ex-EcoLegend ⚜️⚜️⚜️⚜️ Prestige ⭐ III ⭐ Premium Upgrade

    Joined:
    Apr 16, 2011
    Messages:
    5,586
    Trophy Points:
    121,160
    Gender:
    Male
    EcoDollars:
    $0
    Ratings:
    +6,491
    In Game Name:
    Mission001​
    What part of EcoCityCraft is this suggestion for:
    Main Server​
    Short title for your suggestion:
    Addition of the Auction House​
    What are you suggesting:
    Auction House — Resuggestion / Alternative Implementation

    I know Auction House systems have been suggested previously, most recently here:

    Previous Auction House Suggestion

    That suggestion was ultimately denied after discussion with the development team because the potential for exploits/issues was considered too high.

    I completely understand that concern, particularly on a server like ECC where protecting the economy from duplication bugs and other exploits has to take priority over adding a convenience feature.

    However, I would like to suggest reconsidering the idea using a different and newer Auction House plugin:

    Suggested Plugin:
    AuctionHouse — SpigotMC

    My reason for resuggesting this isn't simply that I think ECC needs an Auction House. I'm suggesting it again because this particular implementation appears to have been designed with transaction safety, logging and administrative oversight in mind, which directly relates to the reason the previous suggestion was denied.

    Exploit Prevention / Transaction Safety

    The main concern from the previous suggestion was the potential for exploits and other issues.

    According to the plugin developer, this Auction House implementation includes:

    • Atomic SQL operations
    • Transaction locks
    • Dupe prevention
    • GUI drag protection
    • Persistent database storage
    • Transaction logging
    • Administrative listing inspection
    • Force-cancelling listings
    • Returning items through admin commands
    • Player transaction history

    Obviously, I am not claiming that this means the plugin is exploit-proof.

    Any plugin that handles valuable items and money would need to be reviewed and tested by ECC's development team before being trusted on the live server.

    However, given that the previous suggestion was denied specifically because of the risk involved, I think a newer implementation that has been built with transaction locking, dupe protection and administrative auditing in mind may at least be worth investigating.

    A Marketplace for Rare and Premium Items

    I don't really envision the Auction House becoming a replacement for normal player shops.

    Instead, I think its main purpose would naturally become the buying and selling of rare, premium and high-value items that aren't commonly stocked in shops.

    Examples would include:

    • Magic Tools
    • Star Tools
    • Jobs Apparel
    • Rare or limited items
    • High-value enchanted/lored equipment
    • Collectibles
    • Other unusual or difficult-to-find items

    These are the kinds of items where the current buying and selling process can be difficult.

    Because they're rare and relatively niche, it doesn't always make sense for somebody to maintain a shop specifically stocking them. A player looking for a particular Magic Tool, piece of Jobs Apparel or another rare item may instead need to advertise that they're looking for one and hope somebody who owns one happens to be online and willing to sell it.

    An Auction House would solve that problem by creating a central market for these items.

    A seller could list a rare item and leave it available for potential buyers without needing to repeatedly advertise it. Likewise, a buyer could browse what is currently available rather than relying on the right seller being online at the right time.

    High-Value Rather Than High-Volume Trading

    I would expect the Auction House to become much more of a high-value, low-volume marketplace than somewhere people go to sell everyday materials.

    Realistically, I can see a large proportion of listings being worth $100,000+, with even the lower-value listings often being around $50,000 or more.

    There is little reason for somebody to use a limited Auction House listing slot to sell ordinary blocks or materials when those items are already well suited to traditional player shops.

    The Auction House would instead give players somewhere to list the items that are valuable enough to sell individually but rare enough that maintaining permanent shop stock isn't practical.

    Better Visibility for Rare Items

    One of the problems with rare items is not necessarily that nobody wants to buy or sell them. It can simply be difficult for buyers and sellers to find each other.

    For example, somebody may own a particular Magic Tool they would happily sell for the right price, while another player has been looking for exactly that tool.

    Unless both players happen to be online at the right time or advertise in the right place, that transaction may never happen.

    An Auction House creates a persistent marketplace where that item can remain visible regardless of whether the seller is currently online.

    This could be especially useful given ECC's players are spread across different time zones.

    Existing Shops Would Still Have a Purpose

    I don't think an Auction House would remove the need for traditional player shops because the two systems would serve very different markets.

    Player shops make sense for regularly traded items that can be kept in stock: building materials, ores, farming products, blocks and other everyday goods.

    An Auction House makes more sense for an individual Magic Tool worth hundreds of thousands of dollars, a rare piece of Jobs Apparel or another item where there may only be a handful available on the entire server.

    Listing limits would further reinforce this difference.

    If players only have a small number of Auction House slots available, there would be little incentive to waste those slots listing stacks of ordinary materials.

    Listing Limits

    I think listings should be deliberately limited.

    Rather than allowing somebody to put hundreds of items onto the Auction House, each player could have only a small number of active listings at once.

    This would encourage players to reserve their listings for items actually worth exposing to the server-wide market.

    It would also prevent the Auction House from becoming cluttered with thousands of low-value items.

    Economy Sink

    The Auction House could also provide another money sink.

    The plugin supports configurable listing fees and sales taxes.

    Considering the value of the items likely to be sold through the Auction House, even a relatively small percentage could remove a meaningful amount of money from the economy.

    For example, if an item sold for $500,000, a percentage-based transaction fee would remove money from circulation in exchange for the convenience of having access to a server-wide marketplace.

    There could potentially also be a listing fee to discourage players from repeatedly listing items at unrealistic prices.

    Rather than enforcing a strict minimum item value, a meaningful listing fee could naturally discourage low-value listings. If listing an item costs several thousand dollars regardless of whether it sells, players are unlikely to fill their limited slots with items worth only a few hundred dollars.

    The exact fees would obviously need to be determined by staff based on ECC's economy.

    Potential Price History

    One feature of this particular plugin that I think is especially interesting for ECC is price history.

    Rare items can sometimes be difficult to value because transactions don't happen frequently and sale prices aren't always publicly visible.

    If the Auction House records successful sales, players could potentially see what similar items have actually sold for previously.

    For items such as Magic Tools, Star Tools and Jobs Apparel, this could give both buyers and sellers more information when deciding what they believe an item is worth.

    I know we got rid of shopdb for this kind of information so it could easily just be disabled if we wanted to keep the economy non documented officially.

    Start Small

    If the main concern remains risk, this doesn't necessarily need to launch as a completely unrestricted system.

    It could initially be tested with:

    • Low listing limits
    • Listing fees
    • Sales taxes
    • Full transaction logging
    • Restrictions on problematic items if necessary
    • Staff monitoring during an initial trial

    The system could even initially focus primarily on the premium/rare-item market rather than trying to accommodate every item on the server.

    If testing identifies duplication bugs, item-data issues or other unacceptable risks, then obviously it shouldn't be introduced.

    Conclusion

    I understand why the previous Auction House suggestion was denied. On an economy server, protecting against duplication and transaction exploits is far more important than adding a convenience feature.

    However, I think there is still a genuine gap in the market when it comes to trading ECC's rarer and more valuable items.

    Magic Tools, Star Tools, Jobs Apparel and similar items are valuable but relatively niche. They aren't necessarily items that players can expect to find stocked in a normal shop, and finding a buyer or seller currently depends heavily on advertising and both parties finding each other.

    An Auction House could create a dedicated high-value, low-volume marketplace for these items without replacing traditional player shops.

    Most importantly, the plugin suggested here appears to have been developed with transaction locking, dupe prevention, database transactions and administrative logging specifically in mind.

    That doesn't guarantee that it is suitable for ECC, but given that these features directly address the concerns raised when the previous suggestion was denied, I think it would be worth the development team investigating and testing this particular implementation.

    With the help of AI to organise a coherent post to my multiple messages of thoughts/
    One suggestion per form:
    I Understand.​
     
    #1 Mission001, Sep 22, 2026
    Last edited: Sep 22, 2026
  2. pooplunch

    pooplunch Kingfish
    EcoLeader ⛰️⛰️⛰️ Ex-EcoLeader ⚜️⚜️⚜️ Premium Upgrade

    Joined:
    Oct 22, 2012
    Messages:
    846
    Trophy Points:
    45,360
    Ratings:
    +362
    +1 This would be great assuming that it truely has far fewer exploits than the OG Auction House plugin.
     
  3. OConner1279

    OConner1279 Tycoon
    Tycoon ⛰️⛰️⛰️ Ex-Tycoon ⚜️⚜️⚜️ Prestige ⭐ I ⭐ Premium Upgrade

    Joined:
    Apr 10, 2020
    Messages:
    590
    Trophy Points:
    44,660
    Ratings:
    +665
    +0.5 This would be a massive step up in creating genuine markets for items and decreasing transaction costs.

    However, not sure about the quality of this specific plug-in...
     
  4. xvgwest

    xvgwest President
    President ⛰️⛰️ Ex-President ⚒️⚒️ Premium Upgrade

    Joined:
    Jul 7, 2016
    Messages:
    84
    Trophy Points:
    58,670
    Gender:
    Male
    Ratings:
    +31
    Agree with OConner, I took a quick look at the source with CFR. The plugin is well intentioned, but the execution is lacking for prod.


    The obvious issues:

    The lock system is built but never actually used properly. The plugin has a method (`tryLockWithTimeout`) that would prevent threads from hanging indefinitely it's just never called anywhere. Every transaction uses a raw blocking lock instead, meaning a single laggy economy plugin call could freeze the entire auction system.


    Buying, cancelling, and fills are not crash-safe. The sequence for any transaction is: update the database, move money via Vault, deliver the item. Steps 2 and 3 happen outside the database transaction. If the server crashes or restarts between any of those steps there is no recovery mechanism. items can disappear, money can be lost, or both. There's no pending-transaction log, no outbox, no way to detect or repair an interrupted transaction on restart.


    The partial buy restore has no guard, which can create items from nothing. When a partial purchase fails partway through, the rollback code adds quantity back to the auction without checking the auction's status. In a race condition scenario this can result in the database showing more items than were ever listed.


    Loser bid refunds in auctions are fire-and-forget. When an auction resolves, money is refunded to losing bidders with no check on whether the refund actually succeeded. A Vault hiccup at that moment means players permanently lose their bids with no record.

    To be fair, SQL injection prevention is solid, the DB-level atomic operations are correctly written, and the webhook/SSRF protection is fine. The bones are good. But the transaction layer between the database and the economy/inventory systems is where it fails.


    As much as I want to see some kind of auction house or shopdb etc. on ECC, This one would need a major rework of the transaction flow before I'd give it a passing grade for any production environments.
     
    #4 xvgwest, Sep 26, 2026
    Last edited: Sep 27, 2026