
This guide will help you on How to Add a New Faction on your Warband Server
Click here to order your Mount & Blade: Warband server with AA Game Hosting today!
Adding a new faction to your Mount & Blade: Warband server is one of the most impactful ways to shape your server’s identity and gameplay. Factions define political structure, troop composition, culture, and how players interact with the world. Whether you’re building a custom role‑play environment, expanding a multiplayer mod, or designing a completely new world, understanding how to create and configure a faction gives you full control over your server’s dynamics. This guide explains the complete process of integrating a new faction into your Warband server, from defining its properties in the module system to ensuring it loads correctly in multiplayer. You’ll learn how factions are structured internally, how they interact with troops and parties, and what server‑side settings must be updated for your new faction to function smoothly. By the end, you’ll have a clear workflow for designing unique factions that fit your server’s theme and enhance the player experience.
Creating and Implementing Custom Factions in Warband
First step
Module factions.py
Look for cultures, you have 6, I added another one (what I add is bold):
("culture_1", "{!}culture_1", 0, 0.9, [], []),
("culture_2", "{!}culture_2", 0, 0.9, [], []),
("culture_3", "{!}culture_3", 0, 0.9, [], []),
("culture_4", "{!}culture_4", 0, 0.9, [], []),
("culture_5", "{!}culture_5", 0, 0.9, [], []),
("culture_6", "{!}culture_6", 0, 0.9, [], []),
("culture_7", "{!}culture_7", 0, 0.9, [], []),
Then further down
("kingdom_1", "Swadian Empire", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xEE7744),
("kingdom_2", "Vaegir Tzardom", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCCBB99),
("kingdom_3", "Khergit Khanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCC99FF),
("kingdom_4", "Nordic Monarchy", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DDDD),
("kingdom_5", "Rhodok Confederacy", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DD33),
("kingdom_6", "Sarranid Sultanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
("kingdom_7", "Custom Kingdom", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xFFFFAAFF), (0xFFFAAFF is the colour)
Second step
You need to create troops for your new faction. I copy pasted as placeholder Sarranid troops, then modified their names. Do the same with the lords and with the ladies.
If you want custom peasants and custom townspeople for your faction, do the copy-paste and edit process.
Third step
Open Module_Party_Templates, look for kingdom reinforcements.
("kingdom_6_reinforcements_a", "{!}kingdom_6_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_sarranid_footman,3,7),(trp_sarranid_recruit,3,6)]),
("kingdom_6_reinforcements_b", "{!}kingdom_6_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_sarranid_archer,2,6),(trp_sarranid_skirmisher,4,7)]),
("kingdom_6_reinforcements_c", "{!}kingdom_6_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_mamluke,3,6)]),
("kingdom_7_reinforcements_a", "{!}kingdom_7_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_Custom_footman,3,7),(trp_Custom_recruit,3,6)]),
("kingdom_7_reinforcements_b", "{!}kingdom_7_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_Custom_archer,2,6),(trp_Custom_skirmisher,4,7)]),
("kingdom_7_reinforcements_c", "{!}kingdom_7_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_Custom_mamluke,3,6)]),
Step Four
This is very complicated, and not sure it is entirely correct....
Open module_scripts.py
Go to where you see Cultures,
(faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_sarranid_recruit"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_2_troop, "trp_sarranid_footman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_3_troop, "trp_sarranid_archer"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_4_troop, "trp_sarranid_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_1_troop, "trp_Custom_recruit"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_2_troop, "trp_Custom_footman"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_3_troop, "trp_Custom_archer"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_4_troop, "trp_Custom_horseman"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_5_troop, "trp_Custom_mamluke"),
Then, further down, you will edit these so that your faction may have a custom town and walkers.
(faction_set_slot, "fac_culture_6", slot_faction_town_walker_male_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_7", slot_faction_town_walker_male_troop, "trp_Custom_townswoman"),
(faction_set_slot, "fac_culture_7", slot_faction_town_walker_female_troop, "trp_Custom_townswoman"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_male_troop, "trp_Custom_townsman"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_female_troop, "trp_Custom_townswoman"),
(faction_set_slot, "fac_culture_7", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_7", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
Further down, you have Factions, here you also need to add a new faction.
(faction_set_slot, "fac_kingdom_6", slot_faction_culture, "fac_culture_6"),
(faction_set_slot, "fac_kingdom_6", slot_faction_leader, "trp_kingdom_6_lord"),
(troop_set_slot, "trp_kingdom_6_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_7", slot_faction_culture, "fac_culture_7"),
(faction_set_slot, "fac_kingdom_7", slot_faction_leader, "trp_kingdom_7_lord"),
(troop_set_slot, "trp_kingdom_7_lord", slot_troop_renown, 1200),
Further down, another Faction Banner needs to be modified. It took me a while to figure it out. Do not put anything larger than "f" in the mesh banner; it will not work. I have put "a," and it works fine.
(faction_set_slot, "fac_kingdom_1", slot_faction_banner, "mesh_banner_kingdom_f"),
(faction_set_slot, "fac_kingdom_2", slot_faction_banner, "mesh_banner_kingdom_b"),
(faction_set_slot, "fac_kingdom_3", slot_faction_banner, "mesh_banner_kingdom_c"),
(faction_set_slot, "fac_kingdom_4", slot_faction_banner, "mesh_banner_kingdom_a"),
(faction_set_slot, "fac_kingdom_5", slot_faction_banner, "mesh_banner_kingdom_d"),
(faction_set_slot, "fac_kingdom_6", slot_faction_banner, "mesh_banner_kingdom_e"),
(faction_set_slot, "fac_kingdom_7", slot_faction_banner, "mesh_banner_kingdom_a"),
Further down is given the center to faction, which you need to edit if you have already inserted a new town or castle.
Further down, there are the territorial disputes. I did not add anything yet, but I think this, too, can be modified.
If you scroll down, there is Place Kingdom Ladies.
(faction_set_slot, "fac_kingdom_1", slot_faction_adjective, "str_kingdom_1_adjective"),
(faction_set_slot, "fac_kingdom_2", slot_faction_adjective, "str_kingdom_2_adjective"),
(faction_set_slot, "fac_kingdom_3", slot_faction_adjective, "str_kingdom_3_adjective"),
(faction_set_slot, "fac_kingdom_4", slot_faction_adjective, "str_kingdom_4_adjective"),
(faction_set_slot, "fac_kingdom_5", slot_faction_adjective, "str_kingdom_5_adjective"),
(faction_set_slot, "fac_kingdom_6", slot_faction_adjective, "str_kingdom_6_adjective"),
I DO NOT HAVE THE SLIGHTEST IDEA WHAT THIS IS...
Further down, is quick game quick start, for quick battle mode. I think if you want to play custom battle with your new faction, you need to add things here also:
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_1_infantry, "trp_sarranid_veteran_footman"),
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_2_infantry, "trp_sarranid_infantry"),
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_1_archer, "trp_sarranid_skirmisher"),
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_2_archer, "trp_sarranid_archer"),
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_1_cavalry, "trp_sarranid_horseman"),
(faction_set_slot, "fac_kingdom_6", slot_faction_quick_battle_tier_2_cavalry, "trp_sarranid_mamluke"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_1_infantry, "trp_custom_veteran_footman"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_2_infantry, "trp_custom_infantry"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_1_archer, "trp_custom_skirmisher"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_2_archer, "trp_custom_archer"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_1_cavalry, "trp_custom_horseman"),
(faction_set_slot, "fac_kingdom_7", slot_faction_quick_battle_tier_2_cavalry, "trp_custom_mamluke"),
Then again, further down are faction banners.
You add the same thing as before when dealing with banners.
Further down, there is a price slot. I do not know what it is, but I added the new faction here as well.
(store_sub, ":sarranid_price_slot", "fac_kingdom_6", npc_kingdoms_begin),
(val_add, ":sarranid_price_slot", slot_item_multiplayer_faction_price_multipliers_begin),
(store_sub, ":custom_price_slot", "fac_kingdom_7", npc_kingdoms_begin),
(val_add, ":custom_price_slot", slot_item_multiplayer_faction_price_multipliers_begin),
Closer to the end of the file, under #LORD OCCUPATIONS, BLOOD RELATIONSHIPS, RENOWN AND REPUTATIONS, there is something very important. You need to modify this to have normal family relations in a faction and avoid errors such as having your lord's sisters and wives in other factions.
(is_between, ":cur_troop", "trp_knight_6_1", "trp_knight_7_1"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_6_1"),
(assign, ":ancestor_seed", 31),
(else_try),
(is_between, ":cur_troop", "trp_knight_7_1", "trp_kingdom_1_pretender"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_7_1"),
(assign, ":ancestor_seed", 37),
(try_end),
If you encountered issues during the process,
Please click here to send a ticket to our team.