Skip to content

Configuration Overview

Bazaar extracts its editable configs to config/bazaar/ on first startup. The mod reads those extracted .conf files at runtime; editing the bundled copies inside the jar does nothing.

SurfaceHow changes apply
web-theme.conf + themes/Live reload with /bazaar admin theme reload.
discord-webhooks.confLive reload with /bazaar admin reload discord-webhooks.
pokemon-visuals.confLive reload with /bazaar admin reload pokemon-visuals.
price-control.confLive reload with /bazaar admin reload price-control. In a cluster, run it on the orchestrator.
gui/*.conf, item-rendering.conf, pokemon-rendering.conf, messages.conf, sounds.conf, and the core runtime configsRestart the server after editing.
FilePurpose
config.confServer role, Redis, web dashboard, auction toggles, GTS listing filters, and chat announcement switches.
channels.confAH channel definitions. See Channels.
fees.confGlobal fee defaults used when a channel does not override them.
limits.confPer-player rate limits and active-listing caps.
retention.confStats retention windows and compaction timing.
security.confWash-trade and price-anomaly detector thresholds.
grouping.confItem and Pokemon grouping rules for analytics.
presets.confOptional full replacement for Bazaar’s built-in browse presets.
price-control.confOptional minimum price floors for listings. See Retention, Security, Grouping, and Presets.
messages.confOptional per-key player-facing message overrides. See Notifications.
sounds.confSound cue sequences for notifications, market actions, and UI events. See Notifications.
discord-webhooks.confEvent-driven Discord webhook endpoints and rules. See Notifications.
pokemon-visuals.confFriendly labels for Cobblemon forms, skins, and aspect tokens.
item-rendering.confWeb dashboard item icon discovery from mods and resource packs.
pokemon-rendering.confWeb dashboard Pokemon model and skin asset discovery from Cobblemon-style Bedrock assets in mods and resource packs.
web-theme.confActive dashboard preset plus runtime overrides. See Theming.
gui/*.confIn-game GUI definitions. See GUI Customization.
tooltips/*.confTooltip templates and overrides for item, Pokemon, and buy-order displays. See Tooltip Selectors.
themes/*.json + themes/*.cssDashboard theme presets. See Theming.

Impactor-owned:

FilePurpose
config/impactor/economy.confCurrency declarations Bazaar reads at runtime. See Economy.

The top-level runtime config:

role = "PARTICIPANT"
gtsEnabled = true
auctionHouseEnabled = true
defaultListingDurationHours = 24
maxListingDurationHours = 168
antiSnipeMinutes = 2
minBidIncrementPercent = 5.0
allowEconomyTestMode = false
auctions {
enabled = true
gts = true
auctionHouse = true
}
gtsPokemonFilter {
mode = "none"
pokemonProperties = []
}
chatAnnouncements {
enabled = false
gtsListings = true
auctionHouseListings = true
}
redis {
enabled = false
url = "redis://localhost:6379"
password = ""
poolSize = 8
serverId = "server-1"
}
web {
enabled = false
port = 8080
publicBaseUrl = ""
jwtSecret = ""
corsOrigins = []
linkCodeExpirySeconds = 300
}
FieldTypeDefaultNotes
roleORCHESTRATOR | PARTICIPANTPARTICIPANTUse ORCHESTRATOR on the node that hosts the web UI and stats rollups. See Cross-Server.
gtsEnabledbooltrueDisabling hides /gts.
auctionHouseEnabledbooltrueDisabling hides /ah and every AH channel.
defaultListingDurationHoursint24Default expiry for new listings.
maxListingDurationHoursint168Hard cap for listing duration.
antiSnipeMinutesint2A late bid extends the auction by this many minutes. Set 0 to disable.
minBidIncrementPercentdouble5.0A new bid must exceed the current bid by this percentage.
allowEconomyTestModeboolfalseDevelopment-only switch that bypasses economy checks. Do not enable on a live server.
auctions.enabledbooltrueMaster toggle for Bazaar auctions across all markets.
auctions.gtsbooltrueToggle auctions on the GTS specifically.
auctions.auctionHousebooltrueToggle auctions on AH channels specifically.
gtsPokemonFilter.modenone | blacklist | whitelistnoneOptional listing-time Pokemon filter for GTS listings only.
gtsPokemonFilter.pokemonPropertiesstring[][]Cobblemon PokemonProperties queries matched against the Pokemon being listed.
chatAnnouncements.enabledboolfalseBroadcast concise chat announcements for new listings.
chatAnnouncements.gtsListingsbooltrueToggle GTS listing announcements independently.
chatAnnouncements.auctionHouseListingsbooltrueToggle Auction House listing announcements independently.
redis.enabledboolfalseTurn on Redis-backed cross-server mode.
redis.urlstringredis://localhost:6379Lettuce URI. Supports redis:// and rediss://.
redis.passwordstring""Empty means no auth.
redis.poolSizeint8Lettuce pool size.
redis.serverIdstringserver-1Unique per Bazaar server in the cluster.
web.enabledboolfalseRuns the embedded dashboard HTTP server. Usually only meaningful on the orchestrator.
web.portint8080HTTP port. The WebSocket listens on port + 1.
web.publicBaseUrlstring""Public external base URL for Bazaar-hosted assets. Leave blank for local or same-origin setups.
web.jwtSecretstring""Must be a random 32+ character string in production.
web.corsOriginsstring[][]Allowed browser Origin headers. Empty is fine for same-origin deployments.
web.linkCodeExpirySecondsint300How long /bazaar link codes stay valid.

gtsPokemonFilter lets you block or allow Pokemon on the GTS using Cobblemon PokemonProperties queries. Bazaar only checks this when a player tries to list a Pokemon on the GTS:

  • It does not affect AH item markets.
  • It does not hide existing listings from browsing.
  • It does not change buy-order matching.

Example:

gtsPokemonFilter {
mode = "blacklist"
pokemonProperties = [
"mewtwo",
"vulpix form=alola",
"torterra aspects=tree=cherry"
]
}

Use blacklist to block matching Pokemon or whitelist to allow only matching Pokemon.

chatAnnouncements controls optional market-wide chat callouts for newly created listings. When enabled:

  • GTS announcements go to players who can browse GTS.
  • AH announcements go to players who can browse the relevant AH channel.
  • Bazaar includes a clickable Open chip that runs the matching market command.

The announcement lines themselves are keyed under chat.announcement.* in Bazaar’s built-in message defaults and can be overridden through messages.conf.

Bazaar now ships two separate discovery configs for dashboard rendering:

FileWhat it scans
item-rendering.confItem models and textures from mod jars and resource packs.
pokemon-rendering.confCobblemon-style Bedrock resolver, poser, model, animation, and texture assets for Pokemon rendering.

pokemon-rendering.conf controls three main inputs:

  • modScanDirs for mod jars or extracted resources, usually just mods
  • resourcePackDirs for extracted pack roots that contain assets/ directly
  • resourcePackArchives for .zip or .jar packs you want Bazaar to scan without extracting

Bazaar uses that asset index to render normal Cobblemon models, custom skins, layered emissives, animated overlays, and server-specific seasonal variants in the web UI. The configured paths must point at the actual asset root or archive that contains assets/, not a parent directory above it.