IronShoulders
Carrying skill: train by travelling on foot with a load; up to +150 carry weight.IronShoulders
Train your Carrying skill by travelling on foot with a load. IronShoulders adds a persistent skill that gradually increases your maximum carry weight, up to +150 at level 100 with the default settings.
Carry supplies, explore and haul resources to become a stronger pack carrier. Walking, automatic movement (auto-run) and sprinting count when your character actually moves on the ground. The skill appears in the normal skills menu as Carrying (Переноска in Russian), starting at level 0.
Found a bug or experiencing issues?
If you encounter any bugs, errors, or other problems with the mod, please create an issue on GitHub.
Required
| Dependency | Required version |
|---|---|
| BepInExPack Valheim | 5.4.2333 or newer |
| Jötunn | 2.30.2 or newer |
For multiplayer, install IronShoulders and its dependencies on the server and every client. All players and the server must use the same IronShoulders version, including the patch number. Jötunn checks this when connecting.
How carrying capacity works
The bonus scales linearly with the learned Carrying level:
Carry bonus = MaxCarryBonus × Carrying level / 100
With the default maximum bonus:
| Carrying level | Extra carry weight | Total with the usual 300 base capacity |
|---|---|---|
| 0 | +0 | 300 |
| 25 | +37.5 | 337.5 |
| 50 | +75 | 375 |
| 100 | +150 | 450 |
The bonus stacks with Megingjord and other carry-weight effects. It is added before the world's carry-weight multiplier. Inventory size and item weights are not changed.
How training works
Your current load
Training uses the weight in your own inventory divided by your current maximum carry weight. This maximum includes the skill's own bonus, Megingjord, other active effects and the world's carry-weight multiplier. Cargo in a cart, ship or chest does not count as personal weight.
With the default thresholds:
| Load relative to current capacity | Load XP factor |
|---|---|
| 30% or less | No XP |
| Between 30% and 60% | Increases linearly from 0 to 1 |
| 45% | 0.5: half the full-load XP rate |
| 60% through 100% | 1: full-load XP rate |
| Over capacity | No XP while encumbered |
Carrying more than 60% does not increase this factor further. As your capacity grows, you may need more cargo to maintain the same training load.
Movement and stamina
XP is based on effective movement time, load and movement mode. Effective
movement time is the smaller of elapsed time and distance travelled divided
by MovementSpeedForFullXp (default: 1 metre per second). Moving more
slowly earns proportionally less XP; going faster than this threshold does
not add another speed multiplier.
Sprinting has its own XP multiplier. It can also receive up to 15% extra running XP from stamina actually spent sprinting, reaching the full bonus at 1 stamina per metre by default. Attacks, dodges and stamina regeneration do not contribute to this bonus. A higher Run skill can reduce stamina spent per metre and therefore reduce this extra bonus.
Standing still, running against a wall without moving, jumping, falling, swimming, flying, riding, movement aboard a ship, knockback, dodging, attacking and sliding do not train Carrying. Teleports and loading transitions do not award travel XP.
Default progression pace
The following are calibration targets from level 0 to 100 at 60% load or more, with movement at or above the speed threshold, without Rested, with the world skill-gain multiplier set to 1 and no skill loss:
| Movement | Active training time |
|---|---|
| Walking | About 35 hours |
| Sprinting with the full stamina bonus | About 25 hours |
| Sprinting without the stamina bonus | About 28.75 hours |
These are active movement hours. Stops, stamina recovery breaks, lower loads and excluded movement extend the time needed in a normal playthrough. Later levels require more XP, and excess XP carries over when a level is gained.
Rested applies Valheim's normal +50% skill XP once. World skill-gain settings also apply once. The skill follows the game's death-related skill loss and skill-cap rules; its learned level and XP progress are saved with the character.
Configuration
The file is created after the first launch:
BepInEx/config/kastante.IronShoulders.cfg
All settings use Jötunn's server configuration synchronization. Single-player uses your local configuration; multiplayer uses the server's settings.
| Section | Setting | Default | What it controls |
|---|---|---|---|
| General | Enabled |
true |
Enables training and the carry-weight bonus. When disabled, the skill stays registered and its saved level and progress are retained. |
| Progression | WalkTrainingHours |
35 |
Target active walking hours from level 0 to 100 at full load factor, without Rested or a world XP bonus. |
| Progression | RunTrainingHours |
25 |
Target active sprinting hours under the same conditions, including the full stamina bonus. |
| Progression | MinLoadRatio |
0.30 |
Fraction of current capacity at or below which no training XP is earned. |
| Progression | FullLoadRatio |
0.60 |
Fraction of current capacity at which the load XP factor reaches its maximum. |
| Progression | MovementSpeedForFullXp |
1 |
Own movement speed in metres per second needed for elapsed movement time to count in full. Slower movement is scaled down. |
| Progression | StaminaBonusMax |
0.15 |
Maximum additional sprinting XP fraction from actual running stamina expenditure: 0.15 means up to +15%. |
| Progression | StaminaPerMeterReference |
1 |
Stamina spent per metre needed for the full stamina bonus. Lower expenditure gives a proportionally smaller bonus. |
| Reward | MaxCarryBonus |
150 |
Extra carry weight at learned level 100, before the world's carry-weight multiplier. |
The two training-hour settings calibrate the rates together. The base running multiplier is calculated as:
WalkTrainingHours / (RunTrainingHours × (1 + StaminaBonusMax))
The maximum stamina bonus is already included in RunTrainingHours.
Changing StaminaBonusMax also recalculates the base running multiplier.
Training hours, movement speed and stamina reference must be positive and
finite. Load thresholds must satisfy
0 <= MinLoadRatio < FullLoadRatio <= 1. Bonuses must be non-negative, and
WalkTrainingHours >= RunTrainingHours × (1 + StaminaBonusMax).
Invalid settings are rejected as a complete set: the previous valid settings
remain active, or defaults are used on the first launch. The reason is written
to the log. Enabled=false still disables training and the bonus even if
another setting is invalid.
Restart the game or server after editing the config file manually. Settings
changed through a compatible configuration manager are applied while running.
To pause the mod while keeping the skill, use Enabled=false rather than
removing it: saving a character without the mod can discard an unknown skill.
Installation and updates
Install with r2modman or Thunderstore Mod Manager and allow it to install the
required dependencies. For a manual installation, place IronShoulders.dll
in BepInEx/plugins/IronShoulders/ after installing the dependencies.
Keep a single copy of the plugin. Fully close the game and stop the server before updating, then install the same version everywhere and restart.
