
Tuneups
Small fixes for other mods. Adventure Backpacks: its backpack check runs thousands of times a frame; this skips normal objects. Server Devcommands: find measures from you, not from the world's middle.Tuneups
Small, careful fixes for other mods: a faster backpack check for Adventure Backpacks, and Server Devcommands' find measured from where you stand.
Some mods do more work than they need to, or measure from the wrong place. Tuneups fixes two such cases. Each fix switches on only when the other mod's code is exactly what the fix was made for, does nothing when that mod isn't installed, and never saves or changes anything in the world.
Features
Adventure Backpacks: faster backpack check
Adventure Backpacks checks whether an object is one of its backpacks every time the game asks "is this PC in charge of this object?". It does that by reading the object's name, and the game asks constantly: about 6,600 times a frame in a large base. Each name read also leaves a little garbage for the game to clean up. Measured in a base with 144 creatures and about 6,000 building pieces, the check alone cost 3.2 to 4.3 ms of every frame (out of about 28 ms, or 36 FPS) across four test runs, and the game ran a full memory clean-up 83 times in 2 minutes, a small hitch each time.
- The fix. Every object the game keeps in step between players has shared data of its own. A backpack never does, because Adventure Backpacks prevents it on purpose. So any object that has shared data can't be a backpack, and skips the name check. Objects without it still get Adventure Backpacks' own check, unchanged.
- Same answers. The game gets the same answer for every object as with Adventure Backpacks alone; only the work is skipped.
- Nothing is saved or changed. Backpacks open, carry, upgrade and save exactly as before, contents included.
- Checks before it starts. At game start, Tuneups reads Adventure Backpacks' check, the part that keeps backpacks from getting shared data, and the place where backpacks are made. It switches on only if they are exactly what the fix was made for; otherwise it does nothing and the log says why.
- Watches while it runs. Every backpack Adventure Backpacks makes is looked at. If one ever has shared data, the fix switches itself off at once and Adventure Backpacks' own check is back. It then stays off until you restart the game, and the log says so with a warning.
Server Devcommands: find measures from you
Server Devcommands' find command (find boar) lists what it finds with a distance, closest first. On the game that hosts the world (playing alone, or hosting for friends) it measured those distances from the middle of the world, near the start, instead of from you: it only adds your position when it sends the command on to a server.
- The fix. Right before
findruns, Tuneups adds your position the same way Server Devcommands does for a server. The distances are then from where you stand, and the closest to you come first. - Typed positions are kept. A position you type yourself (
find boar 5 x,z,y) is left as it is. - Same number of results. Without a count (
find boar), it shows as many as Server Devcommands does on its own: read from its code, 10 today. - Only
findis touched. Nothing is saved or changed.
How to use
Nothing to do: both fixes are on by default and switch on at game start when their mod is there.
To check, press F5 for the console and type tuneups. It lists each fix as on, or off and why: the mod isn't installed, its code isn't the one the fix was made for, the fix was turned off in the settings, or it switched itself off. At game start, BepInEx/LogOutput.log also says Adventure Backpacks fix on and Find distance fix on, or why a fix isn't used.
Configuration
Settings are in BepInEx/config/anwo.Tuneups.cfg and can be changed in game with a configuration manager.
1 - Adventure Backpacks
| Setting | Default | Scope | Description |
|---|---|---|---|
| Faster backpack check | true |
Client | Adventure Backpacks' backpack check skips every object that can't be a backpack. Can be switched while you play; after switching itself off, it stays off until you restart |
2 - Server Devcommands
| Setting | Default | Scope | Description |
|---|---|---|---|
| Find distance from you | true |
Client | find measures from where you stand instead of from the middle of the world. Can be switched while you play |
Multiplayer
- Only for players who want it. Both fixes act on your own game only, and both settings are each player's own. The host doesn't need Tuneups.
- No version check. Players with and without Tuneups, or with different versions of it, play together.
- The find fix matters on the game that hosts the world; when you join someone else's server, Server Devcommands already sends your position.
Compatibility
- Adventure Backpacks: made for version 2.2.10. With another version, the fix switches on only if that version's check is still the same.
- Server Devcommands: made for version 1.115.0. With another version, the fix switches on only if it still finds the find command it was made for.
- Both are optional: Tuneups loads after them when they are installed and does nothing for a mod that isn't there.
- The slow check belongs to Adventure Backpacks; the backpack fix is a stopgap until it is fixed there.
Patches (only while a fix is on): Adventure Backpacks' check on ZNetView.IsOwner is replaced by the faster one, and Server Devcommands' find command gets your position before it runs.
Uninstalling
Nothing is saved to the world, characters or backpacks, so Tuneups can be removed at any time.
About
Made with Claude (Anthropic's AI model) and tagged AI Generated, as Thunderstore's rules ask. Built for Valheim 1.0.17 (Deep North; also 1.0.16) with BepInEx 5.4.2351.