EN 05. Devcommands and diagnostics

Updated a week ago

Devcommands and diagnostics

ExperienceSystem 0.4.0. The mod adds 10 console commands with the es_ prefix. All require devcommands, including diagnostic commands. The console is not needed for ordinary play.

Created by the friendly_neighbor team · Discord

Language: English. Русская версия: RU 05. Devcommands и диагностика in the Wiki menu.

Opening the console

  1. In Steam, open Valheim's properties and add -console to the launch options. If using a mod manager, make sure the argument reaches the game instance it launches.
  2. Load a character into a world and press F5.
  3. Enter devcommands. If the game asks for an additional confirmation, follow its prompt.
  4. Enter es_ commands in the console, not in chat.

For other installation methods, see Iron Gate's official instructions.

Valheim's own permission checks apply. The mod does not bypass multiplayer restrictions on devcommands; being a server administrator alone does not guarantee access to every command. Test level-changing commands with a separate test character in a single-player world: XP, rank and level changes become part of that character's save.

All commands

Angle brackets indicate an argument; do not type the < and > characters. Command names and element names use the English spellings below.

Command Example Effect
es_status es_status Show level, current-level XP, total XP, unspent points, purchased skills, your auras and frozen state
es_xp <amount> es_xp 120 Add a whole number of XP; Insight and the level-100 cap apply
es_level <n> es_level 20 Set your level, clear progress within it and recalculate your point budget
es_reset es_reset Reset all purchased ranks and refund their full point cost
es_aura <element> es_aura frost Seed the selected elemental aura on yourself
es_wet es_wet Apply the ordinary Wet status to yourself
es_scan es_scan Inspect elemental state on nearby creatures within 25 m
es_crit es_crit Toggle forced critical hits for testing
es_ui es_ui Report resolved and missing standard interface sprites
es_elements es_elements Report reaction coverage and elemental items in the loaded game

Experience, levels and resetting

es_xp

Accepts a positive whole number. Zero and negative values do not subtract XP. Fractions such as 2.5 are not accepted. On a level-1 character with zero XP and no Insight, es_xp 120 grants level 2, 2 points and healing to the new maximum health.

With Insight, the actual gain can exceed the requested amount. The Granted ... experience message repeats your requested value; check es_status for the result. No additional XP accumulates at level 100.

es_level

The value is clamped to 1–100. This sets total XP to the exact start of the chosen level, clearing the current bar even if you select your existing level.

Points are recalculated from the level: repeated es_level 100 calls do not create extra points. If lowering the level makes existing purchases exceed the new budget, all purchased ranks reset for redistribution. Automatic attributes adjust to the new level.

Assigning a level directly with es_level does not trigger the healing associated with an ordinary XP level-up.

es_reset

Refunds purchased ranks. During Second Life's cooldown, its rank and 8 points remain while other skills are reset. Your level, accumulated XP and automatic attributes remain. Version 0.4.0 has no commands such as es_skill or es_points for buying a particular rank or granting points separately. Allocate points in the skills window.

Auras and reactions

es_aura accepts fire, frost, lightning, poison, spirit, water. Element names are case-insensitive. The default seeded strength is 4 aura units.

The command seeds an aura on your character. It does not enchant a weapon, target the creature under your crosshair or trigger a reaction by itself. es_aura fire does not necessarily apply the normal Burning status. The aura weakens over time.

es_wet applies ordinary Wet. Its water aura is considered when the next incoming hit is processed. A freeze test needs ReactionsAffectPlayers enabled and a subsequent frost hit against your character.

es_scan excludes yourself, dead creatures and creatures without an existing elemental state. If the report is empty, hit an appropriate target with elemental damage first. Reported aura amounts can reflect their last processing step: the report itself does not advance decay, so it does not guarantee that a displayed aura will still be eligible for a later reaction.

es_elements lists dominant and secondary item elements from the loaded game database. An asterisk * marks a secondary component, not creature stars or weapon rarity. An empty list of water-damage weapons is normal because water comes from wetness. This command does not grant items.

Testing critical hits

es_crit is a toggle: call it once to force critical hits and again to disable the override. There are no on or off arguments. Brutality still determines the multiplier; at zero rank, forced critical hits do not increase damage.

The mode affects player hits processed by the current game instance. It is a session diagnostic switch, not a permanent character skill. After testing, call es_crit again and look for Critical hits back to normal chance. Turning off devcommands does not itself reset this switch.

Example checks

On a fresh test character without Insight:

devcommands
es_status
es_xp 120
es_status

The expected result is level 2 with 2 unspent points. To inspect the complete tree:

es_level 100
es_status

Open the window with I and allocate the 408-point budget. If the character already has purchased skills, es_status shows only the remaining unspent points; es_reset keeps Second Life's 8 points while its cooldown is active.

For a diagnostic report:

es_status
es_scan
es_elements
es_ui

These reports are also written to BepInEx/LogOutput.log in the active profile. Enable 09 Diagnostics → LogReactions in the configuration for detailed hit information. es_ui inspects standard game sprites rather than validating every bundled illustration.

If a command is missing, check that ExperienceSystem loaded in the log, devcommands is enabled and the spelling is correct. You need to be in a world with a character loaded. means you must enter a world with a character: character-changing commands are not intended for a dedicated server console with no local player.