Medieval Factions
8.0.0Allows players to organize themselves into feudal, diplomatic, lawful groups akin to nations.
- Tested MC versions
- 1.19, 1.21, 26.2, 26.3
Medieval Factions
Description

Upgrading from 5.8.x
If you run 5.8.x, please upgrade. Medieval Factions 5.8.x does not close its embedded H2 database cleanly when the server stops. Each restart can leave medieval_factions_db.mv.db a little more damaged, until the plugin no longer loads with MVStoreException: Unable to read the page ( #1975). Servers that restart often, such as hosts that stop empty servers, hit this sooner. From 6.0.0 onward, Medieval Factions closes the database explicitly on shutdown.
1. Stop the server and back up plugins/MedievalFactions/ (in particular medieval_factions_db.mv.db).
2. Replace the jar with the latest release and start the server.
Before each release, the release gates checked that it loads data written by the previous one: 6.0.0 loads 5.8.1 data, 6.1.0 loads 6.0.0 data, 7.0.0 loads 6.1.0 data, and 8.0.0 loads 7.0.0 data, on both the H2 and JSON backends. A direct jump from 5.8.1 to 8.0.0 has not been gated, which is one more reason to keep the backup. If the plugin already fails with the error above, keep a copy of the damaged file before removing anything. It can sometimes be recovered; ask in #1975 or on Discord.
Upgrading from 4.x
Medieval Factions 5.0 was a full rewrite, and 4.x servers are still out there. Version 4.x sends no bStats data, so they don't show up in usage numbers. The current release still includes the 4.x data migrator. On first start it finds the 4.x data, copies it to plugins/MedievalFactions/mf4_backup/, writes the new config and stops the server. Configure the database if you use one (MariaDB and MySQL take a jdbc:mariadb:// URL; see CONFIG.md), then start again and the 4.x factions, claims, power, locks and gates are imported. The steps are also on the wiki.
Try it on a copy first. The release gates check upgrades between 5.x and later versions, not from 4.x, so this path is not tested before each release. Back up the whole server, run the upgrade on a copy, check /f list, /f info and a few claims, and only then upgrade the live server. Please report problems in a GitHub issue.
Expansions
Each of these add-ons requires Medieval Factions and adds something to it. The current stable release of every one was enabled against Medieval Factions 8.0.0 by the dependents gate before 8.0.0 was published.
- Currencies (SpigotMC) — Factions mint their own currencies, for local economies (Verified with MF 8.0.0: v3.3.0)
- Fiefs (SpigotMC) — Sub-factions (fiefs) inside a faction (Verified with MF 8.0.0: v1.0.0)
- Democracy (SpigotMC) — Elections for faction leadership (Verified with MF 8.0.0: v0.4.0)
- Bluemap_MedievalFactions — Faction claims on a BlueMap web map (Verified with MF 8.0.0: v1.1.1)
Currencies 2.x does not enable on Medieval Factions 5.8 or newer. Use Currencies 3.0.0 or later.
In game, operators can run /mf addons to see which of these, and of the plugins below, are installed, and whether each installed version is the verified one. See COMMANDS.md.
Web maps
- Dynmap: built in. Install Dynmap and claimed land appears on its map.
- BlueMap: install BlueMap together with the Bluemap_MedievalFactions add-on, and faction claims are drawn as overlays on the BlueMap web map.
Works well with
- Medieval Roleplay Engine (SpigotMC): character cards, local chat, emotes and messenger birds. It is a companion plugin for faction roleplay and runs alongside Medieval Factions.
- Mailboxes (SpigotMC): persistent messages. When it is installed, Medieval Factions delivers faction notifications through it.
- Medieval Economy (SpigotMC): a coinpurse and a physical currency item.
Every plugin is listed on dansplugins.com, and Dan's Plugin Manager can install them in game with /dpm get <plugin>.
Installation
- Download the jar from this page (the download button links to the stable release on GitHub), or run /dpm get medievalfactions with Dan's Plugin Manager.
- Place the jar in your server's plugins folder.
- Restart the server.
Supported versions
Release 8.0.0 runs on Minecraft 1.19.4, 1.21.11, 26.2 and 26.3 (Spigot and its forks): it was started on a real server of each version, where it enabled cleanly, registered every command, stopped cleanly and started a second time on the data it wrote. Every release from now on is started on each version the plugin supports ( minecraft-versions.json in the repository) before it is published.
Release channels
This page mirrors the stable channel: the latest non-prerelease GitHub release. A dev pre-release built from every push to the default branch is available on GitHub for testing ( /dpm get --experimental). Details: Release channels.
Links
- Source code (GitHub)
- All releases
- Wiki
- Medieval Factions on dansplugins.com
- Report a bug
- Support Discord (Dan's Plugins Community)
- bStats
Usage reporting
Usage reporting is on by default: when the plugin is enabled, and each time one of its commands is used, it sends its name, version and the command's name ( startup and command events; aliases such as /mf report under the command's declared name) to https://trace.danielstephenson.dev so it is known which plugins are actually in use. Nothing about players, worlds or IPs is sent, and nothing typed after a command. The plugin says on every startup whether reporting is on. Each event also carries a random server ID (the server-id line in plugins/trace/config.yml) so
servers can be counted rather than events. It identifies no person, account or IP address; delete
the line to get a new one.
To turn it off:
- usage-reporting.enabled: false in this plugin's config.yml
- for every plugin on the server that reports to trace: enabled: false in plugins/trace/config.yml (written by the first such plugin to start)
- the environment variable TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1
Details: https://danielstephenson.dev/usage-reporting
License
Open source under the GPL-3 license — see the repository for the full text.
Community
Part of the Dan's Plugins Community. Contributions are welcome — see the repository's contributing guide. Questions and support: the Discord above, not the review box (reviews cannot be answered).
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta