minecraft-server/docs/RESEARCH-SHOP-AH-HYBRID.md

89 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Research: Shop + Auction House Hybrid Plugins
**Date:** 2026-05-07
**Question:** Replace EZShop + AuctionHouse (two plugins) with one unified plugin?
**Goal:** Polished UX, minimal command surface, ideally AGPL/GPL-compatible.
---
## Candidates
### 1. ExcellentShop (NightExpress) — top contender
- **Component count:** Single jar, modular internally (Virtual Shop / Chest Shop / Auction House — each toggleable in config).
- **License:** **GPL-3.0** (open source, AGPL-compatible upstream — sources at https://github.com/nulli0n/ExcellentShop-spigot). Sold as paid binary on SpigotMC/BuiltByBit (~$1520) but source is free and self-buildable.
- **Last release:** Active — repo pushed 2026-04-27, v4.19.x line, MC 1.21.8+ Java 21.
- **Config:** Split per module (`virtual-shop/`, `chest-shop/`, `auction/` config trees) but lives under one plugin folder.
- **GUI:** Separate per module (no fused mega-GUI), but shared theme/skin.
- **Vault dep:** No — uses CoinsEngine, ExcellentEconomy, PlayerPoints, BeastTokens. Vault works via bridge.
- **Commands:** `/vshop`, `/cshop`, `/ah` (separate namespaces) + `/sell`, `/sellall`, `/sellhand`. Aliases configurable.
- **Notes:** Requires NightCore framework jar. Same dev as CoinsEngine — entire NightExpress stack is GPL-3.0.
### 2. EconomyShopGUI
- **Component count:** Single jar. Free tier covers admin GUI shop + sellall; **player shops + auction house are EconomyShopGUI Premium only** (paid).
- **License:** Closed source (no public repo). Free version actively maintained, v6.16.x, MC 1.21.11.
- **Vault dep:** Yes (Vault, PlayerPoints, GemsEconomy).
- **GUI:** Unified theme, single command tree under `/shop`.
- **Verdict:** Free version doesn't include AH — defeats the unification purpose unless paying for Premium.
### 3. CMI (Zrips)
- **Component count:** Single mega-plugin (Essentials replacement).
- **License:** Closed source, **paid €15** lifetime.
- **Shop/AH:** **No built-in shop or auction house.** Has economy, /sellhand, cheques only. Not a candidate.
### 4. UltimateShop / UltimateShopGUI (BuiltByBit)
- **Component count:** Single jar bundling shop + AH + custom economy.
- **License:** Closed-source paid (BuiltByBit only).
- **Verdict:** Reduces command surface but locks you into a paywalled binary with unclear support lifecycle. Skip on principle (racked.ru philosophy: pragmatic, but FOSS-leaning).
### 5. AxAuctions / AxShop (Artillex-Studios)
- **Component count:** Two separate paid plugins from same vendor; consistent UI theme but no unification.
- **License:** Closed-source paid. No advantage over current EZShop+AuctionHouse split.
### 6. ShopGUIPlus + AuctionGUIPlus (brcdev)
- **Component count:** Two paid plugins from same vendor. Industry standard but expensive (~$30 combined), Vault-locked, closed-source.
- **Verdict:** Same problem as current setup — two configs, two GUIs, two updates.
### 7. NightExpress modular suite (CoinsEngine + ExcellentShop)
- The "modular suite" concept (CoinsEngine + ItemStores + AuctionStation) doesn't exist as named — **ExcellentShop already is the suite**. CoinsEngine handles currency, ExcellentShop handles shop+chest+AH. Two GPL jars total.
### 8. kiranhart AuctionHouse
- AH only (no admin shop). Single jar, no LICENSE file in repo (effectively closed source despite mirror on GitHub). Active. Not a unified solution.
---
## Verdict: Unified vs Split
**Unified wins for racked.ru** — but only if the unified plugin is good. Two separate plugins means:
- Two config dialects to maintain
- Mismatched GUI themes (jarring for the polished feel)
- Doubled update cadence and breakage surface
- More commands in `/help` for new players
A single well-designed plugin (ExcellentShop) gives consistent skin, one permission tree prefix, one update path, one bug-report destination. The trade-off — slightly larger jar, less "best of breed" per module — is worth it for a small server prioritising polish.
**The catch:** ExcellentShop's modules still expose separate top-level commands (`/vshop`, `/cshop`, `/ah`). Command-surface savings come from aliasing (`/shop` → `/vshop`, hide the rest) and disabling unused modules.
---
## Recommendation
**Migrate to ExcellentShop + CoinsEngine** (or keep Vault if EssentialsX economy is in use).
Reasoning:
1. **GPL-3.0** — aligns with racked.ru's FOSS-leaning, AGPL-compatible philosophy. Source self-buildable, free of paywalled-binary risk.
2. **Single jar, modular internally** — disable Chest Shop if EZShop's chest-shop UX isn't wanted; keep Virtual Shop (admin) + Auction House.
3. **Active maintenance** (push 2026-04-27, same dev as CoinsEngine — won't go dark).
4. **Consistent GUI theme** across shop and AH = the "polished feel" the operator wants.
5. **Replaces both EZShop and AuctionHouse** in one move, plus offers chest shops as a future bonus.
**Don't pick:** UltimateShop/AxAuctions (closed paid), CMI (no shop/AH), EconomyShopGUI free tier (no AH).
**Action item:** Pilot ExcellentShop on staging, alias `/shop``/vshop` and `/market``/ah`, disable Chest Shop module unless needed. Verify GPL build pipeline (`mvn package` on the GH source) so racked.ru never ships a paywalled binary.