NoCheatedTag
Removes the 'summoned through cheating means' marker from every item and object in the world and from character saves, and stops it coming back. Server and client.NoCheatedTag
Created by FlorpyDorp. MIT licensed.
Removes Valheim 1.0's grey "This item was summoned through cheating means" line from every item, everywhere: the whole world save, and each character save. And it stops the mark from ever coming back.
What the mark is
Since 1.0 the game tags anything that came from a dev command, and the tag spreads:
- a spawned item is marked; so is anything crafted from it, traded with it, or stacked onto it
- a piece built with no-cost building is marked; a marked workbench or forge marks everything crafted at it, a marked smelter, fermenter or cooking station marks everything it produces, and a marked piece marks its refund
- a creature hit while you were in god mode, ghost mode or debug fly is marked, and so are its drops
- objects placed by
spawnand locations placed by dev commands are marked, and so is what they drop
The mark is one bit inside every saved item record, plus a marker on world objects, plus per-slot markers on smelters, fermenters and cooking stations.
What the mod does
World save (server, or the host of a local game). Right after the world loads, it clears the bit in every stored item record (chests, tombstones, carts, ship holds, dropped items, item stands, armor stands) and removes the marker from every object (pieces, creatures, stations, queued slots). The cleaned world is written with the next save. The item records are edited byte for byte, never loaded and re-saved, so items from mods the server does not have installed are untouched; a record that does not parse exactly is left alone.
Character saves (each player's own game). Items are cleaned the moment they are read and always written clean. Load your character with the mod installed and its next save is clean. There is no way to reach into another player's character file, so each player who wants their inventory cleaned installs the mod too.
Everywhere it runs. Nothing new gets marked (crafting, smelting, cooking, fermenting, drops, stacking, trading, spawned items), and the tooltip line never shows.
Tested against two real world saves: 88,711 inventory and item records parsed, 2,939 marked records found and cleared with exactly one byte changed per record, and 43,000 deliberately corrupted records handled without error.
Install
- Dedicated server:
NoCheatedTag.dllinBepInEx/plugins, restart. The log shows[clean on load] N item record(s) in M inventory/item blob(s), K object marker(s). - Your own game: the same DLL in your
BepInEx/plugins. Cleans your character, and the world too when you host.
Back up your world and character before the first run, as with any mod that edits saves.
Console (F5)
| command | what it does |
|---|---|
nct_scan |
counts marked item records and object markers in the world this game holds, your inventory, and shows the character's "used cheats" marker. Read-only. |
nct_clean |
cleans the world now. Runs on the server; an admin's command is forwarded from F5. Objects a connected player currently owns are skipped (rewriting them under a player risks an item race) and get cleaned at the next world load. |
Config (BepInEx/config/FlorpyDorp.NoCheatedTag.cfg)
| section | key | default | notes |
|---|---|---|---|
| World | CleanWorldOnLoad | true | server / host: clean every stored item and object after the world loads |
| Items | CleanItemsOnLoadAndSave | true | items are clean when read and when written (this is what fixes characters) |
| Items | PreventNewMarks | true | nothing new gets marked |
| Items | HideTooltipLine | true | never show the line |
| Character | ResetCharacterUsedCheats | false | also clear the character file's permanent "used cheats" marker (it gates achievements). Off by default; the item tag does not depend on it, and the game has its own switch for achievements: yesiuseddevcommandsbutiwantmyachievementsanyway 1 |
Notes
- Built against Valheim 1.0.12. Item record versions 107 to 109 are understood; a newer format is detected and left alone rather than guessed at.
- On a server with unmodded players, anything they touch can pick the mark up again from their own game; it is cleaned at the next server start, or straight away if they install the mod.
- Author: FlorpyDorp.
