Список изменений
Added
- World Storage Scanner: Scans ALL containers (chests, barrels, shulker boxes, etc.) across loaded chunks to provide truly dynamic, server-wide pricing based on global item scarcity/abundance.
- Global Item Tracking: Prices now react to total items stored across the entire server, not just player inventories or trades.
- Anti-Manipulation Protection: Per-chunk item caps, per-material caps, and suspicious activity logging prevent storage farm exploits.
- TPS-Aware Throttling: Scanner automatically skips or aborts if server TPS drops below threshold (default 18.0).
- Double Chest Deduplication: Ensures double chests are only counted once, preventing inflation.
- Configurable Container Types: Enable/disable scanning for chests, barrels, shulker boxes, hoppers, droppers, dispensers, furnaces, and brewing stands.
- Nested Shulker Scanning: Optionally counts items inside shulker boxes stored in other containers.
- World Exclusion: Skip creative, minigame, or spawn worlds from scanning.
Configuration
New price-world-storage section in config.yml:
price-world-storage:
enabled: true
scan-interval-seconds: 300
sensitivity: 0.01
global-baseline: 1000
max-impact-percent: 5.0
chunks-per-tick: 50
containers:
chests: true
barrels: true
shulker-boxes: true
hoppers: false
droppers: false
dispensers: false
furnaces: false
brewing-stands: false
scan-shulker-contents: true
excluded-worlds: []
anti-manipulation:
per-chunk-item-cap: 10000
per-material-chunk-cap: 5000
min-tps: 18.0
log-suspicious: true
Security
- Storage farm manipulation mitigated via per-chunk caps
- Coordinated price manipulation reduced through proportional contribution limits
- Admin alerts for suspicious storage patterns (chunks exceeding item caps)
Technical
- New
WorldStorageScannerservice with async batch processing - Integrated into
MarketManager.updatePrices()alongside existing inventory scanning - Uses daemon thread with configurable scan intervals
- Location-based double chest tracking prevents double-counting
Upgrade Notes
- World Storage Scanner is enabled by default for new installations
- Existing configs will use defaults; add
price-world-storagesection to customize - Performance impact is minimal due to batched async processing and TPS monitoring
[1.4.0] - 2025-10-30
Added
- Virtual Delivery System: Overflow purchases now route into a per-player pending deliveries queue backed by SQLite, protecting against item loss and duplication. Includes FIFO claims, optional auto-claim on login, and configurable per-player caps.
- Market GUI Integration: Ender Chest button exposes deliveries with badges, per-material claim buttons, and a "Claim All" option for quick retrieval.
- Delivery Commands:
/market delivery list|claim|claim-all|guiprovide complete console/player management for pending items. - Web API Endpoints: Added
/api/deliveriesand/api/deliveries/claimplus updated docs payloads so the web dashboard reflects deliveries in real time. - Documentation Enhancements: Expanded
config.ymlinline comments covering delivery settings with recommendations and gotchas.
Fixed
- Resolved the long-standing bug where
/market buy <material> 64occasionally delivered just a single item on 1.20.1 servers; delivery loop now respects stack sizes and correctly routes overflow.
Security
- Delivery storage uses atomic transactions and consistent rollback handling to guard against race conditions and duplication attempts.
Technical
- Added
DeliveryManagerwith SQLite backend, capped iterations in buy loop, and centralised inventory capacity checks shared with the web tier.
Upgrade Notes
- New config keys under
delivery.*enable/disable deliveries, auto-claim, and cap pending counts. - A new
deliveries.dbis generated on first launch when deliveries are enabled; no migration required from 1.3.x. - Existing behavior remains unchanged when the delivery system is disabled.
Файлы
TheEndex-1.5.1.jar(2.03 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.5.1
Загрузчики
PaperPurpurSpigot
Версии игры
1.21–1.21.11
Загрузок
7
Дата публикации
3 мес. назад

