Skip to main content

Server Config

Information targets the latest supported release. For legacy (older) versions and bug fixes, read the changelogs.

This page is a WORK IN PROGRESS and may contain inaccurate or placeholder information or links.

Introduction

 Multiplayer: Configuration files on servers override any "client-side" (player) or pack settings while you play on that server.

Server configuration files tweak settings that apply to ALL worlds created for the current mod pack.

MULTIMC
Right click pack icon → Config Folder → swem-server.toml
CURSEFORGE Right click pack icon → Open Folder → config → swem-server.toml
FORGE (WINDOWS) Open file explorer → [user]/AppData/Roaming/.minecraft/config/swem-server.toml
FORGE (MAC) Open finder → ~/Library/Application Support/minecraft/config/swem-server.toml

Prior to 1.21.1 server config files are located under saves → worldname → serverconfig → swem-server.toml


World Override Neoforge 1.21+

It is possible to set custom configuration for specific worlds (override default file). 
Paste a copy of the swem-server file into saves → worldname → serverconfig. Edit. Save. Relaunch.


Important

Configuration files have a specific format, and allow you to change limited values. Inputting invalid information or adjusting the file format can invalidate configuration file loading, world loading or result in game crashes.

It is important to read the file carefully and only change supported values.

  • # is a comment to provide information on the feature and valid range or options
  • Range means values must be within a set limit Example: 0-100
  • Default is the setting used when the file is first generated and may be noted for reference

If you suspect your config file is corrupted or invalid, delete it and reload the game to regenerate the file.


Default Configuration

This is the default configuration file, containing 12 adjustable settings. 

Default - 1.21.1-1.6.12
# || =========== [Horse Care] =========== ||
[horse_care]
	# || Do horses need to eat? (Default = True = Yes)
	needFood = true
	# || Do horses need to drink? (Default = True = Yes)
	needWater = true
	# || Enable Poop ticking on swem horses? (Default = True = Yes)
	poopTick = true
	# || Specify range (radius) that the horses search for food/water. The larger the  radius, the more lag it can cause per horse.
	# || We recommend "15" (30b diameter) for servers.
	# Default: 15
	# Range: 5 ~ 40
	intakeSearchRadius = 15
	# || Specify in seconds the interval between each poop cycle.
	# || We recommend '1800' (30min) for singleplayer, and '2700' (45min) for multiplayer.
	# Default: 1800
	# Range: > 1
	poopInterval = 1800
	# || Enable Pee ticking on swem horses? (Default = True = Yes)
	peeTick = true
	# || Specify in seconds the interval between each pee cycle.
	# || We recommend '1500' (25min) for singleplayer, and '2700' (45min) for multiplayer.
	# Default: 1500
	# Range: > 1
	peeInterval = 1500
	# || Specify how many seconds it takes for the foal to growp up?
	# || We recommend '1800' (30min) for singleplayer, and '28800' (8hr) for multiplayer.
	# Default: 1800
	# Range: > 1
	foalAgeInSeconds = 1800
	# || Specify how many minutes the Health Booster lasts for?
	# || We recommend '600' ~(30mc days) for singleplayer, and '10,000' ~(504mc days / 7irl days) for multiplayer.
	# Default: 600
	# Range: > 1
	healthBoosterTime = 600

# || =========== [Horse Breeding] =========== ||
[horse_breeding]
	# || Enable Breeding Tokens? This limits breeding of horses to Tokens, prevents feed from escalating foal growth time, and limits use of canatazarite potions.
	# || Enable if the server is multiplayer and has an economy.
	tokensBreeding = false
	#
	# || Do horses stay in love mode forever? (Default = False = No)
	# || If false, horses will only be in love mode for the amount of seconds specified in stallionLoveTime and mareLoveTime.
	permanentLoveMode = false
	#
	# || Specify how many seconds the stallion stays in love mode (Only has an effect if permanentLoveMode is false).
	# || We recommend '1800' (30min) for singleplayer, and '28800' (8hr) for multiplayer.
	# Default: 1800
	# Range: > 1
	stallionLoveTimeInSeconds = 1800
	#
	# || Specify how many seconds the mare stays in love mode (Only has an effect if permanentLoveMode is false).
	# || We recommend '1800' (30min) for singleplayer, and '28800' (8hr) for multiplayer.
	# Default: 1800
	# Range: > 1
	mareLoveTimeInSeconds = 1800
	#
	# || Specify how many seconds it takes for the mare to give birth
	# || Set to 1 to disable gestation period, and making the birth instant.
	# || We recommend '1800' (30min) for singleplayer, and '28800' (8hr) for multiplayer.
	# Default: 1800
	# Range: > 1
	mareGestationTimeInSeconds = 1800
	#
	# || Specify how many seconds it takes for the stallion to be able to breed again.
	# || We recommend '900' (15min) for singleplayer, and '14400' (4hr) for multiplayer.
	# Default: 900
	# Range: > 1
	stallionBreedingCooldownInSeconds = 900
	#
	# || Specify how many seconds it takes for the mare to be able to breed again.
	# || We recommend '1800' (30min) for singleplayer, and '28800' (8hr) for multiplayer.
	# Default: 1800
	# Range: > 1
	mareBreedingCooldownInSeconds = 1800
	#
	# || Specify how many times a stallion can breed before it is infertile.
	# || Disable infertility option by setting it to '0'.
	# Default: 0
	# Range: > 0
	maxStallionCovers = 0
	#
	# || Specify how many times a mare can breed before it is infertile.
	# || Disable infertility option by setting it to '0'.
	# Default: 0
	# Range: > 0
	maxMareCovers = 0
	#
	# || Specify the chance of a mare giving birth to twins (Default = 1,000 = 0.1%)
	# || If the value is higher than 1,000 the odds go down, if the value is lower than 1,000 the odds go up.
	# || We recommend '1000' (1/1000 chance) for singleplayer, and '15000' (1/15000 chance) for multiplayer.
	# Default: 1000
	# Range: > 1
	twinBirthChance = 1000
	#
	# || Should infertile horses be able to be made fertile again (by giving a male/female/random potion)?
	refertile_horses = true
	#
	# || If enabled, a Stallion will look for a fertile Mare to breed without need of items.
	natural_breed_chance = false

# || =========== [Tack Dependencies] =========== ||
[tack_dependencies]
	# || Is the Bridle slot required before equipping a Blanket? (Default = True = Yes)
	needBridle = true
	# || Is the Blanket slot required before equipping a Saddle? (Default = True = Yes)
	needBlanket = true
	# || Is the Saddle slot required before equipping the Girth Strap,  Breast Collar, and/or Saddlebag? (Default = True = Yes)
	needSaddle = true
	# || The Rider and Saddle should fall off if there is no Girth Strap equipped. (Default = True = Yes)
	needGirthStrap = true
	# || Are all Tack slots required before equipping Horse Armor? (Default = True = Yes)
	needAll = true
	# || The Bridle is needed to steer the horse. (If disabled, you would still need a saddle). (Default = True = Yes)
	needBridleToSteer = true

# || =========== [Horse Experience Levels] =========== ||
[horse_experience_levels]
	# || Amount of XP required to max a horse's Speed stat.
	# || We recommend '13500' for singleplayer, and '100000' for multiplayer.
	# Default: 13500
	# Range: > 1
	maxSpeedXP = 13500
	# || Amount of XP required to max a horse's Jump stat.
	# || We recommend '13500' for singleplayer, and '100000' for multiplayer.
	# Default: 13500
	# Range: > 1
	maxJumpXP = 13500
	# || Amount of XP required to max a horse's Health  stat.
	# || We recommend '13500' for singleplayer, and '100000' for multiplayer.
	# Default: 13500
	# Range: > 1
	maxHealthXP = 13500
	# || Amount of XP required to max a horse's Affinity stat.
	# || We recommend '17000' for singleplayer, and '50000' for multiplayer.
	# Default: 17000
	# Range: > 1
	maxAffinityXP = 17000

# || =========== [Server Admin] =========== ||
[server_admin]
	# || Enable Coat Cycling (via lapis lazuli and redstone)?
	# || Do not enable if the server is multiplayer and has an economy.
	allowCoatCycling = true
	# || Can Secret Coats be obtained via Secret Items? (Default = True = Yes)
	# || Do not enable if the server is multiplayer and has an economy.
	allowSecretCoats = true
	# || Enable the horse's food/water systems to be based off the 24 hour day?
	# || This is recommended for servers ONLY.
	serverTime = false
	# || Required only is 'serverTime' config is enabled.
	# || The hour at which morning hungy time triggers (Local to the server).
	# Default: 7
	# Range: 0 ~ 23
	morningHungyTime = 7
	# || Required only is 'serverTime' config is enabled.
	# || The hour at which evening hungy time triggers (Local to the server).
	# Default: 20
	# Range: 0 ~ 23
	eveningHungyTime = 20
	# || Should xp cost for renaming items in an cantazarite anvil be removed?
	removeXpRenameCost = true
	# || Should the perks provided by the Amethyst Armor (excluding Amethyst Riding Boots) be disabled?
	disableAmethystPerks = false
	# || Should the rider be teleported with the horse if the horse should fall into the void whilst the horse is wearing Amethyst Tier Armor.
	voidTP = true
	# || List of coats ids that should not be obtainable
	# || Example: ["swem:salamarty_arishant_cytris", "swem:mr_ed", "swem:joey_this_esme", "swem:delta_malli"]
	blacklistedCoatIds = []
	# || Enable SWEM's built-in permission node system for controlling player use of commands.
	# || This is recommended for servers ONLY.
	enableKeyPermission = false
	# || What horses should spawn? Vanilla horses only, SWEM horses only, or Both?
	#Allowed Values: VANILLA_ONLY, SWEM_ONLY, BOTH
	horseSpawn = "BOTH"
	# || Enables fireworks to be shot out of jumps and barrels when horses touch them.
	fireworkDisplay = false
	# || Should winged horse fly without requirement of Amethyst Horse Armor?
	wingedHorseFly = true
	#|| How much to heal the player wearing Netherite+ Riding Boots as a percentage of damage dealt.
	# Default: 0.05
	# Range: 0.01 ~ 1.0
	lifesteal = 0.05

Multiplayer Servers

Please note, default configuration is aimed at the average Singleplayer user. Configuration for Multiplayer use, especially with a strong Equestrian focus, or balance on rate of reproduction, training etc will require specific adjustments to suit your individual needs.

Read the full configuration file carefully to observe any recommendations on Multiplayer specific settings!


Adjustable Values - Horse Care

Food & Water
READ ME: Disabling Needs System

If you wish to disable the needs system entirely, please note the following:

  • Disabling the needs will NOT fix any existing missing meals or drinks, fix these via commands.
  • Disabling eating or drinking will NOT prevent horses eating completely, they will eat until food points are satisfied, then stop.
  • Disabling eating and drinking prevents daily point resets and calculations from occurring on subsequent day cycles. 

Enable or disable food and water system.

	needFood = true

This accepts boolean values of true or false. Default is true - horses reset hunger points (AM) and calculate meals (PM) daily.

	needWater = true

This accepts boolean values of true or false. Default is true - horses reset thirst (AM) and calculate drinks (PM) daily.

Set the distance in blocks that horses will search for food and water sources, and prioritize choosing preferred types (ie bales over grass).

	intakeSearchRadius = 15

This accepts whole numbers from 5-40. Default is 15 - Horses search 15B outwards (30B radius) for food and water sources.

If set too low, horses may struggle to find suitable sources to satisfy their needs. If set too high or with many horses, lag may occur.


Pee & Poop

Set the duration between poop cycles. 

	poopInterval = 1800

This accepts whole numbers over 1. Default is 1800 - poop events (spawn poop entity) typically occur every 30 minutes while loaded.

Set the duration between pee cycles. 

	peeInterval = 1500

This accepts whole numbers over 1. Default is 1800 - pee events (set block) typically occur every 25 minutes while loaded.


Foal Growth

Set the duration for foals to grow up into adults.  ONLY AFFECTS FOALS BORN AFTER THIS SETTING IS CHANGED!

	foalAgeInSeconds = 1800

This accepts whole numbers over 1. Default is 1800 - foals fully grow up in 30 minutes, only increases while loaded.


Booster Shots

Set the duration of effect for booster shots.  ONLY AFFECTS HORSES BOOSTED AFTER THIS SETTING IS CHANGED!

	healthBoosterTime = 600

This accepts whole numbers over 1. Default is 600 - booster effect expires after 600 minutes, only decreases while loaded.


Adjustable Values - Horse Breeding

Breeding Tokens

Enable or disable breeding tokens (uncraftable). Replaces Rose Feed as the breeding item. Intended for Multiplayer servers.

	tokensBreeding = false

This accepts boolean values of true or false. Default is false - breed horses using the default rose feed (craftable).


Permanent Love Mode

Enable or disable permanent love mode. If enabled Horses remain "In Love" and seek a partner until they successfully breed.

	permanentLoveMode = false

This accepts boolean values of true or false. Default is false - horses remain "in love" for a short duration before it expires.


Love Mode Duration

Set duration of "In Love" status for stallions.    ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED! / IGNORED IF PERMANENT = TRUE

	stallionLoveTimeInSeconds = 1800

This accepts whole numbers over 1. Default is 1800 - stallions remain in love mode for 30 minutes, only decreases while loaded.

Set duration of "In Love" status for mares.    ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED! / IGNORED IF PERMANENT = TRUE

	mareLoveTimeInSeconds = 1800

This accepts whole numbers over 1. Default is 1800 - mares remain in love mode for 30 minutes, only decreases while loaded.


Gestation Duration

Set duration of pregnancy (gestation) for mares.  ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED!

	mareGestationTimeInSeconds = 1800

This accepts whole numbers over 1. Default is 1800 - mares give birth after 30 minutes, only decreases while loaded.


Breeding Cooldown

Set duration of breeding cooldown for stallions.   ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED!

	stallionBreedingCooldownInSeconds = 900

This accepts whole numbers over 1. Default is 900 - stallions cannot breed for 15 minutes, only decreases while loaded.

Set duration of breeding cooldown for mares.    ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED!

	mareBreedingCooldownInSeconds = 1800

This accepts whole numbers over 1. Default is 1800 - mares cannot breed for 30 minutes, only decreases while loaded.


Breeding Limits

Set limit on number of breedings for stallions.   ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED!

	maxStallionCovers = 0

This accepts whole numbers over 0. Default is 0 - stallions have no limits to how many times they can breed.

Set limit on number of breedings for mares.    ONLY AFFECTS HORSES BRED AFTER THIS SETTING IS CHANGED!

	maxMareCovers = 0

This accepts whole numbers over 0. Default is 0 - mares have no limits to how many times they can breed.


Twins Chance

Set chance (odds 1 in #) for mares to give birth to twin foals.

	twinBirthChance = 1000

This accepts whole numbers over 1. Default is 1000 - 1 in 1000 births (0.1%) chance of producing twins.


Fertile Toggle

Enable or disable permanent infertility status. 

	refertile_horses = true

This accepts boolean values of true or false. Default is true - horses can be given a male/female/random potion to reverse infertility.


Natural Breeding

Enable or disable stallions being permanently "In Love" and able to breed with fertile mares nearby. 

	natural_breed_chance = false

This accepts boolean values of true or false. Default is false - horses will always require breeding items to reproduce.


Adjustable Values - Tack

Tack Order

Enable or disable limitations on what order tack must be equipped in.

# || Is the Bridle slot required before equipping a Blanket? (Default = True = Yes)
	needBridle = true
# || Is the Blanket slot required before equipping a Saddle? (Default = True = Yes)
	needBlanket = true
# || Is the Saddle slot required before equipping the Girth Strap,  Breast Collar, and/or Saddlebag? (Default = True = Yes)
	needSaddle = true

This accepts boolean values of true or false. Default is true - tack must be equipped in a set order (bridle, blanket, saddle, girth).


Girth Strap

Enable or disable automatic removal of the saddle and dismounting of the rider when a girth is not equipped.

	needGirthStrap = true

This accepts boolean values of true or false. Default is true - girth must be equipped before mounting a horse.


Horse Armor Requirements

Enable or disable requirements on a full set of Adventure Tack to equip Horse Armor.

	needAll = true

This accepts boolean values of true or false. Default is true - full set (inc. wraps + breast collar) is required to equip armor.


Bridle Requirement

Enable or disable requirements on a bridle to steer the horse. If disabled, a saddle is still required!

	needBridleToSteer = true

This accepts boolean values of true or false. Default is true - horses cannot be "steered" without a bridle (halters do not count).


Adjustable Values - Experience Levels

Skill Experience

Set experience required to reach maximum level in each skill.

	maxSpeedXP = 13500
	maxJumpXP = 13500
	maxHealthXP = 13500
	maxAffinityXP = 17000

This accepts whole numbers (integers) over 1. Default is 13500 experience for max. skill level, or 17000 for affinity.

Multiplayer: Values are aimed at Singleplayer and it is common for Equestrian servers to set 50-100,000+ 


Adjustable Values - Server Admin

Coat Cycling

Enable or disable changing horse coats in survival.

	allowCoatCycling = true

This accepts true or false. Default is true and permits coat cycling (change) owned horses using lapis and redstone.


Secret Coats

Enable or disable converting horses into a secret coat using the correct process or items.

	allowSecretCoats = true

This accepts true or false. Default is true and allows players to obtain special coats in survival.


Server Time

Enable or disable horse mealtimes using real life (24hr) time system.  SUITABLE FOR SOME MULTIPLAYER / DO NOT USE IN SINGLEPLAYER

	serverTime = false

This accepts true or false. Default is false and uses Minecraft day cycle to execute hunger and thirst routines at set game times.

Set the real life time (local to the server) horses reset their hunger and thirst points.  IGNORED IF SERVERTIME = FALSE

	morningHungyTime = 7

This accepts whole numbers over 0 and below 23. Default is 7 - horses reset their needs at 7AM, if they are in a loaded chunk.

Set the real life time (local to the server) horses calculate their meals.  IGNORED IF SERVERTIME = FALSE

eveningHungyTime = 20

This accepts whole numbers over 0 and below 23. Default is 20 - horses reset their needs at 8PM, if they are in a loaded chunk.


Anvil Rename Cost

Enable or disable free item (ie nametags) renaming in Cantazarite Anvils.

	removeXpRenameCost = true

This accepts true or false. Default is true - cantazarite anvils can rename an item without XP cost or increments.


Amethyst Perks

Enable or disable additional perks (excluding armor protection values) for Amethyst Player Armor.

    disableAmethystPerks = false

This accepts true or false. Default is false - Amethyst armor retains all perks, specific to the item type or tier equipped.


Void TP

Enable or disable teleporting the horse and rider if they fall into the void.

	voidTP = true

This accepts true or false. Default is true - teleport horse/rider to spawn if falling into the void with Amethyst Horse Armor.


Blacklisted Coats

Set restrictions on coats that can be obtained via breeding, natural spawning and spawn eggs.  TBC 

# || List of coats ids that should not be obtainable
	# || Example: ["swem:salamarty_arishant_cytris", "swem:mr_ed", "swem:joey_this_esme", "swem:delta_malli"]
	blacklistedCoatIds = []

This accepts swem:coatid of default swem coats. Community pack coats can be individually restricted via their JSON files.


Key Permissions

Enable or disable the built in permission node system.  SUITABLE FOR SOME MULTIPLAYER / DO NOT USE IN SINGLEPLAYER

	enableKeyPermission = false

This accepts true or false. Default is false - commands are not restricted to players with "key" permissions.


Spawning

Enable or disable natural spawning of SW horses during world exploration.

	horseSpawn = "BOTH"

This accepts BOTH or VANILLA_ONLY or SWEM_ONLY. Default is BOTH - lite and vanilla horses naturally spawn.


Obstacle Fireworks

Enable or disable fireworks when colliding with jumps and barrel obstacles.  CAN CAUSE REFUSALS / MINOR DAMAGE TO HORSES (JUMPS)

	fireworkDisplay = false

This accepts true or false. Default is false - fireworks are not activated on contact with an obstacle.


Winged Flight

Enable or disable ability for "natural winged horses" (ie Pegasus) to fly without Amethyst Horse Armor.

	wingedHorseFly = true

This accepts true or false. Default is true - default and custom pegasus (set in JSON file) can fly without armor.


Lifesteal

Set decimal value of the Lifesteal effect in Netherite+ riding boots.  IGNORED IF DISABLEAMETHYSTPERKS = TRUE

	lifesteal = 0.05

This accepts decimal numbers from 0.01-1.0. Default is 0.05 - 5% damage is healed by Netherite+ riding boots. 1.0 = 100%


Additional

Files change from .toml to .toml.bak if entries are invalid or a file was regenerated. Check regularly when updating or editing files!

Configuration file updates are uncommon and usually harmless, but you may need to regenerate files or reapply custom settings.


Known Issues

You can report any mod issues to our bugs forum on Discord - please check for duplicate reports first! 


Changelog

View Changes

This is not a complete list of changes or features. It is a log of wiki-related version information and may be outdated.

MC Version Release Notes
1.21.1 1.6.12 Page established - Information prior to 1.6.12 is not specifically included but is likely the same.