# GlobalMarketplace - Configuration
# Database settings
# - Set type to 'file' to store data locally (no external DB required).
# - Set type to 'mysql' to use a MySQL/MariaDB database. When 'mysql' is selected,
# host/port/database/username/password and pool settings are used.
database:
# 'file' | 'mysql'
type: file
# MySQL host/ip when type = mysql
host: localhost
# MySQL port (default 3306)
port: 3306
# MySQL database/schema name
database: global_marketplace
# MySQL credentials
username: root
password: ""
# Connection pool (HikariCP) settings for MySQL deployments
pool:
# Max number of connections in pool
maximumPoolSize: 10
# Minimum idle connections to keep ready
minimumIdle: 2
# Milliseconds to wait for a connection before timing out
connectionTimeout: 30000
# Optional Redis settings (for multi-server networks)
# - Sync broadcasts listing changes between servers via a pub/sub channel.
# - Locks enable distributed locks to avoid race conditions across servers.
redis:
# Enable Redis features (sync and/or locks)
enabled: false
# Redis connection
host: localhost
port: 6379
password: ""
# Pub/Sub channel name for sync messages
channel: gmarket-sync
locks:
# Enable distributed locks (recommended for multi-server setups)
enabled: false
# Prefix used for lock keys in Redis
keyPrefix: gmarket:lock
# Listing configuration
listings:
# Default expiration for non-auction listings in days
expirationDays: 7
# Max number of active (unsold) listings a player can have
maxActiveListingsPerPlayer: 50
auction:
# Minimum percent a new bid must exceed the current bid/starting price
# Example: 5 means a current $100 bid requires at least $105 next bid
minBidIncrementPercent: 5
# Default auction duration in minutes (can be overridden by commands/UI if supported)
defaultDurationMinutes: 60
# GUI/UX
ui:
# Reserved for style packs or color themes (future use)
theme: default
# Sounds played on various actions (use valid Bukkit sound names)
sounds:
# When clicking buttons in menus
click: UI_BUTTON_CLICK
# When opening a marketplace menu
open: UI_TOAST_IN
# When a purchase succeeds
purchase: ENTITY_EXPERIENCE_ORB_PICKUP
# Logging
logging:
# Write transaction/activity logs to plugin log files
toFile: true
# Write transaction logs to the database (if available)
toDatabase: true
# Permissions (assign these in your permissions plugin)
permissions:
# Admin permission: manage listings, rollbacks, maintenance
admin: globalmarketplace.admin
# General use permission: access marketplace commands/menus
use: globalmarketplace.use
# Discord webhooks (optional)
# - Post marketplace events to Discord via one or more webhooks.
# - You can route different events to different channels by defining multiple entries.
discord:
# Define multiple webhooks. Each can select which events to receive.
webhooks:
# Example webhook (uncomment and set your URL):
- name: market-feed
# # Discord webhook URL (keep this secret)
url: "
https://discord.com/api/webhooks/"
# # Overrides the username/avatar shown by the webhook (optional)
username: "GlobalMarket"
avatar_url: ""
# # Events to send to this webhook. Leave empty or omit to receive all.
# # Available events:
# # - NEW_FIXED: A player lists a fixed-price item
# # - NEW_AUCTION: A player starts a new auction
# # - BID_PLACED: A bid is placed on an auction
# # - FIXED_SOLD: A fixed-price item is purchased
# # - DIRECT_SOLD: A direct listing is purchased by the target
# # - AUCTION_SOLD: An auction ends with a winner
# # - AUCTION_EXPIRED: An auction ends without a valid winning bid
events: [NEW_FIXED, NEW_AUCTION, BID_PLACED, FIXED_SOLD, AUCTION_SOLD, AUCTION_EXPIRED]