Confirm with your password

RagnaroksWrath

The world reacts and remembers. Seasons, devastating storms, spreading plague with visible miasma, fire scars, tiring soil, earned titles. Server-authoritative world simulation. One DLL, server and clients.

Client & Server Visuals World Generation
Changelog & versions

· Website

Stars
0
Downloads
1
Version
0.24.0
Updated
Author
RavenIronStudios
Virus scan
✓ Scan successful
Runs on
Client & Server

Compatibility

Required 1

Install these too — Gale pulls them in for you.

Description

Ragnarok's Wrath

The land remembers who walked it.

A Valheim world-simulation mod by Raven Iron. The world reacts and remembers: seasons turn, storms rage, plague takes root and creeps, fire leaves scars, farmed soil tires, the wild wages war on the blight, the land holds grudges against the people who hurt it — and raises stone monuments where its stories end. Every zone quietly keeps score of what has happened there, across restarts, forever. One DLL — install on server and clients.

Not a tracker, dashboard, or HUD mod. There is no UI. The world tells you itself: a sickly fog in a blighted valley, ash drifting over an old burn scar, a deer that staggers, a bush that refuses your hand specifically, runes glowing on a stone that remembers a fire.


What it does today

🍂 Seasons

Spring, Summer, Fall, Winter on a configurable clock — driving gameplay, never visuals: fire risk, plague growth, frost, farming yield all swing with the season. Runs its own clock, or defers automatically to Seasonality (RustyMods) when installed — no second clock, no conflict.

⛈ Devastating Storms

Real vanilla events — banner, music, timer — fired on our schedule, positional and local: fire risk, wind and plague spread all rise inside the storm's area and nowhere else. A storm over contested ground escalates the war beneath it. And with FireFront installed, a storm can strike: a rare bolt of lightning lands near someone under it and starts a real fire — never in rain, never near anything player-built. The sky is never touched (Seasonality-safe); a config toggle exists for owners who run no weather mod and want the thunderstorm look.

🦠 Plague — in the land, and in you

A spreading, curable sickness that lives in the ground — and it starts on its own: every so often (rarer than daily by default, likelier on corrupted or burnt land, carried by storms) an outbreak quietly takes root where people live and walk. It grows where players linger, creeps along its frontier, feeds on corruption, rides storms — and dies back through winter or neglect. Clients see a grey-green miasma where it runs deep: no marker, no map icon, just the land looking wrong.

Stand in it and it gets into you: exposure builds over tens of minutes into a real sickness — stamina first, then healing — shown as a vanilla status icon, never a HUD. Leaving drains it; rest drains it faster; poison-resist mead slows the intake. Relogging is not a cure. High-frost ground chills you where vanilla wouldn't — a campfire or frost-resist mead answers it, and your breath fogs in the cold air.

🔥 Fire scars (with FireFront)

FireFront (Raven Iron) ships as a dependency — mod managers install the pair together — and fires char the land itself: burning zones accrue Scorch, which suppresses recovery and outlives the flames — and gray ash drifts over old burn scars, thinning as the land heals. Installing by hand? You need both mods (FireFront 0.17.2+, 0.17.3+ for arson attribution — the log tells you at boot if the pairing is stale). Without FireFront the system sleeps; Ragnarok's Wrath ships no second fire simulation.

🌱 Land that keeps score

Fertility tires under dense crops — and tired fields grow slow: crops in depleted soil take up to double the time, so resting a field genuinely pays. Blighted and burnt ground corrupts, corruption feeds the plague, and the world derives its own condition — Flourishing, Stable, Ailing, Stricken — announcing the turning points to everyone.

💀 Consequences

Sick land acts like it: berry bushes and mushrooms stop yielding on plagued or burnt ground, wildlife staggers visibly sick, crops in deeply blighted soil wither and die, and creatures born on corrupted ground come up starred. Player structures are never touched.

⚔️ The land takes sides

Every act is remembered, per zone, per player: planting and healing presence book care; arson books harm to the arsonist by name (FireFront identifies who lit it — even across the fire's whole spread). Grudged ground drifts harsher under your feet, refuses you berries it gives freely to others, and marks you — Ashbringer — while tended ground heals faster for its keeper and sheds their sickness sooner. Regional standing earns Warden or Despoiler. And where blight and genuine care collide, the zone goes to war: the blight's spawns star harder, the wild pours in to answer, storms escalate it, and the war ends one way or the other with a single line to whoever stands there.

🐗 The nemesis

The creature that kills you is marked in that moment: it gains a star, and its nameplate remembers — slayer of Nomad, counted on repeat offenses. The mark lives in the creature's own body and survives server restarts. If it despawns, it got away. Kill it for the only cure.

🗿 Relics — the world writes its own monuments

Where a story completes, a stone rises: a great fire fully healed, a plague driven out — blessed. A war lost to the blight — cursed. The land recovering from Stricken raises one rare stone on the ground that healed the most. Standing stones carry real auras (blessed ground heals quicker and sheds sickness faster; cursed ground sickens you and breeds meaner things) and wear glowing runes — gold or blood-red. The stones can be broken, but the land books the vandal, and it does not forget.

🏅 Titles

Earned from what happened to you, never from tracked stats: Stormrider, Plaguewalker, Winterborn, Ashbringer, Warden, Despoiler. Latest earned shows under your nameplate.

🛠 The wrath console

wrath status, wrath zone, wrath relics answer anywhere; wrath zone set, wrath care set, wrath harm set, wrath save run on the server — and typed in-game by an admin, they forward through vanilla's own admin gate, execute where the world lives, and reply to your screen. Server owners never need to hand-edit a save file again (though they can: every store is plain tab-separated text).


Install

Drop RagnaroksWrath.dll into BepInEx/plugins/ on the server and every client. The same DLL does both jobs: the server runs the simulation, clients render what it pushes and act where they stand.

Config appears at BepInEx/config/com.raveniron.ragnarokswrath.cfg — every system has its own on/off switch, every rate, threshold, and aura is tunable.

Keep the config identical on the server and every client. Several client-side gates (consequence thresholds, wildlife lists, relic dials) read local values; a client with a diverging config behaves differently on the same world. If the server and a client disagree about the mod version, the client warns once on screen — mismatched pairs fail safe, but features silently stop showing until they match.

Plays well with

  • Seasonality — detected and deferred to automatically (GUID verified against their source)
  • FireFront — a listed dependency (installed automatically by mod managers); unlocks fire scarring, arson attribution, and storm lightning. Removing it is safe: those systems simply sleep.
  • AwayFromHome — deliberately compatible: drift never ticks on zone load state, unattended bases never burn, and sweeps are staggered off its rescan

Known limitations

  • On a Steam Cloud singleplayer world, the mod's world-state files live beside the local save and do not travel with the cloud — move machines and the land starts a fresh memory. Dedicated servers and local worlds are unaffected.
  • The mod adds no prefabs, no assets, no bundles — every visual is generated in code. This is deliberate and load-bearing; it will not change.

Early build

Every system is live and dedicated-server-verified — most rates to four decimal places against prediction — but this is an early, evolving mod. Report anything strange: the logs are chatty in all the right places.

Changelog

0.24.0 Latest
  • Seasons (shudnal) is now a recognised season source. Until now only Seasonality (RustyMods) was detected; anyone running shudnal's Seasons got a second, disagreeing season clock from us driving fire risk, plague growth and farming yield. We now defer to whichever of the two is installed (they declare themselves mutually incompatible, so it is never both) and run our own clock only when neither is present. shudnal's season is read by reflection from its own state — not its global keys, which are off by default and renameable — and, as always, consumed as gameplay state only: their mod owns everything you see.
0.23.1
  • Config guidance from the first live lightning session: the storm-look setting's default environment (ThunderStorm) is rainy, and rain rightly suppresses lightning fires — so look and bolts were mutually exclusive. Both descriptions now point at vanilla's dry storm (Eikthyr) for owners who want the sky and the fire. No behavior changed.
0.23.0
  • Storms strike. A Devastating Storm over your head can now land a bolt of lightning nearby — and the fire it starts is real, handled entirely by FireFront's own simulation. Bolts are rare (about one storm in three at defaults), only ever land near an online player, never fall in rain, and never within 30m of anything player-built: the storm menaces the wild, not the homestead. Lightning fires are natural — nobody is booked for the sky's work. Everything is config: the rate, the landing ring, the standoff, or off entirely.
  • FireFront is now a listed dependency. Mod managers install the pair together, so the fire half of the world can no longer be silently missing. Installing by hand still works both ways — without FireFront the fire systems just sleep — and the log now tattles at boot if your FireFront is too old for what this version expects (0.17.2 for fire memory, 0.17.3 for arson attribution).
0.22.1
  • Zone announcements actually arrive now. Two lifelong delivery bugs stacked: a dedicated server could never reach remote players with zone-local lines, and the distance check lost anyone standing on high ground. Every zone-local message — war resolutions, consecrations, contest flips — now routes to each player properly and measures distance flat. If you never saw a centre-screen line before, this is why.
0.22.0
  • Plagues begin on their own. Until now every outbreak needed an admin's hand — which meant a fresh public world could run forever without the blight arc ever starting. Genesis fixes that: every so often (about twice a day of played time by default, config-tunable) sickness quietly takes root in ground players actually touch — likelier on corrupted or burnt land, carried by storms. The seed is invisible until it grows; outbreaks are discovered, never announced. All the old containment rules still hold, and the old admin instruments still work.
  • Version mismatches are loud now. A client running a different mod version than the server gets one warning — log and corner message — instead of features silently not showing. Mismatched pairs still fail safe; now they also fail audibly.
  • README: keep the config identical on server and clients — several client-side gates read local values.
0.21.0
  • wrath from the comfort of F5. Mutations typed in-game now forward to the server through vanilla's own remote-command pipe: the server checks you against adminlist.txt, refuses everyone else with "You are not admin", logs the admin and the exact line, and runs the command where the stores live. Reads still answer locally; confirm a forwarded edit with wrath zone <x> <y> a sync later.
0.20.1
  • The farming boot line stopped promising what 0.20.0 already delivered.
0.20.0
  • Tired fields grow slow. Fertility depletion — written by the farming sweep since 0.6.0 — is finally felt: crops in depleted soil take longer to grow, up to double on fully exhausted ground (linear, configurable, off at 1). Resting a field now genuinely pays, closing the loop the depletion writer opened thirteen versions ago. Wild trees and bushes owe farmland's memory nothing — only the crop list pays.
0.19.0
  • The wrath console. wrath status, wrath zone [x y], wrath zone set, wrath care/harm set, wrath relics, wrath save. Reads answer everywhere (a pure client sees the synced view); mutations run only where the stores live — the server's own console or a listen host. Zone edits stamp fresh contact automatically, so the credit-on-contact backlog can never again eat a staged value before it is measured. Retires the stop-edit-copy-restart dance that one verification day performed five times.
0.18.0
  • Runes on the stones. Standing relics now wear their nordic design: fehu, algiz, gebo and thurisaz rise slowly around every consecrated stone — gold where the ground is blessed, a dull red where it is cursed. Drawn in code, stroke by stroke, like everything else this mod renders: no assets, no textures touched, the fourth emitter on the same template as the fog, the frost and the ash.
0.17.2
  • Arm the relic wire where a SOLO client actually runs (ConsequenceEffects' loop, the ZoneSync pattern) — the nameplate path only fires rendering someone else's plate.
0.17.1
  • The stone that never rose: 0.17.0's first consecration was recorded perfectly and its placement request vanished into a client that had never armed its handler — pure clients tick no world systems, the nameplate-patch lesson, relearned. Clients now arm the relic wire on the render path, and placement is fire-and-forget no longer: the server retries until a client confirms the stone stands, the confirmation is persisted, and asking twice never builds twice. A 0.17.0 ledger row loads unconfirmed, so the lost first monument raises itself on the next visit.
0.17.0
  • Consecrated places. The world now writes its own monuments: where a story completes, a stone rises. A great fire fully healed, a plague driven through zero — blessed. A spawn war resolved — blessed if the wild took the ground back, cursed if the blight claimed it. And rarest of all, the land recovering from Stricken raises one stone on the ground whose healing defined the era.
  • Blessed ground heals quicker and sheds sickness faster while you stand on it; cursed ground sulks, sickens you faster, and breeds slightly meaner things. The stone speaks once to whoever arrives — and it can be broken, which lifts the aura, but the land books the vandal into its ledger. A desecrated site can earn a new stone the next time its story peaks and completes.
0.16.0
  • The nemesis. The creature that kills you is marked in that moment: it climbs a level (up to two stars) and its nameplate remembers — slayer of Nomad, counted on repeat offenses. The mark lives in the creature's own body and travels with the world save; a nemesis that despawns got away. Kill it for the only cure.
0.15.3
  • The wild side's design is settled: refill pressure. On contested ground the war keeps the wildlife topped up and keen — spawn chance 100% and a widened attempt gate (now the defaults) — but it deliberately never crowds a population past vanilla's own caps. The engine's pheromone override widens the gate, not the budget; we ship what the engine honestly supports rather than bolting on a second spawner.
0.15.2
  • War census (verbose only): every minute on contested ground, log how many of each horn target are loaded and how many stand within 200m — the exact numbers vanilla's spawn budget sees. Added because "no animals came" turned out to mean "six deer and eight boar were already here, hidden in the fog".
0.15.1
  • War-state edge logs on both sides: the server logs every change in the contested-zone count, the client logs once when it first sees war underfoot. Instrument before guessing — the difference between "the server never computed a war" and "the wire lost it" should never cost a round-trip again.
0.15.0
  • The spawn war. A blighted zone that people genuinely fight for — sick past the line AND tended past its own — becomes CONTESTED ground, and both sides answer: the blight's spawns come up starred at doubled odds, while the wild surges to its defenders through the game's own spawn-attraction machinery (more deer, boar and hare answering the war horn near anyone standing their ground). A Devastating Storm overhead escalates the whole thing.
  • Wars end when one side's drift wins: the land healing past the line is the wild's victory, the tending fading while blight stands is the blight's — announced once, to whoever is there to hear it. Dangerous ground that resolves itself.
0.14.1
  • Ash made properly visible (bigger, darker, denser, tighter) — 0.14.0's motes were arithmetic-invisible at real scar scorch.
0.14.0
  • Ash over the burn scars. Zones the fire marked now show it: gray ash motes drift down over ground whose scorch runs high, thinning as the land heals — the memory of fire, visible, on the same clock as the healing itself. FireFront's living flames and its permanent dirt-paint are separate and untouched.
0.13.0
  • The land takes sides. Every shaped zone now remembers who shaped it MOST: its dominant carer and its dominant despoiler, floor-gated so nobody wins ground they barely touched, hysteresis-held so the crown doesn't flap.
    • The dominant carer's presence heals the zone 25% faster, and sickness leaves them 50% faster on their own ground — the world's favour, earned in the ledger.
    • Holding three zones' memory earns Warden (care) or Despoiler (harm) under your nameplate.
    • When a zone genuinely changes hands between two rivals who both shaped it, the ground says so to whoever stands there — one line per actual taking; walkovers and fades pass in silence, and a solo world never hears this voice at all.
0.12.0
  • The land holds grudges. Zones remember who hurt them (net of who tended them), and react to that person specifically:
    • Ground you wronged drifts harsher under your feet — healing up to halved, rot up to doubled, scaling with the grudge. Your friends walk the same ground untroubled.
    • Past a threshold, its pickables refuse your hand — "the land remembers what you did here" — while anyone else picks freely.
    • The worst offenders wear it: the Ashbringer title lands when any zone's grudge crosses the line, announced like every title.
  • Grudges fade (48-hour half-life) and tending genuinely mollifies — care offsets harm point for point. The atonement loop is real: heal what you burned and the land forgets.
  • Wire note: the zone sync now carries your personal grudge per zone (renamed RPC; server and clients update together, as ever).
0.11.1
  • Arson has a name now. With FireFront 0.17.3+, the scorch a fire burns into each zone is booked as harm to whoever lit it — spread fires inherit their arsonist, natural and creature fires book nobody. With an older FireFront, attribution stays quietly dormant and fire scars accrue exactly as before. The ledger's harm column has its first writer; grudges come next.
0.11.0
  • The world keeps score (first ledger). Every zone now remembers who tended it: planting crops books care to the planter (once per plant, ever), and standing by while damaged land heals books care to those present. Both fade over days — the world forgives on a long enough timeline. Nothing reads the ledger yet; grudges, contests and the spawn war build on it in coming releases. Stored beside the other world files, plain text, admin-editable.
0.10.0
  • The land pushes back. Four consequences of drift, all reversible by curing the land, none of them ever touching player structures:
    • Plagued or scorched ground goes barren — berries, mushrooms and thistle refuse the hand, with a withered hover line saying why.
    • Corrupted ground breeds starred enemies — better odds on vanilla's own level-up roll, so the danger map follows the drift map. Wildlife is never starred.
    • Plagued zones sicken wildlife — deer and boar visibly slow, and recover on their own once the plague (or the animal) is gone.
    • Badly blighted soil kills crops — plants turn unhealthy and die at grow time, through the game's own machinery. Cure the land, replant, farm again.
  • Each affected zone announces itself once — one line, the first time you stand in it — never per bush, never per deer.
0.9.0
  • Frost breath. On land whose frost has drifted high, your breath fogs — a soft puff every few seconds, denser the colder the ground. It starts BELOW the chill threshold, so the land shows its cold before it bites, the way plague fogs before it sickens. Purely visual, procedural, local-only; a roof keeps it off you.
0.8.2
  • Shutdown no longer loses the last minute of sickness. The exposure ledger saved on a 60-second cadence but was missing from the shutdown flush, so a clean server stop or world exit could quietly drop up to a minute of exposure drift. Found live (it cost 0.02); the ledger now flushes alongside the zone store.
0.8.1
  • The sickness can now actually be felt. In 0.8.0 the penalties ramped up from nothing at the moment a tier was announced, so "a sickness takes root in you" came with a 2% stamina penalty — invisible in the hands. Crossing a tier now bites at once (stamina ×0.85 the instant it takes hold, deepening as exposure climbs) and keeps ramping from there.
  • The sickness icon carries a readout. While it is getting worse, the icon shows how far gone you are; once you are off plagued ground it becomes a real countdown to clean, in the game's own timer format — and it shortens when you are rested.
0.8.0
  • Plague sickness. Standing on plagued ground now builds exposure on YOU — slowly, over tens of minutes. Stamina fails first, then healing; the sickness weakens but can never kill. It shows as a status icon (vanilla's own bar) and fades away from blighted land — faster rested, slower to take hold with poison resistance. Leaving and rejoining is not a cure: exposure is persisted per player, world-scoped, in the same admin-editable format as everything else.
  • The chill. Land deep in frost now bites players the weather alone would not — unless they carry frost resistance, stand by a fire, or shelter. Never lethal, never Freezing.
0.7.1

First packaged build. Everything below verified live on a dedicated server.

  • Zone sync + plague miasma. The server now pushes each player the zone state around them (absolute snapshots, self-healing on packet loss), and clients render a procedural grey-green fog in zones past the plague threshold. Fresh seeds stay invisible — the fog is how you discover a zone has turned, not a minimap.
  • Titles. Stormrider, Plaguewalker, Winterborn — earned from world events, shown under nameplates, persisted world-scoped in an admin-editable ledger. Announced once, never spam.
  • World condition. The land judges itself from total burden (Flourishing / Stable / Ailing / Stricken) and announces only real turning points — transitions are hysteresis-guarded so they cannot flap.
  • Ecology. Sustained plague or scorch corrupts the ground under it, and corruption feeds plague growth — the first feedback loop. Severable by config.
  • Farming. Dense crops tire a zone's soil over time; rest heals it. (Growth/yield effects read from this in a future build.)
  • Plague. Grows where players linger, spreads zone-to-zone along its frontier, rides storms, dies back through winter or neglect; a cure that reaches zero is permanent.
  • Fire scars. With FireFront installed, burning zones accrue Scorch that outlives the flames and slows the land's recovery. Without it, the system sleeps.
  • Devastating Storms. Real vanilla events on our schedule; fire risk, wind and plague spread rise inside the storm's area only. The sky is never forced (default).
  • Seasons. Gameplay-only clock with Seasonality auto-deferral.
  • Persistence. World-scoped, atomic, fail-safe stores: corrupt files quarantine loudly instead of vanishing silently, values clamp on read as well as write, and everything is plain tab-separated text.

Full version history & older downloads →

Manual download
Just this mod One .zip — RagnaroksWrath 0.24.0
Files you'll get 2
  • RagnaroksWrath 0.24.0 RavenIronStudios this mod Get
  • FireFront 0.17.3 RavenIronStudios Get

Your browser may ask permission to download several files at once. How to install these manually

Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2333 · View mod page

Check out the mod page for detailed installation instructions.

2

Install RagnaroksWrath

This mod must be installed on both the client and the server.

Download RagnaroksWrath 0.24.0

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.