AntTrails
Footfall slowly wears dirt paths into the world; heavy traffic cobbles them to stone.
About this mod Author’s original text
AntTrails
Walk somewhere often enough and the ground remembers.
AntTrails watches where players actually walk and slowly wears the terrain down into dirt
paths — no hoe, no stamina, no materials. Routes that see heavy traffic over a long time
have a small chance of cobbling over into stone. Routes that fall out of use fade back
toward bare ground.
The result is a world that records how it has been lived in: desire lines between a base and
the nearest copper vein, a worn ring around the smelter, a road to the boat that got wider
the summer everyone was raiding.
Who needs to install this
Every player and the server, and this is enforced. This writes to the shared terrain
paint mask, which is persisted in the world save and replicated to every peer. The server
keeps every wear counter and decides what each tile should look like; clients report where
they walked and paint the terrain they own, because on a dedicated server the server itself
has no terrain loaded near a player. Both halves of that loop need the mod, so a peer
without it is refused at connect rather than silently desyncing.
Config values that change behaviour are admin-only and pushed from the server, so everyone
plays by the same numbers.
How it works
Terrain in Valheim carries a per-square-metre paint mask with separate dirt, cultivated and
paved channels. The hoe slams the dirt channel to full in a 2 m circle. AntTrails instead
nudges it upward a little at a time, so a path fades in rather than appearing:
| Traffic on one 1×1 m tile | What you see |
|---|---|
| A few crossings | Faint scuffing, grass still there |
| Halfway to the threshold | Grass clears; visible bare track |
| Threshold reached (StepsToPath, default 25) | Full dirt path |
| Very heavy lifetime use (StoneSteps, default 400) | Small per-crossing chance of stone |
Crossings from all players pool together — four people walking a route wear it four
times as fast.
Your position is sampled a few times a second and every tile on the line between two
samples is credited too, so a route sprinted at full tilt wears exactly as evenly as one
strolled. The trace follows where you actually put your feet, which means a route walked
loosely spreads its wear over a corridor a couple of metres wide rather than concentrating
it into one line.
Losing a path
Progress on an unfinished tile leaks away continuously, at a flat
StepsToPath ÷ FormationWindowDays per in-game day — about two crossings a day at the
defaults, one every quarter hour of real time.
That makes formation a contest of rate rather than of total. A tile crossed less often than
it leaks never gains ground at all, however long you persist; a tile crossed twice that
often wears through in eight or nine in-game days. So the route between your base and the
copper vein you have been working all evening settles in, and the one-off detour you took
to a swamp last week leaves nothing behind.
A finished path fades far more slowly, taking RevertDays (default 30) of neglect to sink
to ResidualTrace (default 0.3) — a faint permanent scar, below the threshold where grass
regrows. Old routes stay legible forever unless you set ResidualTrace to 0.
Stone is terminal. It never decays. Remove it with a hoe or pickaxe like any other terrain.
What it will not touch
- Cultivated soil — walking through a turnip field never paves it.
- Existing stone, whether a player laid it or AntTrails did.
- Inside workbench and ward range, while RespectBuildPrivilege is on (the default).
Turn it off if you want trails to form through your settlement too.
- Anything you are swimming through, standing on a built floor over, or Ashlands lava.
Standing still costs nothing: a tile only counts when you enter it, so idling at a
workbench does not bore a hole in the ground.
Configuration
BepInEx/config/com.ragemedia.anttrails.cfg. Gameplay values are admin-only and
server-synced; sampling rate and logging are local to each client.
| Key | Default | Meaning |
|---|---|---|
| E
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: