← TerrainForge

TerrainForge Wiki

Overview · English · Español · Français · Deutsch · Русский · 中文 · 繁體中文 · 日本語 · 한국어 · Polski · Português · Türkçe · Українська · Italiano · Project website


What's new in TerrainForge 0.3.8 — Hotfix for 0.3.7

Included features from 0.3.6

Roadmap for 0.4.0

In-game screenshots

The cover below is the 0.3.8 update artwork. Screenshots show the F5 tool menu, ramp preview, a completed ramp, and a Restore selection.

TerrainForge 0.3.8 F5 tool menu
TerrainForge 0.3.8 update artwork TerrainForge F5 menu in Valheim
Ramp preview Completed ramp
TerrainForge ramp preview in Valheim TerrainForge ramp built in Valheim
Restore selection
TerrainForge Restore selection preview

Table of Contents

  1. Installation
  2. Quick Start
  3. Controls
  4. Operations
  5. Shapes
  6. Falloff Modes
  7. Stamps (Copy/Paste)
  8. Snapshots (Backups)
  9. Profiles
  10. Languages
  11. Multiplayer
  12. Settings
  13. Troubleshooting

📥 Installation

Requirements

Steps

  1. Download TerrainForge-<version>.zip from Thunderstore or GitHub Releases.
  2. Extract and place TerrainForge.dll at: - Client: ...\BepInEx\plugins\TerrainForge\TerrainForge.dll - Server: <server>\BepInEx\plugins\TerrainForge\TerrainForge.dll
  3. Restart the game / server.

⚠️ Must be installed on client AND server for edits greater than ±8 m and correct replication.


🚀 Quick Start

  1. Join a world. The TerrainForge Rod (a Hammer clone) is given and equipped automatically.
  2. Press F5 to open the menu (or click the TerrainForge button in the ESC pause menu).
  3. Equip the rod if it is not equipped.
  4. Aim at the terrain and hold right-click (Mouse1) to sculpt.
  5. Use , to cycle operations, . for shapes, / for paints.
  6. Hold Q → radial menu, release to confirm.
  7. Ctrl+Z / Ctrl+Y to undo/redo.

⌨️ Controls

Action Default key Description
Apply brush Hold Mouse1 (Right Click) Sculpts terrain under the crosshair
Radius + = or Ctrl+Wheel Increases brush radius
Radius − - or Ctrl+Wheel Decreases brush radius
Cycle operation , Cycles the 9 operations
Cycle shape . Circle → Square → Line → Rect → Poly
Cycle paint / Cycles the 6 paint types
Level to feet Hold Left Shift Flatten uses the player height
Undo Ctrl+Z Undoes the last stroke
Redo Ctrl+Y Redoes the undone stroke
Eyedropper G Fixes the Flatten height at the crosshair (again = release)
Ramp mode H Cycles: Two-Point → Fixed-Angle → Connected Path (or pick in the F5 Ramp panel)
Fixed ramp angle Hold Alt + radius/wheel Adjusts the angle in fixed mode
Radial menu Hold Q Pick an operation with the mouse, release confirms
Adjust mode V Wheel = radius, freezes zoom/bar/map
Fine adjustment (0.1 m) Hold Shift + wheel/radius Precise radius adjustment
Copy Stamp Ctrl+Shift+C Copies the selected shape in Copy/Paste mode
Paste Stamp Ctrl+Shift+V Starts or confirms the ghost preview
Get Rod F8 Grants the TerrainForge Rod
Open menu F5 Opens the six-tab panel and freezes local camera/player controls

Extra keys (no default, assign them in KEYS): - Direct operation keys: Flatten, Raise, Lower, Smooth, Paint, Restore, Ramp, Shore. The legacy Snow key selects Paint + DeepSnow; choose Copy/Paste from the Q wheel. - Next / previous profile - Next / previous stamp (history)

"Quick actions" section (KEYS tab): buttons for functions with no mandatory shortcut — Undo, Redo, Fix height, Copy/Paste stamp, Previous stamp, Clear marks, the heatmaps and the Material diagnostic (dumps the shader + texture slots to the log).


🔄 Operations

Operation Description
Flatten Levels to the aimed height (Shift = at your feet). Fixed height via the Eyedropper (G) or the SETTINGS textbox.
Raise Raises terrain by RaiseDelta per application. The falloff mode shapes it.
Lower Lowers terrain by RaiseDelta per application. The falloff mode shapes it.
Smooth Real blur: averages each vertex with its 8 neighbours. Hold for progressive. Modes: Full (both), Ridges only (lowers), Dips only (raises). Line shape = smooth a path.
Ramp 3 modes (cycle H):
• Two-Point: mark A and B → a straight slope joins the heights.
• Fixed-Angle: B = direction/length; height = SlopeAngle (up/down according to the crosshair). Adjust with Alt+radius.
• Connected Path: mark 3+ points A→B→C… to build one continuous smooth ramp.
Width = brush radius. Softness = blend on the side edges only. Preview: filled corridor + height rings at A/B.
Shore Flattens toward the water level + ShoreOffset margin (beaches). Softness like Flatten.
Paint Types: Dirt, Cultivated, Paved, ClearVegetation, DeepSnow, Reset. Adjustable strength.
Restore Returns the terrain to its original state (height + paint).
Copy/Paste Dedicated Q wheel mode for selecting terrain to copy and placing stamps.

📐 Shapes

Cycle with the . key. All support undo.

Shape Marking Use case
Circle Single click (brush centre) General sculpting
Square Single click (centre) Platforms, foundations
Line 2 clicks (A → B) Paths, walls, trails. Half-width = radius.
Rectangle 2 clicks (opposite corners) Foundations, farms, platforms. Soft edges.
Polygon Click per vertex, double-click closes (3+ vertices) Complex shapes, custom areas

⚙️ Falloff Modes (Raise/Lower)

Config in SETTINGS → "Raise/Lower falloff":

Mode Behavior
Pointy Central peak. Controlled by the "Falloff power" slider (1–5).
Flat Uniform disc — same weight across the whole radius.
Smooth Cosine bell — smooth transition, no hard edge.
Linear Straight taper from centre to edge.

🧱 Stamps (Copy/Paste)

A powerful feature for replicating terrain structures.

Select the area to copy

Choose Copy/Paste in the Q wheel. Rectangle marks corners A and B with Apply; Line marks two endpoints; Polygon adds vertices and copies on a double-press after 3+ points; Circle/Square copy the aimed brush footprint. The HUD shows the next step. Ctrl+Shift+C follows the same selection flow.

Workflow

  1. Mark the area with the selected shape as described above.
  2. Copy: Ctrl+Shift+C or Apply in Copy/Paste mode → "Stamp copied: X tiles" (RAM clipboard).
  3. Paste preview: Ctrl+Shift+V → ghost wireframe at the crosshair. - Q/E = rotate ±15° - Alt+Wheel = continuous rotation - Shift+Wheel = scale 0.25×–4× - Esc = cancel
  4. Confirm: Use the paste shortcut again to confirm the preview.

Selection stamps write only inside the copied region; terrain outside it is left untouched.

History

Persistence

Stamp tool


💾 Snapshots (Backups)

Full terrain backup/restore.

Save

  1. SETTINGS → SNAPSHOTS.
  2. Name (empty = auto date/time).
  3. Save → edited tiles to BepInEx/config/TerrainForge/snapshots/<name>.dat (max 12).

Load

  1. Select a snapshot.
  2. Load → restores tiles with ownership, 1 undo step.
  3. Unloaded tiles warn cleanly — import close to the original location.

Features


💾 Profiles

Save/load complete brush configurations.


🌐 Languages

15 options: Auto, English, Español, Français, Deutsch, Русский, 中文, 繁體中文, 日本語, 한국어, Polski, Português, Türkçe, Українська, Italiano — default Auto.

Auto-Detect

Translation status

This documentation

Translated wiki pages: English · Español · Français · Deutsch · Русский · 中文 · 繁體中文 · 日本語 · 한국어 · Polski · Português · Türkçe · Українська · Italiano.


🌍 Multiplayer

Requirements

Server Authority (Config Sync)

When the server runs the mod, its Server section wins: - AllowTerrainEdits (default true) — master switch; if false, clients cannot apply/undo/redo. - AdminOnlyEdits (default false) — only admins/host can edit. - RespectWards (default true) — blocks edits inside foreign wards. - RadiusCap / DeltaCap (0 = off) — server-enforced caps, visible in the HUD+preview.

Servers without the mod ignore the section → the client works for testing.

Desync Prevention


⚙️ Settings

File: BepInEx/config/com.terrainforge.valheim.cfg

General

Setting Default Description
Enabled true Master switch
PlayEffects true Dust + hit on apply
Language Auto Auto / English / Español / Français / Deutsch / Русский / 中文 / 繁體中文 / 日本語 / 한국어 / Polski / Português / Türkçe / Українська / Italiano
ToolTint true Tints the TerrainForge Rod (a Hammer clone) so it is easy to tell apart from the vanilla Hammer
ToolTintColor #4FC3F7 Rod hex color (model + icon). E.g. #FFC400 gold, #8BC34A green

Brush

Setting Default Range Description
Radius 8 1–100 Brush radius (m)
RadiusMin 2 — Min radius while adjusting
RadiusMax 60 — Max radius while adjusting
RadiusStep 1 — Radius change per key/wheel
Softness 50 0–100 Edge softness (0 = hard, 100 = very soft)
FalloffPower 3 1–5 Falloff exponent (Pointy mode only)
RaiseLowerMeters 2 0.5–10 Metres per Raise/Lower application
PaintStrength 1 0–1 Paint strength
DefaultOperation Flatten — Starting operation
Shape Circle — Starting shape
Paint Dirt — Starting paint
RampMode TwoPoint — TwoPoint / FixedAngle / Path
SlopeAngle 30 5–60 Fixed ramp angle (degrees)
SmoothMode Full — Full / Bumps / Dips
FalloffMode Pointy — Pointy / Flat / Smooth / Linear
ShoreOffset 0.5 -2–5 Shore margin above water (m)
UseFixedHeight false — Use a fixed height (eyedropper state)
FixedHeight 30 -10–150 Exact Flatten height (m)

Vanilla / integration

Input

All shortcuts are rebindable in the KEYS tab. Highlights: - ApplyKey (Mouse1), RadiusUp/Down (=/-), CycleOp/Shape/Paint (,/.//) - UndoKey (Ctrl+Z), RedoKey (Ctrl+Y), EyedropKey (G), RampModeKey (H) - RadialKey (Q), AdjustModeKey (V), GiveToolKey (F8), RebindMenuKey (F5) - Direct op keys (9, no default): OpFlatten/Raise/Lower/Smooth/Paint/Restore/Ramp/Shore/Snow (legacy key selects Paint + DeepSnow); Copy/Paste is selected in the radial menu. - CycleProfileKey, CycleStampKey, CycleStampBackKey - RequiredTool: Any / Pickaxe / TerrainForgeTool (default) - AutoGiveTool: true (grants the rod on join)

Stamps

Preview

History

Server (Authoritative via Config Sync)

Performance


🐛 Troubleshooting

Issue Solution
Menu does not appear / invisible cursor Close the game. Delete %APPDATA%\Thunderstore Mod Manager\DataFolder\Valheim\profiles\YourProfile\BepInEx\plugins\TerrainForge\ and %APPDATA%\Thunderstore Mod Manager\PackageCache\. Restart TMM, check updates.
Update not showing in TMM TMM → Settings → "Refresh mod list" (Ctrl+R). Close/reopen TMM. Verify the correct profile.
Thunderstore version conflict Use the same new X.Y.Z version in .csproj, Plugin.cs, and manifest.json; it must be higher than the version already published. Rebuild and package again.
Stamp copy/paste does nothing HUD: STAMP READY [X/Y] = ready. If "tool not equipped", equip the tool (SETTINGS → Stamp tool).
Preview invisible under water Fixed in 0.3.2 — the preview floats on the surface. Update.
Circles on Line/Rect/Poly Fixed in 0.3.2 — only the marked outline is shown. Update.
Radial wheel does not work Fixed in 0.3.2 (ZInput.GetMouseScrollWheel()) and 0.3.4 (the selection is no longer wiped with a centered cursor). Update.
Config does not save Close the menu (F5) to auto-save. Or edit BepInEx/config/com.terrainforge.valheim.cfg directly.
Multiplayer desync Mod on client+server. UnlockDeltaLimit on both. Same MaxUpDelta/MaxDownDelta.
Build fails Check the ValheimDir and BepInExCoreDir paths in .csproj or via CLI. .NET SDK 8+ required.
Compile / package dotnet build -c Release (DLL in build/), -p:Deploy=true (installs into the profile) or -p:Package=true (zip in build/).


TerrainForge — Terraform Valheim without limits.