Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
NaturalDisasters
Ten server-authoritative natural disasters: earthquake, ocean tsunami, tornado that lifts you, sandstorm, blizzard, meteor shower, volcanic ash, blood moon, supercell lightning, wildfire. Forecast HUD, lightning rod, water bucket.
| Date uploaded | a week ago |
| Version | 1.0.0 |
| Download link | FLmOds-NaturalDisasters-1.0.0.zip |
| Downloads | 18 |
| Dependency string | FLmOds-NaturalDisasters-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.1README
Natural Disasters
Ten localized natural disasters for Valheim, run by the server, felt by everyone nearby. An earthquake cracks the ground under your base, the ocean itself rises into a tsunami that floods the beach, a tornado lifts you off the ground and drops you, sandstorms blind and slow you while sand-coloured undead hunt you in the dust, blizzards freeze you unless you find shelter or a fire, meteors burn the forest, volcanic ash brings Twitchers, a blood moon calls Fenrings and bats, supercells throw bursts of lightning at your rooftops, and wildfires spread with the wind and leave black scars behind.
Every event is announced on screen ("Dark clouds gather... a tornado is forming", in the same style as the new-day message), shown as a coloured circle on the map, forecast under the minimap, approaches gradually, plays its own sound bed with random impacts, and cleans up after itself. Events start around you — or between you and your base — with a radius of 220–380 m, some only by day or by night, and harder ones unlock as you defeat bosses. The disasters themselves never take a building below 30 % durability and wards protect against them — but the creatures they bring fight your walls like any other monster. Every rule is a config value synced from the server.
Testing build. This is an early public version. Please report anything odd on Discord: https://discord.gg/qBJh7Bn2k7 — type
ntldstr reportin the console, then attach the file it writes (see Reporting bugs below).
Requirements
- Valheim 1.0 (Steam, current version)
- BepInExPack_Valheim 5.4.2350 or newer
- Jötunn 2.30.1 or newer
Install the mod on the server and on every client, same version. Disasters are decided and simulated by the server (or the host in a hosted game); clients render what the server tells them. A client without the mod will not see events, will not be affected, and will desync ownership of pushed objects.
Installation
r2modman / Thunderstore Mod Manager (recommended)
- Install BepInExPack_Valheim and Jötunn (they are pulled in automatically as dependencies).
- Install Natural Disasters.
- Start the game with Start modded. The config file
BepInEx/config/wallachianvikings.WVDWS.cfgis created on first launch.
Manual
- Install BepInEx and Jötunn.
- Copy
WVDWS.dlland the wholeassetsfolder from this package intoBepInEx/plugins/NaturalDisasters/(theassetsfolder must stay next to the DLL). - Launch the game once to generate the config.
Dedicated server
Install exactly as above in the server's BepInEx/plugins. Edit the server's wallachianvikings.WVDWS.cfg to tune gameplay; those values are pushed to every client on connect (client-side copies of gameplay values are ignored). Audio, VFX quality, forecast HUD and language stay local to each player.
The events
| Event | What happens |
|---|---|
| Earthquake | Camera shakes in pulses, dust and pebbles jump off the ground, the sea churns, structures take capped damage. Deep rumble with random rock cracks and booms. Rubble Trolls — and sometimes a Rubble Golem — come out of the shaking ground. |
| Tsunami | Only after a recent earthquake and only on a low, broad coast. The sea draws back, then a ~28 m wall of the game's own water rises offshore and rolls onto the beach. It lifts swimmers and ships, carries you inland, hits buildings once, then recedes. |
| Tornado | (day) A dark condensation funnel under a wide rotating storm deck — hundreds of clouds, scud racing in low, lightning flashing inside the deck, rain near the funnel — travels across the zone. Inside the suction radius you are pulled in, spun, lifted into the air and dropped — with normal fall damage. Debris and dust everywhere. |
| Sandstorm | (day) Visibility drops to ~18 m, sand streaks past the camera. Running into the wind is very slow and drains stamina, running with it is faster, jumps are pushed downwind and you drift while airborne. Sand Skeletons and the occasional Sand Wraith come out of the dust. Shelter protects. |
| Blizzard | Horizontal snow, howling wind. Standing exposed engages the game's own Freezing status (icon, health drain, frosted screen) plus frost ticks. A roof or a nearby fire protects — but any fire that is not inside a shelter (roof and walls) is put out by the storm. Frost Fenrings, Wolves and Ulv roam. |
| Meteor shower | (night) Clusters of burning meteors with trails and shooting stars; impacts start fires. Ember Surtlings and Charred warriors spawn near the impacts. |
| Volcanic ash | Grey ash and glowing embers fill the air, the sky goes dark, the ground rumbles and booms. Breathing it outside a shelter gives you Ash lungs: 0.5 health per second (configurable) and slower stamina regeneration. Ash Twitchers swarm you, with Charred warriors among them (melee only). |
| Blood moon | (night) Night falls, the moon turns red, the land is bathed in red light. Blood Fenrings and bats hunt. |
| Supercell | Heavy rain, wind, and bursts of several lightning bolts at once — some aimed near (rarely at) exposed players. Near strikes crack instantly, distant thunder arrives later. Storm Draugr Elites and Abominations walk in. |
| Wildfire | (day) Dozens of ground fires spread with the wind, ignite trees and wooden buildings, char what they touch and leave black burn marks on the ground for half a day. Blaze Surtlings and Charred warriors guard the flames. Burnt trees and buildings turn grey-black, leaves included. |
Where and when. A natural event picks a player, centres itself between that player and their nearby buildings (or on the player when there is no base), and takes a random radius of 220–380 m. Tornado, sandstorm and wildfire happen by day; blizzard, meteor shower and blood moon by night. Earthquakes and sandstorms can happen from day one; supercells and wildfires need one boss defeated, tornadoes and blizzards two, tsunamis and meteor showers three, blood moons four, volcanic ash five (Scheduler.ProgressGating = 0 turns this off). Forced console events ignore all of that. Only players close to each other share an event; groups far apart may get different events. Structures hit by the disasters themselves always keep at least 30 % of their maximum health; event creatures damage buildings normally and drop nothing.
Items
- Lightning Rod — Hammer → Crafting, forge level 2 (Iron 8, Copper 4, Wood 2). Attracts lightning within 40 m, takes repairable durability damage and conducts a little damage around its base. Place it away from where you stand.
- Water Bucket — workbench level 1 (Wood 10, Bronze 2). Equip it, press its hotbar key again to fill it near water, then use it next to a wildfire to put out fires in a 7 m radius (5 uses, 2 s cooldown). It does not extinguish your own hearths.
Commands (console with -console, host or server admin)
ntldstr help
ntldstr status
ntldstr report writes a bug-report file (see below)
ntldstr event list
ntldstr event force <event> [seconds] [radius]
ntldstr event clear
wvdws works as an alias for ntldstr.
Events: earthquake tsunami tornado sandstorm blizzard meteor volcanicash bloodmoon supercell wildfire.
Example: ntldstr event force tornado 90 160. Forced events start at your position immediately. A forced tsunami still needs a coast; set Tsunami.BypassEarthquakeForConsole = 1 to skip the earthquake requirement while testing.
Configuration
BepInEx/config/wallachianvikings.WVDWS.cfg. Gameplay sections are server-synced; [Audio], [VFX], [Forecast] and General.Language (en / ro) are local. Highlights:
[Scheduler]— random events on/off, minimum/maximum interval between events (default 10–30 min), per-type cooldown, distance from spawn,RadiusMin/RadiusMax,PreferBases,ProgressGating.[<Event>]—Enabled,Weight,Duration,Radius, damage values,MobSpawns,MobLimit,MobSpawnInterval,MobPrefabs,MobName,MobTint(r,g,b) andMeleeOnlyfor the event's creatures,TimeOfDay(0 any / 1 day / 2 night) andRequiredBosses.[StructureDamage]— durability floor (never below 0.3), wards respected, material toggles.[Audio]— master / ambience / wind / impact / creature volume, audio distance, impact interval scaling.[VFX]—AnnouncementsandMapAreaon/off (local),Quality0 = Auto (default, adapts to your frame rate), 1 = Low, 2 = Medium, 3 = High; particle budget, cloud density, render distance, camera shake scale.[Sandstorm]— headwind slow, tailwind boost, jump push, airborne drift.[Blizzard]— frost damage, shelter/fire protection,ExtinguishFires+ExtinguishInterval.[VolcanicAsh]—AirPoisonDamageper second,ShelterProtection, Twitcher limit.[Tsunami]— wave height, length, speed, push, surge.[Tornado]— suction radius/force, lift force, lift height, funnel density.
A full reference is in docs/CONFIGURATION.md inside the package.
Performance
Tested on a GTX 1650-class machine. Leave VFX.Quality on 0 (Auto): it lowers decorative particle density when frames get slow and recovers slowly. Gameplay never changes with quality. If the tornado or wildfire still costs too much, set VFX.Quality = 1 and VFX.ParticleDensity = 0.6.
Reporting bugs
- Reproduce the problem, then in the console type
ntldstr report. - The mod writes
BepInEx/config/WVDWS/reports/report-<date>.txtwith your versions, the active events, the effective settings and the last part of the BepInEx log. - Post it on Discord together with what you did and what you expected: https://discord.gg/qBJh7Bn2k7
Please include whether you were host, client or on a dedicated server, and whether other mods are installed.
Known limitations (1.0.0)
- Charred looks and burn marks are local presentation; players who join after a wildfire do not see old burns.
- Event cooldown history resets when the server restarts.
- The water bucket's water belongs to your session, not to the item.
- Tsunami needs a real coastline with deep water in front of it; narrow inlets do not qualify.
Credits
Code, sound synthesis, funnel/burn textures and icons: FLmOds (Wallachian Vikings). Particle textures by Kenney (CC0). Wind, rain and fire recordings from OpenGameArt (CC0 / CC-BY 3.0, see assets/licenses/ATTRIBUTION.md). Built with BepInEx, Harmony and Jötunn. Native meteor, lightning, snow and creature effects are Valheim's own and are not redistributed.
CHANGELOG
Changelog
1.1.0 — clearer configuration
- Real forecast: natural events are announced
Forecast.LeadGameHours(default 12 game hours) in advance — panel countdown in game days/hours, centre message and map circle from the moment the dice decide. - Scheduling is now in game time and percent:
Scheduler.RollEveryMinDays/RollEveryMaxDays(game days between rolls),ChancePercent(chance per roll),CalmDaysAfterEvent,SameEventCalmDays. Event length is<Event>.DurationGameHours. The old second-based keys (MinimumEventInterval, MaximumEventInterval, GlobalCooldown, PerTypeCooldown, EventChance, Duration) are ignored — re-enter your values in the new keys. - Every key carries its unit in brackets and a plain-language explanation in the .cfg file; docs/CONFIGURATION.md is a full guide with worked examples and FAQ.
1.0.2
- Every config key now has its own description inside the .cfg file and in docs/CONFIGURATION.md, with a units/time section (1 game day = 1800 s) and ready-made scheduling recipes.
Scheduler.EventChance(0-1): probability that a scheduler roll starts an event, so "5 % chance per game month" is now expressible; number caps raised to 30 real days for long cooldowns.<Event>.RequiredKeys: comma-separated global keys required for an event (season mods, custom keys viasetkey).- Calmer defaults: rolls every 1800-5400 s, GlobalCooldown 1800 s (no more back-to-back events), PerTypeCooldown 7200 s, event Duration 120 s.
1.0.1
- Console command is
ntldstr(wvdwsstill works); the 1.0.0 upload shipped a build in which the rename, the ash poisoning and the creature building damage were not yet active. - Announcements are plain centre messages (no biome stinger).
- Event creatures damage buildings normally; only the disasters' own damage stops at the 30 % floor.
- Blizzard puts out fires outside shelters; volcanic ash gives Ash lungs (0.5 health/s outside a shelter, configurable).
- Frost creatures are white; tornado gets a full storm deck of clouds, lightning flashes and rain.
1.0.0 — first release
- Centre-screen announcements with stinger when an event is forecast near you ("Dark clouds gather... a tornado is forming") and again when it hits; English and Romanian.
- Coloured event circles on the map and minimap, sized to the event radius, following the tornado; fade on clear.
- Natural events now start around a player — between the player and their nearby buildings when there are at least eight pieces within 110 m — with a random radius of 220–380 m, so you cannot simply step out of them.
- Day/night binding per event (
TimeOfDay): tornado, sandstorm and wildfire by day; blizzard, meteor shower and blood moon by night; the rest any time. Forced events ignore it for testing. - Progression gating (
RequiredBosses): earthquake and sandstorm from the start, supercell and wildfire after the first boss, tornado and blizzard after two, tsunami and meteor shower after three, blood moon after four, volcanic ash after five.Scheduler.ProgressGating = 0disables it. - Deadlier event creatures: Trolls and a Stone Golem for earthquakes, Fenrings/Wolves/Ulv for blizzards, Surtlings and Charred warriors for fire events, Draugr Elite and Abominations for supercells, Abominations for tornadoes (off by default).
- Tsunami: irregular random shoves along the wave direction while the crest is over you, on top of being lifted and carried; nothing once it has passed.
- Sand Wraith (and every skinned creature): smoke, particles and lights take the event colour too.
- Charred look rebuilt: every burnt material gets a GPU-copied, charcoal-darkened version of its own texture with the alpha untouched — bark, planks and leaves keep their shapes and turn grey-black; soot shells removed.
- Tornado funnel: four nested layers with a much denser streak texture; the column no longer reads see-through. A wide rotating storm deck of clouds, low scud, lightning flashes and rain surround the funnel.
- Announcements use the plain centre message (new-day / boss style), no biome stinger.
- Durability floor applies only to the disasters' own damage; event creatures (Trolls, Abominations...) damage buildings normally.
- Console command renamed to
ntldstr(wvdwskept as alias). - Blizzard puts out fires that are not inside a shelter (
Blizzard.ExtinguishFires). - Volcanic ash: Ash lungs —
VolcanicAsh.AirPoisonDamagehealth per second while exposed outside a shelter, slower stamina regeneration.
0.4.0 — Natural Disasters (first public test build, author FLmOds)
- Renamed to Natural Disasters; Thunderstore package
FLmOds-NaturalDisasters;wvdws reportwrites a diagnostic file for Discord bug reports. - Tsunami physics: the raised ocean is reported as each character's liquid level, so the crest lifts you into swimming wherever it reaches, carries you at the wave's speed while you are inside it, and leaves you alone outside it. Ships and loose objects get a gentle repeated shove; no more 20 m/s knockback on players.
- Tornado: characters inside the suction radius are pulled in, spun and lifted up to
Tornado.LiftHeight, then dropped with the game's own fall damage. - Event creatures for every event, recoloured and renamed on all clients from a ZDO skin tag (Sand Wraith, Frost Wolf, Ember Surtling, Ash Twitcher, Blood Fenring, Storm Draugr, Blaze Surtling, Rubble Greydwarf). Tsunami/Tornado spawns exist but are off by default. Ranged weapons stripped when
MeleeOnlyis on. - Ground burn marks rebuilt: raycasts only against terrain and floors (no spikes up trees), clamped, soft radial alpha, own procedural soot texture, smaller.
0.3.1
Noise-only impact/bed synthesis (no tonal resonators); louder blizzard howl and whistle; tsunami continuous native pushback carry and low short surge; procedural tornado streak/wall-cloud textures with nested funnels and wall-cloud disc; sandstorm event mobs; more ash Twitchers near players; melee-only stripping of event mobs; terrain-conforming ground burn marks. Protocol 5, schema 5.
0.3.0
Procedurally synthesized sound banks (55 clips) with continuous beds, sub layer and non-periodic random impacts; ocean-surface tsunami (native water mesh displacement + GetWaterSurface); direction-dependent sandstorm movement, wind-pushed jumps and airborne drift; blizzard snow streaks and native Freezing via EnvMan.IsFreezing; dense particle tornado with debris, skirt and wall cloud; multi-bolt supercell with player targeting and identical bolt effects; meteor trails, embers and shooting stars; burning-piece flames, fire lights and shader-independent charred look (dark colour, ember emission, soot shell). Protocol 4, schema 4. Runtime acceptance pending.
0.2.0
Per-frame hazard presentation; adaptive bounded decorative effects; dedicated licensed sound banks; swept tsunami contact; native snow/moon/meteor/lightning effects; tornado funnel; stronger sand slow including mobs; shelter-or-fire frost protection; natural meteor night gate; bats; denser meteor/fire; texture-safe charred aftermath and fire immunity checks. Protocol/schema 3. Independent review fixes status refresh, remote clear cleanup and mob coverage. Runtime acceptance pending.
0.1.3
Valheim 1.0 API adaptation: RoofCheck receives the player transform; sector queries use SimulationDistance with classic coverage and no distant sectors. Minimum Jotunn raised to 2.30.1. Added metadata verification for all seven Harmony targets. Release builds cleanly; 44 domain tests pass. Runtime acceptance pending.
0.1.2
Dense three-layer cloud banks for storms, meteor showers and volcanic ash; thicker Wildfire smoke. Added local VFX.CloudDensity setting, default 3. Bounded cloud particle budgets.
0.1.1
Host gameplay packet rewind; correct rod build range; console tsunami bypass; immediate force positioning; native ocean tsunami; stronger earthquake damage/waves/audio; darker ash/meteor/storm sky; red moon disk; Yagluth fire and half-day charred aftermath.
44 automated domain tests pass. Visual changes require the next in-game acceptance session.
0.1.0
- New implementation of ten localized weather disasters.
- Server event scheduling, cluster exclusion, timestamped snapshots and admin commands.
- Forecast HUD with local English/Romanian text and event icons.
- Capped construction damage, event mob cleanup and ground fire propagation.
- Custom lightning rod and water bucket models/recipes.
- Licensed particle textures and recorded wind, rain/thunder and fire audio.
- Release packaging, safe deployment, SHA-256 checks and automated domain tests.
First acceptance build. In-game and multiplayer acceptance remain pending.