Modern Factions logo
Modern Factions | Config Reference

Configuration Reference

This page is the server-owner manual for the shipped YAML files. It explains what each config area is for, what the important keys mean, and how the cross-server setup works in practice.

Main Config: config.yml

This is the global server behavior file. It controls storage, PvP, economy, relations, scoreboard, RabbitMQ, and most faction gameplay modules.

config.yml
PathMeaningHow To Use It
languageSelects the active language bundle.Use en or fr, or add your own file under lang/.
mongodb.uriPrimary MongoDB connection string.Use this when storage.type is MONGODB. URL-encode special password characters.
mongodb.databaseMongo database name.Keep all network servers on the same name if they should share the same faction database.
mongodb.pool.*Mongo connection pool settings.Increase on larger networks, keep low on small servers.
mongodb.socket.*Connection and read timeout tuning.Raise if the database is remote and slow, lower if you want faster failure detection.
mongodb.host, port, username, passwordLegacy fallback Mongo settings.Only used if mongodb.uri is empty.
storage.typeSelects SQLITE or MONGODB.Use SQLite for single-server simplicity, MongoDB for external DB hosting or broader network persistence.
storage.sqlite.fileSQLite database file path.The clean default is data.db inside the plugin folder.
pvp.member-pvpFriendly fire within the same faction.Set true only if your server wants internal sparring or no team protection.
pvp.ally-pvp, truce-pvp, neutral-pvp, enemy-pvpRelation-based PvP rules.These define who can damage who based on current faction relation.
pvp.peaceful-protectionBlocks PvP against peaceful factions.Use on more casual or protection-heavy servers.
pvp.check-graceBlocks PvP while grace is active.Leave on if grace should actually protect players instead of only being cosmetic.
pvp.check-shieldBlocks PvP while shield is active.Use with shield-protected factions for raid windows.
claims.claim-costMoney cost per chunk claim.Requires Vault economy support.
claims.refund-percentageMoney refunded on unclaim.Set below 100 to discourage constant claim cycling.
claims.must-be-connectedRequires claim chains to stay connected.Use true for normal factions servers, false for looser administrative building.
claims.allow-overclaim-negative-powerAllows taking land from raidable factions.Keep true if you want standard overclaim-style raiding pressure.
explosions.protect-claimsGlobal claim explosion protection.Set false if TNT raiding should be possible.
factions.min-tag-length to max-name-lengthFaction tag and name length rules.Use shorter tag limits for cleaner chat and map output.
factions.creation-costMoney cost to create a faction.Requires Vault.
factions.max-membersBase member cap before upgrades.Upgrades can push the effective cap higher.
factions.allow-peacefulWhether peaceful factions exist at all.Disable on full PvP networks.
factions.peaceful-costCost to become peaceful.Useful if peaceful status is meant to be expensive and rare.
factions.allow-renameWhether renaming is allowed.Disable if identity stability matters more than flexibility.
factions.rename-costVault cost to rename a faction.Separate from tag-change point cost.
factions.default-roleRole given to new members.Usually keep as RECRUIT.
factions.auto-disband-on-emptyDisbands a faction with no members.Leave true unless you want ghost factions to persist.
factions.tag-change-costFaction points required to change the faction tag.Separate from money rename logic.
factions.tag-change-cooldownCooldown in seconds between tag changes.Use to stop abuse or impersonation churn.
zones.enabledEnable custom zone tagging inside claims.Useful for safe zones, farms, storage areas, and war zones.
zones.typesList of zone names.Add your own logical labels if your server relies on chunk organization.
zones.permissions.*Behavior flags per zone type.Define special behavior like disabling PvP or explosions inside a named zone.
faction-chest.min-roleMinimum role allowed to open the faction chest.Use RECRUIT if everyone can view, higher if chest is sensitive.
faction-chest.write-roleMinimum role allowed to modify faction chest contents.Prevents low-rank players from taking or moving shared items.
faction-chest.upgrade-roleMinimum role allowed to upgrade chest size.Usually COLEADER or LEADER.
faction-chest.max-levelMaximum chest level.Must match your slot and cost tables.
faction-chest.slots-per-level.*How many chest slots each level unlocks.Keep increasing in multiples of 9 for clean inventory rows.
faction-chest.upgrade-cost.*Point cost per chest level.These are faction point costs, not Vault money costs.
grace.*New-faction grace protection settings.Controls grace duration, protection type, extension rules, and scoreboard visibility.
shield.*Shield system settings.Controls cost, duration, cooldown, PvP/explosion blocking, and weekly limits.
alt-system.*Alt-account restrictions.Control cap, power contribution, member counting, claim access, bank access, and required role to add alts.
anti-spam.enabledMaster anti-spam switch.Disable only if another plugin is doing all cooldown enforcement.
anti-spam.max-commands-per-minuteGeneral command-rate limiter.Protects against command flooding.
anti-spam.cooldown-messageLiteral message shown on anti-spam rejection.Change this if you want custom branding or simpler wording.
anti-spam.cooldown.*Per-command cooldown seconds.Use higher values on expensive or spammy actions like stuck or fly.
points.*Faction point economy settings.Controls starting points and how factions earn points from kills, claims, missions, daily logins, and top-faction bonuses.
audit.enabledMaster audit switch.Disable only if you do not want faction history at all.
audit.max-entriesMaximum entries kept per faction.Lower on small servers to save space, higher on serious competitive servers.
audit.auto-cleanupWhether old audit entries are removed automatically.Normally keep true.
audit.retention-daysAge cutoff for audit retention.Use long retention if staff reviews history often.
audit.log-types.*Per-event audit toggles.Lets you keep only the events your staff actually cares about.
check-system.enabledMaster faction check scanner switch.Disable if you do not want periodic defensive alerts.
check-system.check-intervalHow often checks run.Lower values increase responsiveness but also processing frequency.
check-system.check-radiusChunk radius used for checks.Increase for larger base warning coverage.
check-system.alerts.*Specific check categories.Turn off noisy alerts individually.
reserves.*Name reservation system.Controls whether reservations exist, how long they last, cost, and cleanup behavior.
warps.max-warpsBase warp cap before upgrades.Upgrades can extend the effective limit.
warps.allow-passwordsAllow protected warps.Useful for internal faction security.
warps.warp-cooldownSeconds before a player can warp again.Use alongside combat lockouts.
warps.cancel-on-damage, cancel-on-movementWarmup cancellation rules.Turn on for stricter raid travel risk.
warps.warmup-timeSeconds before teleport fires.Set to 0 for instant travel, or higher for vulnerable warmup windows.
tnt-bank.*TNT bank behavior.Controls base capacity, dispenser withdrawal, and interest growth.
relations.*Diplomacy rules.Controls caps, mutual requests, neutral availability, auto-enemy on attack, and chat-channel availability.
fly.enabledMaster faction fly switch.Disable here if you want no faction fly at all.
fly.fly-...-territoryFly eligibility by territory relation.Defines whether own, ally, truce, wilderness, or enemy land allows faction fly.
fly.disable-on-combatDisables fly while tagged.Keep true on PvP-heavy networks.
fly.combat-tag-durationCombat tag length.Longer values punish unsafe disengage more.
fly.disable-enemy-nearbyBlocks fly around hostile players.Helps stop easy escape abuse.
fly.enemy-detection-radiusRadius used for nearby enemy detection.Balance this to your world scale.
fly.auto-flyAuto-enable faction fly on valid territory entry.Useful for smoother movement on convenience-focused servers.
fly.trails.*Particle trail cosmetics.Restrict the available list to particles that fit your server theme.
economy.faction-bankMaster switch for faction bank usage.Set false if your server only wants TNT/points and no money banking.
economy.starting-balanceFaction starting money balance.Usually kept low or zero on progression servers.
economy.deposit-tax, withdrawal-taxBank transaction taxes.Use these as economic sinks.
economy.min-withdrawal, max-withdrawalWithdrawal bounds.Use to stop spam withdrawals or huge balance dumping.
scoreboard.enabledMaster Modern Factions scoreboard switch.If OreoEssentials scoreboard is active, Modern Factions can back off automatically at runtime.
scoreboard.update-intervalSidebar refresh interval in ticks.Lower values feel more live but cost more updates.
scoreboard.titleSidebar title.Supports color formatting.
scoreboard.linesSidebar line template list.Use faction and player placeholders, and keep enough uniqueness for scoreboard rendering.
rabbitmq.enabledEnables cross-server messaging.Use true only when a working RabbitMQ broker is reachable.
rabbitmq.server-idName of this backend server.Must be unique across the network. Also used for cross-server travel targeting.
rabbitmq.exchangeFanout exchange name used by Modern Factions.All Modern Factions servers in the same network must share this exact exchange.
rabbitmq.rabbitmq.uriAMQP connection URI.Use amqp:// or amqps://. URL-encode special characters in passwords.
Cross-server public chat note: if OreoEssentials already owns public cross-server chat, Modern Factions should be used for faction-private channels only. The current Modern Factions build is already set up to avoid publishing public RabbitMQ chat while OreoEssentials is installed.

power.yml

This file controls raidability, claim presentation, and reinforced block behavior.

power.yml
PathMeaningHow To Use It
power.modeChooses POWER or DTR.Use POWER for classic power-based factions, DTR for HCF-style raidability.
power.starting-powerStarting player/faction power basis.Use 0 if you want factions to build up strength over time.
power.max-power, min-powerPower floor and ceiling.Set more negative minimums if you want long raidable punishment windows.
power.power-per-deathPower lost on death.Higher values make combat outcomes matter more.
power.power-per-killPower earned per kill.Use modest values to avoid snowballing too hard.
power.regen-ratePower restored per regen cycle.Lower is harsher, higher is more forgiving.
power.regen-interval-secondsSeconds between regen cycles.Use longer intervals on competitive servers.
power.regen-only-onlineOnly regen while members are online.Good for preventing offline passive recovery abuse.
power.power-per-memberFaction power granted per member.Drives scaling with roster size.
power.power-per-claimPower pressure per claim.Higher values make oversized landholding harder.
power.dtr.enabledEnables DTR handling under DTR mode.Keep aligned with power.mode.
power.dtr.dtr-per-memberDTR contribution per member.Controls how big factions scale their max DTR.
power.dtr.max-dtrGlobal DTR ceiling.Use to prevent very large factions from becoming too safe.
power.dtr.freeze-timeSeconds before DTR regen resumes after death.Classic HCF pressure setting.
power.dtr.regen-rateDTR regained per regen cycle.Lower values keep raidable windows open longer.
claims.show-territory-titlesShow titles on territory entry.Disable for cleaner HUDs.
claims.title-fade-in, title-stay, title-fade-outTitle animation timings.Tune to reduce spammy feel on dense claim borders.
claims.territory-titleTitle shown for owned faction territory.Uses {faction}.
claims.territory-subtitle-defaultDefault subtitle for claimed land.Use for atmosphere or server instructions.
claims.wilderness-title, wilderness-subtitleWilderness entry text.Useful for PvP or build warnings.
claims.show-territory-actionbarShow actionbar on territory enter.Good alternative to titles on minimal HUDs.
claims.wilderness-actionbarActionbar for wilderness.Use as a rules reminder.
claims.play-territory-soundPlay sounds on territory changes.Disable if frequent movement makes this noisy.
claims.territory-sound, wilderness-soundSound names.Use valid Bukkit sound ids.
claims.sound-volume, sound-pitchSound tuning.Lower volume if territory borders are dense.
claims.must-be-connectedConnected claim requirement at the power.yml layer.Keep in sync with your broader claim philosophy.
claims.max-claim-radiusMaximum chunk distance from nearby owned land.Prevents far-out isolated strip claiming.
claims.allow-claiming-from-enemiesWhether enemy-owned land can be directly claimed.Disable for stricter overclaim policy.
claims.claim-costAlternative claim cost defined in power.yml.Used by the current claim implementation.
claims.unclaim-refund-percentageRefund percentage defined in power.yml.Used by the current unclaim implementation.
block-protection.enabledMaster reinforced-block switch.Disable if you want pure vanilla block durability.
block-protection.health-multiplierBase extra health multiplier for protected materials.Higher values make raiding walls slower.
block-protection.regeneration-delay-secondsHow long after damage blocks wait before regenerating health.Longer delays reward sustained pressure.
block-protection.regeneration-rateHow quickly protection health restores.Lower is harsher on defenders.
block-protection.show-health-barWhether damage feedback is shown.Useful for making the mechanic readable to players.
block-protection.protected-materialsMaterial whitelist for reinforced behavior.Only blocks in this list get the protection-health system.
block-protection.protection-levels.*Relation-based damage multipliers.Lets own, ally, neutral, and enemy territory feel different when breaking blocks.
block-protection.raidable.reduce-protectionWeakens reinforced blocks while a faction is raidable.Use true if raidable state should materially weaken bases.
block-protection.raidable.protection-multiplierRaidable-state protection scaling.Lower values make raidable bases easier to break.

chat.yml

This file controls the Modern Factions chat system itself, separate from public-chat plugins like OreoEssentials.

chat.yml
PathMeaningHow To Use It
chat.enabledMaster faction chat system switch.Set false if you want Modern Factions to stop intercepting chat entirely.
chat.faction-chat, ally-chat, truce-chat, role-chatPer-channel enable flags.Disable channels your server does not want to expose.
chat.format.publicModern Factions public chat format.If OreoEssentials owns public chat, this is mainly a fallback format.
chat.format.factionFaction-only chat format.Visible only to faction members and chat spies.
chat.format.allyAlly chat format.Change this to alter the ally prefix or tag style.
chat.format.truceTruce chat format.Change this to alter the truce prefix.
chat.format.moderatorModerator-channel format.Used for the faction moderator private channel.
chat.format.coleaderColeader-channel format.Used for the faction coleader private channel.
chat.format.chatspySpy output format.Shown to players with chat spy enabled.
chat.format.enemyEnemy-chat format.Controls the enemy channel prefix and body layout.
chat.colors.*Relation colors used by placeholders.Tune these to match your server branding and readability needs.
chat.role-prefixes.*Role badge strings.Change these if you want different chat badges for leaders and staff.
chat.tablist.enabledWhether tablist formatting is used.Disable if another tablist plugin already owns formatting.
chat.tablist.formatTablist line format.Supports the relation and faction placeholders listed in the file.
chat.block-enemy-chatBlocks public chat visibility for enemies when enabled.Use only if you want relation-based chat isolation.
chat.min-message-length, max-message-lengthChat length limits.Use to keep channels clean and prevent huge messages.
chat.allow-colors, allow-formattingAllow color/format codes in messages.Often used with permission-gated donor chat formatting.
chat.message-cooldownSeconds between messages.Use small values to reduce faction-chat spam.
chat.faction-chat-commands, ally-chat-commands, truce-chat-commandsCommand aliases that toggle channels.Extend these if you want shorthand aliases.

Other YAML Files

These files are important but more domain-specific than the three main behavior files above.

Supplementary Files

upgrades.yml

Defines each upgrade branch, icon, label, max level, and per-level cost and value. The plugin uses the levels.<level>.value path as the real effect source.

missions.yml

Defines mission templates, goals, difficulty, and rewards. This is the content file for faction mission progression.

factionshop.yml

Defines categories and purchasable point-shop entries. Items can be plain Bukkit items or linked custom items.

customitems.yml

Defines plugin-native custom items, third-party item visuals, action types, cooldowns, uses, and interaction triggers. The dedicated custom-items page goes much deeper.

discord.yml

Controls webhook event logging, embed settings, bot display, and faction Discord invite link behavior.

permissions.yml

Contains the server permission tree and default faction-role permission definitions used by the internal GUI permission layer.

guis.yml

Controls menu titles, sizes, border materials, and item placements for the SmartInvs GUI system.