Skip to content

Client companion

Ryan McAfee edited this page Sep 30, 2026 · 1 revision

Client companion

BakaLoaderUncheat, a small plugin your PLAYERS install, that takes the cheat mark off the items their own character is carrying. New in 1.2.6, and the only thing BakaLoader ships that does not run on the server.

Why it exists

BakaLoader 1.0.9 to 1.1.2 marked everything it spawned as summoned through cheating means, and Valheim spreads that mark on its own: an item merged into a stack marks the stack, crafting with a marked ingredient marks what comes out, a marked weapon marks what it kills and what that drops. While a marked item sits in somebody's inventory the game pauses their achievement progress, and nothing in the game ever takes a mark back off.

1.2.0 stopped marking new spawns, and Clear cheat marks on the Players screen takes the marks off the WORLD: creatures, buildings, crafting stations, station queues, chests, and items on the ground or on a stand.

What the server cannot reach is a player's own inventory. A character's items live in that character's file on that player's machine and never touch the world save, which is why the cleanse says so out loud and why no amount of work on the server will take a mark off somebody's axe. This is the other half.

How to use it

Send your players the zip. It is a release asset beside BakaLoader's own download, called BakaLoaderUncheat-1.0.0.zip.

  1. They install BepInEx on their game client, the same way they would for any client mod.
  2. They put BakaLoaderUncheat.dll in BepInEx/plugins.
  3. They start Valheim and load the character they want cleaned.

That is all of it. There is nothing to press. The sweep runs the moment that character finishes loading, writes one line into BepInEx/LogOutput.log saying what it cleared, and stamps the character so it never runs for it again.

They can take the plugin out afterwards. The marks stay off.

The zip is in the Thunderstore layout, so a player who uses a mod manager can install it that way too: four files at the root, the DLL, a manifest, a readme and an icon.

What it changes, and what it does not

It clears one flag on the items that character is carrying or wearing, and it writes the stamp. Nothing else. It does not touch the world, it does not talk to a server, it does not change how anything spawns, it writes no file of its own beyond its BepInEx config, and on a dedicated server it does nothing at all and says so in the log.

It sweeps the local character only. Every other player object on a client is a peer, and a peer's inventory is not that machine's to rewrite.

Once per character

The character carries a stamp under baka.uncheat.v1, which holds the generation the sweep ran at. A sweep that ran at generation 1 does not run again at generation 1.

To make it sweep every character again, raise Generation in BepInEx/config/com.baka.uncheat.cfg and restart the game. BepInEx reads that file while the game is starting and keeps no watch on it, so a change takes effect at the next start rather than straight away.

The stamp goes down whether anything was cleared or not, because a character with no marks on it has still been looked at and looking again on every load would be the same work for the same answer for ever.

The line it writes

One line saying what it did. There are five it can be, in BepInEx/LogOutput.log:

[Info   :BakaLoader Uncheat] Cleared the cheat mark from 7 items out of 41. Stamped generation 1, so this character is not checked again.
[Info   :BakaLoader Uncheat] Looked at 41 items and none of them carried a cheat mark. Stamped generation 1, so this character is not checked again.
[Info   :BakaLoader Uncheat] Nothing in this character's inventory to look at, so no cheat marks were cleared. Stamped generation 1.
[Info   :BakaLoader Uncheat] This character was already swept at generation 1, so nothing was touched. Raise Generation in the config to sweep again.
[Info   :BakaLoader Uncheat] This is a dedicated server, so there is no character inventory here and this plugin does nothing. It belongs on the clients.

"Cleared 0" and "did not look" are different facts, which is why they are different sentences. So is "already done" and so is "wrong machine". A sweep that threw says so as a warning instead, with the reason on the end of it, and the game carries on either way.

Questions people ask

Does everyone on the server need it? No. It only matters for a player who is carrying something BakaLoader spawned in 1.0.9 to 1.1.2. A player who never received a spawned item has nothing to clear, and the plugin will say so and stamp them.

Do I need it on the server as well? No, and it would do nothing there. The server's half is Clear cheat marks on the Players screen, which is already in BakaLoader.

Will it unban an item, or give anyone anything? No. It clears a flag on items that are already in that player's hands and does nothing else at all.

A character the game flagged for console use is still flagged. That is a separate mark on the character rather than on an item, and nothing in BakaLoader or in this plugin clears it.

Is it built the same way as the bundled plugins? Yes, by the same script against the same copy of the game's assemblies, and the same gate reads the finished DLL and checks every call into the game still resolves. See The bundled plugins.

Clone this wiki locally