Igao-Ultimate_QOL icon

Ultimate QOL

All-in-one QOL: craft/build from chests, station automation, animals, farming, portals, bosses and progression, difficulty, advanced building, map sharing, smooth saves. Server-synced in-game admin panel, 15 languages.

By Igao
Last updated 14 hours ago
Total downloads 45
Total rating 0 
Categories Utility Mods Deep North Update Tools Server-side Client-side
Dependency string Igao-Ultimate_QOL-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351

README

Ultimate QOL

EXPERIMENTAL - version 1.0 - may contain bugs

πŸ”΄ ⚠️ EXPERIMENTAL MOD β€” VERSION 1.0 ⚠️ πŸ”΄

πŸ”΄ This is the first public version (1.0) and it is still experimental: it may contain bugs.

πŸ”΄ Please back up your world and your character before using it, and turn features on a few at a time.

πŸ”΄ Found a bug? It is very important to report it on our Discord: discord.gg/aMkN89Cuas β€” every report helps fix it fast.

🧩 Other mods: add only what Ultimate QOL does not cover

Ultimate QOL is an all-in-one mod: it already covers the main quality-of-life features and touches many parts of the game. Two mods that change the same thing can conflict (duplicated items, features that cancel each other, errors). Before adding another mod, check that it does not do something Ultimate QOL already does:

  • Storage and crafting: deposit to chests, crafting/building from nearby containers (leaving one item per chest), auto stack/sort, auto pickup modes, ground sweep, renamed and stackable chests, protected slots, recipe search, recycling.
  • Stations and devices: automation and refilling of smelters, kilns, windmills, refineries, fires, torches, cooking stations, fermenters, beehives, sap extractors, shield generators, ballistas; production speed and capacity.
  • Building and protection: wards (shapes, sizes, permitted list, limit per player, sanctuary), building near dungeons/traders/altars, smart snapping, advanced building (free placement and rotation), repair all, structural integrity and wear, sign styles, seasonal decorations, Dvergr mist post.
  • World and progression: boss locks and progression, portal rules and fast portals, peaceful biomes, weather rewards, boss despawn, map and exploration sharing, tombstone rules, achievements.
  • Gameplay: difficulty, star tables and creature infusions, skills, food duration, carry weight, stack sizes, auto pickup range, boat speed, day and night length, farming, tamed animals and breeding, sea serpents, crossbows, boat camera, sleep vote.
  • Server: admin panel and config sync, admin free camera, whitelist/kick/ban/moderators, mod check, quick connect, characters saved on the server, network optimization, monster ownership, world cleanup, saving without freezing.

If you want another mod for one of these areas, leave the matching Ultimate QOL option off. Add mods one at a time and test.

Ultimate QOL

Performance-first quality-of-life super mod for Valheim: storage and containers, crafting, building, stations and devices, tamed animals, farming, portals, equipment volume, world rules and server tools. Every setting is decided by the server admin and synchronized to all players in real time. On a server that does not run Ultimate QOL, the rules of the shared world (growth, production and taming speeds, animals, structures, wards, difficulty, skills, stars, bosses and the server/player rules) stay vanilla even if a player's own config file turns them on; personal conveniences keep following the player's file.

Everything is off by default, so a fresh install behaves exactly like vanilla Valheim. The admin turns on and tunes only what they want in the panel. (If you update from an earlier test version, delete the old Igao.UltimateQOL.cfg to get the new defaults.)

πŸŽ›οΈ In-game settings panel

Ultimate QOL settings panel

⌨️ How to open the panel

  • Press F3 (the key can be changed on the Panel and notifications page), or
  • open the console (F5) and type ultimateqol_config.

πŸ”‘ To change settings you need admin access with devcommands: be listed in the server's adminlist.txt (on a dedicated server) or be the host of the world. Players without it can still open the panel and see the public pages (Bosses, Portal ores, Dungeons, Rewards and Integration), read only.

πŸ—‚οΈ Where to find things (panel layout)

The sidebar is split into sections, each one a group of pages:

  • MANAGEMENT – Players, Whitelist, Staff, Mods.
  • IGAO – Integration (first entry of the list, always shown).
  • GENERAL – Storage, Crafting, Building, Advanced building, Structures, Wards, Signs.
  • DIFFICULTY – Difficulty, Stars, Creature infusions, Skills, Tombstones.
  • Bosses and progression – Bosses, Unlock days, Boss order, Portal ores, Dungeons, Rewards.
  • Stations and Devices – one page per station or device, plus the Station panel page.
  • Animals – one page per animal kind, and Add animals.
  • QUALITY OF LIFE – Recycling, Extra slots, Items and pickup, Farming, Portals, Boats and sea, Game clock, day & sleep, Panel and notifications.
  • SERVER – Optimization, Monitoring, Connection, Blocked commands, Achievements, Map, Manual world save, Characters on the server, Admin camera and console.

Storage

  • Storage range (default 20 m, 1–50) – how far containers are used by the deposit key.

  • Deposit key (default N) – sends items only to nearby containers that already hold the same item. Equipped items and protected slots are never moved. Space is checked before any transfer: no loss, no duplication.

  • Protected slots – CTRL + right click on a slot of your inventory. Protected slots get a gold frame and are saved with your character.

  • Auto Stack / Auto Sort – run only when a container is opened (never in the background).

  • Works with every real container: chests, reinforced/black metal chests, ship storage and carts (never taken from a player who is sailing or pulling them).

  • Join items on the ground into piles (off by default) – an item that falls (trees, rocks, creatures, players dropping it) joins a pile of the same item within 4 m (1–10), up to the normal stack size: 5 wood fall as one pile of 5. The game only does this itself above 200 loaded items and for some items; here it works for every stackable item. Fewer objects on the ground = less work for the game and the network. Only identical items are joined; each item is checked once, a second after it appears.

  • Sweep items from the ground into chests (off by default) – an item lying on the ground (around carts and boats too) is moved into a nearby container that already holds the same item; empty containers are never used, containers someone has open are skipped, and nothing is taken while a player stands within 8 m of the item. Wait before sweeping (default 5 min, 1–120) and Sweep range (default 10 m, 1–50). It is event driven: each item is looked at once when its wait ends (and again only if it could not be moved), with a tiny time budget per frame and a back-off when frames are slow – big bases cost almost nothing. The item is only removed from the ground after the container accepted it, and exactly the amount that went in.

Crafting

  • Craft from nearby containers – the crafting menu shows the total (inventory + containers in range). The inventory is consumed first; only the missing amount comes from storage. Station, DLC and upgrade rules of the game stay intact.
  • Crafting range (default 20 m) is independent of the storage range.
  • Leave 1 of each item in every chest (off by default) – crafting and building from containers never take the last item of each kind from a chest, and the counts already show one less per chest, so every chest keeps showing what it is for. Your own inventory is always used completely.
  • Craft several at once (off by default) – small – and + inside the game's own Craft button (copies of the button's own text, so it looks vanilla) choose how many to craft; the mouse wheel over the button works too, Shift = 10 at a time, up to 100 at a time, never more than the materials and the free space allow. It hands the quantity to the game's own multi-craft (the same as Shift + Craft): the game writes "Craft x 5", shows the total materials, checks them, crafts and charges everything itself, so nothing can be duplicated. Upgrades stay one at a time.

Stations (Smelter, Blast furnace, Charcoal kiln, Spinning wheel, Windmill, Eitr refinery, Hot tub, Frigid kiln, Frost foundry)

Per station type:

  • Automation On/Off (Off = vanilla)
  • Maximum input 0–100 and maximum fuel 0–100 (0 disables). Input and fuel are refilled when they drop to 10% of the maximum.
  • Windmill: Ignore wind (default off) – always full power, ignoring wind and roof cover; the propeller also spins faster.
  • Station range, store production in containers (same item first, then any container with room).
  • Production speed 1–200 % (100 % = vanilla; a cycle in progress keeps its progress).
  • Show production time in the hover text.
  • Deep North stations (Frigid kiln and Frost foundry) – same automation as the other stations/cooking devices (input, fuel such as ice or frozen fuel, products into containers, speed). They are recognised by the game's own name, so they work whatever their prefab is called. Extra option Only in the Deep North (default off): the build ghost turns red outside the Deep North biome (the game's own biome rule); stations already built are never touched.

Each station computes when something can next change and sleeps until then (max 10 minutes), backs off for 1 minute when resources are missing, and wakes up when a player adds ore or fuel by hand or when a nearby container receives items. Items on the ground are never searched.

Devices

Per device type (Off = vanilla; only pieces built by players, never dungeon or village objects):

  • Torches & braziers (torches, sconces, braziers, lanterns, candles…) and Fires & hearths – fuel refilled from nearby containers at 10% of the configured maximum (0–100).
  • Cooking stations & oven – raw food into empty slots, cooked food into containers before it burns, oven wood refilled.
  • Fermenter – mead base in, finished mead into containers, next batch started.
  • Beehive / Sap extractor – honey and sap moved into containers so they never stop full.
  • Shield generator – fuel refilled at 10% of the configured maximum.
  • Ballista – ammo reloaded at 10% of the configured maximum (one ammo type at a time).

All devices share one adaptive scheduler: a time-ordered queue (loop 1–4 s, base 2 s) with a CPU budget that grows when work is late and shrinks when the frame time is under pressure. Next-check times are calculated from the device state; ballistas and shields wake on events instead of polling. Wake-ups after loading or a settings change are spread over a few seconds according to the device count. Missing resources β†’ 1-minute backoff; manual interaction or a nearby container change wakes a waiting device. Every transfer either delivers or returns the items (no duplication, no loss).

Console command ultimateqol_stats shows device counts, queue state, budget and timings.

Cooking stations, fermenters, beehives and sap extractors also have a Speed % option (default 100, 1–500): the cooking/fermenting time is vanilla Γ— (100 Γ· speed). The panel shows an estimate (for example "raw meat: vanilla 25s β†’ 5s at 500%"). Only the time changes, never products or ingredients, and it works even with the automation of that device turned off.

Station panel (Alt + E on a station or device)

The admin settings are per type (every smelter, every cooking station…). On top of that, each station or device can be tuned on its own: look at a station or device whose automation is on and press Alt + E (the hover text shows the key). A small panel in the same style as the admin panel opens with:

  • Automation of this station – ON/OFF. OFF: that one station goes back to the normal game (it no longer takes items from chests or stores its products); every other station and device keeps working.
  • Processes / Accepted fuel / Accepted ammo – the icons and names of everything the station accepts, all on by default. Click one to turn it off: the automation never puts that item in (for example a forge that only processes iron ore, or a shield generator that only burns one kind of fuel). Fuel and ammo lists only appear when the station accepts more than one. Putting items in by hand is never blocked.
  • Production limit for each product, with a slider from 0 to 1000 and -/+ buttons (Shift = 10 at a time). 0 = no limit (default). With a limit of 300 iron, the automation stops putting iron ore in as soon as the chests in the station's range plus what is already queued or waiting inside the station hold 300 iron; the other ores keep going. When every product is at its limit and nothing is left inside, no fuel is taken either. Taking items out of a chest wakes the station again. The panel shows how many of each product are in the chests right now.
  • Restore default puts everything back (automation on, every item on, no limits). Esc, the Γ— button or Alt + E closes the panel.

The hover text tells what is going on: "Production stopped: processed item limit reached" when every product is at its limit, "Some products reached their limit" when only some are, "Automation off on this station" when it is off.

The settings are stored on the station itself (they stay with the world and are the same for every player) and are sent once when changed: nothing extra runs while nobody touches them, and limits are counted only during the checks the automation already does. Wards protect the panel like the station itself. Admin option Only admins configure stations (default off): when on, other players can open the panel only to look. The key is personal (option Station panel key, default LeftAlt) and is never synchronized.

Where it applies: smelters, kilns, furnaces, spinning wheel, windmill, Eitr refinery and the Deep North stations (ores and products), cooking stations and oven (raw food and cooked food), fermenter (mead bases and meads), beehive and sap extractor (limit only), shield generator (fuels) and ballista (ammo). Torches, fires and the hot tub only have the ON/OFF switch.

Capacity: bigger input, fuel and ammo slots

The "Maximum input / fuel / ammo" value does two things:

  • It is how full the mod keeps the device (it refills when the amount drops to 10% of this value, e.g. 20 β†’ refilled at 2 back up to 20).
  • If it is higher than the game's own capacity, the device itself is upgraded to hold that much (up to 100): smelters, kilns and furnaces (ore and fuel), torches, braziers and fires (fuel), cooking stations (fuel), shield generators (fuel) and ballistas (ammo). A value equal to or lower than the game's capacity never shrinks the device; it only limits how much the mod fills. Turning the automation off returns the device to the game's normal capacity.

Stations pause while sleeping (option on the Station panel page, off by default): smelters, kilns, furnaces, spinning wheels, windmills, refineries and cooking stations do not work during the hours skipped by sleeping and continue exactly where they were. Without it the game catches up the whole night in one second when everyone wakes up (all products appear at once and cooking food burns). Time that passes while nobody sleeps is not touched.

Why the automation is not instant

You may notice that devices are not refilled the very second something runs low. This is on purpose, to protect performance. Checking every device many times per second sounds harmless, but a large base can have hundreds of torches, furnaces and fires. If each one looked at the nearby chests every second, the server (or the host player's PC) would spend a lot of work on checks that find nothing to do, and the game would lag for everyone. So the mod works like this:

  • It does the math ahead of time. A furnace that is full will not need anything for a long while, so the mod works out when it will drop to the refill point and sleeps until then, instead of asking over and over.
  • It checks in small steps. The loop runs about every 2 seconds, and only the devices that are actually due are looked at. If the game is busy, the mod does less per step; if it is calm, it does a bit more.
  • It does not wake everything at once. After loading the world, or after the admin changes a setting, devices wake up gradually over a few seconds (longer for bigger bases) so there is no sudden lag spike.
  • It waits a minute when something is missing. If there is no coal in any chest, looking again every second would not help. It rests for 1 minute, and wakes up earlier if a player adds items by hand or puts items in a nearby chest.
  • Ballistas and shields are event-driven. They are refilled right after they shoot or get hit, with no constant checking. The result is that everything still works automatically, with a small and predictable delay, and a big base costs very little CPU. You can see the numbers in the console with ultimateqol_stats.

Equipment volume

Each station, device and the portal page ends with a Volume card (0–100 %, default 100 = vanilla, 0 = silent). It scales both the looping sound and the short effects of that equipment for every player. Admin controlled.

Animals

One page per breedable animal kind in the admin panel: Moose, Boars, Wolves, Lox, Chickens and Asksvin. Other creatures are not shown automatically: open Add animals at the end of the Animals section, pick any creature from the drop-down list (type to search; mods' creatures too; each row shows a thumbnail of the creature β€” its trophy, or an item it drops when it has no trophy) and click Add to give it its own page. Added creatures have a Remove from list button on their page (the built-in kinds cannot be removed). Warning: adding creatures can cause problems and may not work correctly; using only the default animals is recommended. Creatures the game already lets you tame get the normal options (creatures that never breed are marked "feeding only"). For creatures the game does not let you tame (Neck, bear, leech, serpent, Draugr and so on) the page is experimental and has, besides the options below: Allow taming (the admin must turn it on), a Foods picker (up to 3 items chosen from the list of all game items, with search; every item shows its icon) and Allow breeding (the baby is the same creature). With taming allowed and a food chosen, the creature can be tamed by feeding it (drop the food near it), then eats from containers and breeds like the other animals. Creatures with a simple AI such as deer and hare cannot be tamed by the game at all, so the mod tames them itself, the same way the game tames a wolf: with Allow taming and a food chosen, the taming time runs down while the creature is fed (Taming speed changes it; players nearby help). Feed it by dropping its food right next to it, by using the food on it (the item key while looking at it; the food is only taken when it is hungry) or, with Feed from containers on, from a chest within its feeding range. The hover text shows Hungry / Taming like any tameable animal. Once tamed it keeps eating from containers and can breed. Creatures of that kind that are already loaded get the changes at once; turning taming off or removing the creature stops it from eating and breeding (the game's components stay until the game restarts, but do nothing). Every animal page also has a Kill all tamed of this kind button for a clean-up (two clicks to confirm, admins only): it kills the tamed animals of that kind that are loaded near any player, as a normal death (loot and saddles drop as usual); animals far from every player are not affected. Every kind has the same options and all are off by default (speed options are 100% = vanilla):

  • Speed options (100% = vanilla, 1–500%) – growth speed of the young, egg hatching speed (chicken and asksvin), taming speed (not for creatures without AI) and how long a meal lasts. Each shows an estimate like "Vanilla 30m 00s β†’ 6m 00s at 500%". Animals and eggs already in the world use the new value; turning the option back to 100% or removing the creature restores vanilla.
  • Feed from containers – tamed animals eat from nearby chests when their food is inside (whatever the game says that animal eats). Each animal is checked every 2 minutes (fixed, to protect performance) and is fed shortly before it would get hungry. One food item is taken per feeding; if the game does not accept it, the item goes back. Works while a player is near the animals. Container range (default 20 m, 1–50).
  • No pregnancy time – the baby is born at the next breeding update after the animal becomes pregnant. The game's other requirements (tamed, fed, partner nearby) still apply.
  • Allow breeding with many animals nearby – turns off the game's crowding rule, so a couple can breed even when other animals are close. Use the limits below to decide when breeding stops.
  • Max animals (server) and Max animals (in range) – limits against exponential growth (0 = no limit), e.g. "no more than 20 wolves within 40 m". They count tamed animals of that kind, young included. When the number is reached, breeding stops and births resume when it drops; no animal is ever removed. The server count is made once a minute, so it is approximate; the in-range count uses the animals loaded near the couple. Limit range (default 40 m, 5–100).

Server (Optimization and Monitoring)

A SERVER section at the end of the panel's sidebar with the pages Optimization, Monitoring, Connection, Blocked commands, Achievements, Map, Manual world save, Characters on the server and Admin camera and console.

  • Optimization – removes items that stayed on the ground too long, to keep the world light and keep frames high. Off by default. Time on the ground (default 6 h, 0.1–720) counts server running time; an item a player picks up and drops again starts a new timer. Items are removed bases included when their area loads and while it stays loaded (a few per frame, never all at once). Clean when the server starts (default on, only with the cleanup on) removes old items right after the server starts, so the world loads clean. The button Clean the world now (admins, two clicks) scans the whole world in small slices – one chunk per frame and a limited number of removals per frame, even in areas nobody has loaded – and removes every item older than the limit. It never touches items inside chests, carts, boats or inventories, placed pieces or fish, and items whose age is unknown are kept. Nothing is logged.
  • Monitoring – admins see how the server is doing: frame time (average and worst), CPU and memory of the server, world objects, players, loaded items/creatures/containers, the mod's own cost per system (devices, animals, stations, cleanup, sweep) and its share of the frame, queue sizes, the adaptive budget, a green/yellow/red verdict, and the state of the world cleanup. The server measures and sends this only while the page is open (every 2 seconds).
  • Blocked commands – a list of console commands that players cannot use even without devcommands (the admin types a name, clicks Add, and removes entries with the x button). The list starts with printseeds (shows the world seed) and lodbias. Admins and the host are never blocked; blocked commands also disappear from the help and auto-complete. The block runs in each player's game, so players need the mod. An empty list blocks nothing. You can also add yesiuseddevcommandsbutiwantmyachievementsanyway to stop players from using that command.
  • Achievements (off = vanilla). At the bottom of the page there is a card recommending the author's mod Steam Achievements & Discoveries (client-side compendium of every Steam achievement and everything discoverable, with "?" cards, goals and a diary; the server does not need it). It is the same card as on the Integration page: with the mod installed (detected by its GUID Igao.SteamAchievementsDiscoveries) it shows the mod's own icon, version and description and Open opens its panel (discoveries_config); without it the card shows a trophy and Open opens the mod's web page. The two options below are the ones that mod shows too, so both panels always agree:
    • Allow achievements on this server – the game blocks achievements when it is flagged as modded (most mods do that), when the world has modifiers, or when the player used cheats. With this option, only real cheats (devcommands, cheated items) still block them. Achievements even for players who used cheats gives the same result as the game command yesiuseddevcommandsbutiwantmyachievementsanyway for everybody. Players need the mod; achievements earned while blocked are not given back.
  • Tombstones page (Difficulty section, next to Skills, where the skill loss on death is; all off = vanilla). These two options used to share the Achievements page; their config keys did not change:
    • Tombstone only for its owner – only the dead player can open and loot the tombstone; the server enforces it for everybody (also players without the mod). Items are never moved or removed; a tombstone whose owner never returns stays in the world.
    • Recovering the tombstone removes the death mark – when the owner takes everything, the death mark of that death (closest one) leaves their map.
  • Map (all off = vanilla; it also holds Disable the map / minimap and the boat and cart icons described under Quality of life):
    • Players always visible on the map – everybody is shown to the others and the map's public-position toggle is locked on; the server enforces it.
    • Share exploration – what any player explores is revealed on the map of every other player online (and saved in their character).
    • Share pins – a normal icon pin placed by a player is copied to every other player online (each copy is theirs to keep or remove).

Quality of life (Recycling, Farming, Portals)

A QUALITY OF LIFE section of the panel. Everything is off by default (vanilla) and decided by the admin.

  • Recycling – a trash icon (on the game's own wooden panel, like the armor and weight panels) in the inventory and a key (default Delete); dragging an item onto the icon does the same. Returns the materials of the recipe plus every upgrade up to the item level, limited by Maximum recyclable item level (default 4) and by Recycle return percentage (0–100, default 50; each material is rounded down; 0% only destroys, and the panel then reads Delete instead of Recycle; the label shrinks to fit the panel in every language). Items without a recipe are only destroyed. Kinds of items (one switch each, all on by default while recycling is on – the admin decides): weapons, shields, armor, accessories, tools, ammo, food and potions, and materials and others (an alloy such as bronze then gives back part of its copper and tin; turn that kind off if smelting should not be undone). An item of a kind that is off, or that has nothing to give back, is only deleted – and the trash already reads Delete the moment that item is picked up, so the player knows before letting go. Never gives more than crafting costs; what does not fit in the inventory is dropped at your feet. Protected slots are not recycled.
  • Extra slots (option, off by default, admin) – a grid 3 slots wide beside the inventory, built from the game's own inventory background and cells (same look, same cell size, each row level with an inventory row). The admin turns each group on or off; the slots that stay on fill the rows 3 by 3 and the panel shrinks to fit (up to 3 x 4 with everything on):
    • Armor (helmet, chest, legs, cape) and Utility + Trinket: each slot accepts only its own item type. Dropping an item there equips it; right click equips or unequips.
    • Wisplight and Wishbone: own slots for these two. While the item sits there its effect works (the light, or finding treasure and ore) together with the utility item, for example Megingjord. This changes game balance, so each one has its own switch.
    • Ammo: arrows, bolts and other ammo kept out of the inventory grid; the bow or crossbow still uses them.
    • Quick-use slots (3): hold any item; right click uses or equips it, and so does its key (default Z / X / C, personal, never synchronized). The mod reads the game's own key bindings (also changed ones): a key with no action in the game (Z) uses the slot at once. A key that also has a game action (X sits down, C switches walk / run) is told apart by how long it is held – by default a quick tap uses the slot and holding it (300 ms, adjustable) does the game's action (this can be swapped). The game's action of that key therefore comes a little later, and only while the slot holds an item: with the slot empty the key is the game's, with no delay. An optional modifier (for example Alt) brings back the classic modifier + key, used at once.
    • Quick slots on the HUD (option, off by default): the quick slots that hold an item appear as small cells at the bottom left, under the food and the size of the food icons, with the key, the amount and the game's own durability bar (copies of the game's own hotbar cells). Empty slots are not shown.
  • Extra inventory rows (admin, 0–3, default 0 = vanilla) – real rows of 8 slots added to every player's own inventory, on top of the game's rows (4, plus the 2 Haldor sells; the game shows at most 9, so only what fits is added). The game's own window, deposit (N), favourite slots, auto pickup, tombstone and saving all see a normal, taller inventory, and the game's own row count (what Haldor sold) is never changed. Independent of the extra slots. Lowering the value never drops anything: items move to free slots, and a row that still holds items stays until it is emptied.
  • Ammo counter (option, off by default, admin) – a bow or crossbow on the hotbar shows in the top-right corner of its cell how many arrows or bolts of the kind it will shoot you carry (red at 0); the fishing rod shows its bait. Same text as the game's own amount. Works without the extra slots.
    • Every slot shows its name in the top-left corner, all in the same size (a long name goes on two lines). Wisplight and Wishbone use the game's own item names in the player's language, in the grid and in the admin panel.
    • Left click picks an item up, a second click drops it: into an empty slot, onto the same stack to merge, or onto another item to swap (the displaced item goes to the cell the dragged item came from).
    • Death and tombstone – the items are saved with the character like any other item. If the character dies, they go to the tombstone and, when it is looted, every item returns to its own slot (equipment slots equip it again). A slot already taken sends the item to the normal inventory instead; nothing is lost or duplicated.
    • Safe by design – slot items do not use grid cells (pickups, "inventory full" checks and the tombstone count correctly), are never moved by quick stack or sort, and are never dropped as invalid when the inventory size changes. Turning the option off returns every item to the inventory.
    • Compatibility – the feature stays off (with a log line) when another inventory-slot mod is installed: Azu Extended Player Inventory, Extra Slots or Equipment and Quick Slots.
  • Farming
    • Planting grid – with the Cultivator, CTRL + arrows resize a rows Γ— columns grid (up to 100 Γ— 100, admin limits). All positions are previewed (green valid, red invalid); big grids are planted in small batches. The HUD shows required / available / inventory / nearby containers seeds and confirmation is blocked while seeds are missing. Plant only valid positions chooses between "block the whole grid" and "plant the green ones".
    • Area harvest – Shift + E harvests every ripe plant of the aimed kind within the radius; Shift + R also replants (Require seeds for full replant on/off). The search happens only when the key is pressed. Keys are configurable.
    • Growth timer (aimed plant only), growth speed (1–1000%), yield multiplier and crops outside their original biome.
  • Portals – a global portal registry: any portal can choose any portal as destination (many portals may share one), one list with names and groups shared by everybody, the same order for all, distance shown only when the list opens, search by name or group. Ctrl + E on a portal opens the quick menu (group, rename, move up/down/top); Organization admin only restricts that to admins. Portals can be shown on the map; clicking one opens the list with it highlighted once. Needs the mod on the server and on the players.
  • Fast portals (option, off by default) – very short fade; no fade or black screen when the destination is already loaded (for example two portals side by side); otherwise the wait ends as soon as the destination objects finish loading. The game's own floor check stays on.
  • Boats and carts on the map (two admin options on the Map page, off by default) – every boat / cart is shown with its own icon to all players, only in explored areas. Light on the network: the server checks them every 3 s but only sends the vehicles that appeared, moved more than 2 m or disappeared (a parked boat costs nothing); a player who joins gets the whole list once.
  • Food never fades (off by default) – food gives its full health, stamina and eitr until it runs out; the duration does not change.
  • Sleep in any bed (off by default) – any player can sleep in a bed claimed by someone else. Only sleeping: the bed keeps its owner and the sleeper's spawn point does not change; every vanilla sleep rule and wards still apply.
  • Boat camera distance (admin, 0 = vanilla) – a bigger zoom-out limit while steering or standing on a ship, so large sails do not block the view.

Wards (protection and sanctuary)

Off by default: vanilla wards. When the admin turns the ward system on:

  • Shapes and sizes – the admin allows circle, square and/or rectangle and sets a minimum and maximum size (1–100 m sliders; vanilla is 32 m). The size is the reach from the ward to the edge. Each owner chooses shape and size in the ward panel; the area is always centered on the ward, and squares/rectangles turn with the ward when it is built. Lowering the maximum shrinks bigger wards at once.
  • Show the area – on: the edge is drawn on the ground while looking at the ward (also for squares and rectangles) and the shield flashes; off: nothing is shown, the protection is the same.
  • Ward panel (Alt + E on the ward) – same look as the admin panel: ON/OFF, shape and size, always visible (a line on the ground and/or a see-through dome – a box for squares and rectangles – shown to everyone within about 80 m while the ward is on; drawn once, not every frame), sanctuary state, the permitted players (Remove) and every player online on the server (Add). Only the owner (or an admin) changes the area and the list; nobody can add themselves any more. E on the ward turns it on/off for the owner and permitted players. The hover text shows the owner, the area and the sanctuary state.
  • Protection of other players' items – besides what the game already protects (chests, doors, signs, item stands, portals, building), the ward also protects smelters and kilns, cooking stations, fires and torches, ballistas, shield generators, crops, items on the ground, carts and ships, and players without access cannot damage pieces inside. Beds and portals stay usable; tombstones are never blocked.
  • Wards per player (default 1, 0 = no limit, admins have no limit) – counted by the server over the whole world; existing wards are kept, only new ones are refused.
  • Never inside dungeons, and never overlapping the ward of another owner (wards of the same owner may overlap). Near altars, traders and forges the building rules of the mod apply.
  • Admins remove any ward with the hammer (its materials drop as usual). Option Admins ignore wards (off by default) lets them use everything inside any ward.
  • Sanctuary (option, off by default) – for real bases only: the area needs a bed and a workbench and the ward must exist for the time set by the admin (1–1440 min, default 60). The ward checks every 30 minutes (half of the set time when that is shorter; the panel and the hover text show the countdown to the next check); if a check finds no bed or no workbench, the ward loses the sanctuary and the time starts again from zero (if you take one away, put it back before the next check). In a sanctuary nobody gets hurt (no PvP; the PvP switch is locked), monsters do not enter, do not spawn and ignore the players and tamed animals inside, nobody inside can hurt anything outside, and players without permission cannot enter and are put outside if they arrive by portal, respawn or log in inside. Bosses ignore the sanctuary and attack as usual. Raids can still damage pieces (turn raids off if you do not want that). A ward without the sanctuary still protects pieces and items, so placing wards in the wild to hide from monsters gives nothing.
  • Bosses break sanctuaries (always, cannot be turned off) – a living boss within 200 m of a sanctuary switches it off: no protection, no barrier, no ward line or dome, monsters and the boss's summons come in, and everybody hurts and gets hurt normally (the ward still protects buildings and chests). Players inside are told "The sanctuary fell: <boss> is nearby". It comes back by itself about 10 seconds after the boss dies or leaves, without losing its time. A player standing in a working sanctuary cannot hurt any creature (bosses excepted), so a sanctuary is never a safe spot to kill a boss from. Light: nothing runs while no boss is alive; a game that loads a boss tells the server, the server finds the living bosses once after a restart, and only while bosses exist it sends their positions to everyone every 3 s (positions that stop arriving expire, so a sanctuary never stays off by mistake).
  • Light: the area of each ward is cached, the sanctuary check runs once every 30 minutes per ward, players are checked 4 times per second only near sanctuaries, and the edge is drawn only while someone looks at the ward.

Admin free camera

Option Free camera for admins (off by default) and its key (default F10, changeable in the panel). Made for recording fights: a free flying camera that moves like walking: the mouse looks around with your normal sensitivity, W/S fly where you look (look up and press W to go up), A/D move sideways, jump/crouch go straight up and down, Shift is 3Γ— faster, with a smooth start and stop; the character follows invisibly behind the camera so the area stays loaded, and other players do not see its body, name, health bar or map marker. Meanwhile the admin takes no damage, does not get hungry, monsters ignore him and every HUD disappears (the mod's clock and day counter too). The key again puts the character back exactly where it was; Esc, the game menu and opening the settings panel do the same. Only admins can use it.

Build camera (players, inside sanctuaries)

Players can send the camera out of the character to place buildings from a distance. Because that could be abused to scout or to fight with an advantage, it works only inside an active sanctuary (so Wards and Sanctuary must be on) and is locked down in several ways. Everything is off by default and decided by the admin (panel page Build camera, listed with the building pages; config section 130 - Build camera).

Option (config key) Default Range What it does
Build camera for players (BuildCamera) off on / off Turns the feature on for everybody on the server.
Build camera key (BuildCameraKey) F8 any key Sends the camera out and brings it back. Personal setting of each player, never synchronized.
Camera maximum distance (MaxDistance) 25 m 5 – 60 m How far the camera may go from the character. It also can never leave the area of the sanctuary the character stands in, and never goes under the ground.
Enemy distance (EnemyDistance) 40 m 10 – 100 m The camera cannot be opened, and closes by itself, when a hostile creature (one that hunts: monsters, bosses, wolves, boars...; tamed and peaceful animals do not count) or a PvP player is closer than this to the character.
Combat lock (CombatLockSeconds) 30 s 5 – 300 s After the player was hit or attacked, the camera stays unavailable for this long.
Wait after closing (CooldownSeconds) 10 s 0 – 300 s Wait before the camera can be used again (0 = no wait).
Hide creature info (HideEnemyInfo) on on / off Names and health bars of creatures are hidden while the camera is out.

How it works and what protects against combat abuse:

  • The placing reach is measured from the camera, not from the character: the game's normal placement distance applies from where you look. While the piece selection panel, the inventory or a menu is open, the camera stays still (it does not follow the mouse) until the panel is closed or a piece is chosen.
  • The character stays where it is, visible and vulnerable (unlike the admin camera, nothing is hidden or made invulnerable).
  • Only inside an active sanctuary, and only inside the sanctuary the character stands in. When a boss comes within 200 m the sanctuary switches off (see Wards), and the camera closes with it.
  • Only with the hammer in hand (a hammer from another mod works too; the hoe and the cultivator do not). Without it the camera does not open and a message says so; putting the hammer away (or taking anything else in the hand) closes it. A torch or a shield in the other hand is fine.
  • The character cannot move at all while the camera is out: every movement key, jump, dodge and auto-run (Q) are blocked (auto-run is switched off), and so are attacks, blocking, food and potions. Attacking marks the player as in combat for the combat lock time.
  • Esc, the game menu and the settings panel (its key or the console command) bring the camera back at once. The same is true for the admin camera.
  • It closes by itself when the player takes damage, when a hostile creature gets closer than the enemy distance, when the sanctuary stops being one, when the server withdraws permission, and when the player teleports, dies or is attached (sitting, on a boat).
  • The server also checks: a request is refused when the character is not inside a sanctuary, and permission is withdrawn (checked once a second, from the world data, so it also works on a dedicated server) when the character leaves it or the option is turned off.
  • Needs Ultimate QOL on the server and on the player's PC.

Known limits (said openly):

  • Like every client-side feature, the client rules (combat input lock, hidden creature info, closing on damage) cannot be enforced against a modified game client; the server only verifies the sanctuary part.
  • The camera shows what the player's own game has loaded around the character; the distance limit keeps this close to the base. It does not stream extra world data.
  • It uses the game's free-fly camera and input handling. If a game update changes those, the camera may stop working (nothing else is affected: the mod skips the broken part and logs a warning).
  • Not tested together with other mods that also replace the game camera.

Combat

Panel section Combat (config section 133 - Combat). All values are set by the admin and apply to everybody.

Option (config key) Default What it does
Preserve loaded crossbows (PreserveLoadedCrossbows) off A crossbow stays charged after unequipping and re-equipping it; the state belongs to each item.
Parry lag compensation (ParryLagCompensationMs) 0 (off) The most extra time (0 to 500 ms) added to the perfect-block window of a player on a server, to make up for the delay of the attack reaching them. The mod measures the delay itself (ping to the server, doubled when the attacker is another player); the admin only sets the ceiling.
Block works when staggered (BlockReducesDamageWhenStaggered) off A block that ends in a stagger still reduces the damage like a normal block (in the game that hit does full damage). Does not help a player with no stamina left.

Both block rules live in the one patch of the game's block method, so they never switch each other off. They are applied only where the game's code has the expected shape (found by calls, not by an exact copy of the method): if a game update changes it, that rule stays off and the log says so, and the rest of the mod works.

Auto map pins

Panel page Map (config section 134 - Auto map pins), off by default. Players get a map pin on what they find by doing something with it: going into a dungeon, hitting an ore deposit (any hit), reading a runestone. Wild plants are pinned when the player passes within 10 m (fixed); Leviathans by coming close, within the distance the admin sets. The pins are drawn with the game's own pictures, so nothing is downloaded and no new graphics are loaded: ores and wild plants show the icon of the item they give (the same picture as in the inventory), and places use the game's own map pin pictures. All pin options apply to every player and are decided by the admin.

Option (config key) Default Range What it does
Automatic map pins (Enabled) off on / off Master switch of the whole feature. Off = no pin is made and the legend is not shown.
Pin distance (Range) 25 m 10 to 100 m How close a player must come to a Leviathan (at most 40 m) for it to be pinned. Everything else is pinned by interacting with it. Nothing is revealed from afar.
Pin dungeon entrances (DungeonEntrances) on on / off Dungeon entrances, with the game's own "T" pin picture painted in one color per kind of dungeon (table below). The pin stays on the map and is saved per world and character.
Pin runestones (Runestones) on on / off Runestones, with the game's rune pin picture in cyan, pinned when the player reads them. The pin stays on the map.
Boss altar pins (BossAltars) on on / off The pin the game adds when a vegvisir is used is taken over by the mod, so it gets its own legend line and can be shown or hidden by each player. It keeps the game's own boss picture.
Pin ore deposits (OreDeposits) on on / off Ore deposits, with the icon of the ore. Pinned by any hit of the player (pickaxe, axe, club, fists...). Deposits within 20 m share one pin. Last for the session and are removed when the deposit is mined out.
Pin wild plants (WildPlants) on on / off Wild plants that the game does not let you plant, with the icon of what they give. Plants within 15 m of each other share one pin. A plant is pinned when the player passes within 10 m of it (no need to pick it). Last for the session and are removed when the plant is gone. Plants that a player placed are never pinned.

Dungeons, one color per kind. The game's "T" picture is painted once per kind (one small texture each, made the first time it is needed):

Dungeon Where Color
Burial Chambers Black Forest yellow
Sunken Crypts Swamp green
Frost Caves (and Howling Cavern) Mountain ice blue
Infested Mines (and Infested Citadel) Mistlands violet
Troll Caves Black Forest brown
Putrid Holes Ashlands orange
Winding Tunnels Deep North pink
MΓΆrkhalla Deep North indigo
Other dungeons any dungeon the mod has no name for light grey

The kind comes from the name of the game's location, so every numbered variant of a dungeon is covered. A dungeon the mod does not know by name but that has a way into an interior is still pinned, as "Other dungeons". Dungeons found by an earlier version have no kind yet: they get theirs (and their color) the next time the player stands next to the entrance.

Ores and plants. Copper, tin, iron / scrap, silver, obsidian, flametal and black marble show the icon of their ore. Raspberries, blueberries, cloudberries, thistle, mushrooms and dandelion show their own icon. "Other ores" (any ore the mod has no icon for) uses a plain grey disc.

Map legend. While the big map is open and the feature is on, a legend lists every kind of pin the admin enabled, with its picture and how many the player has found. A click on a line shows or hides that kind on the map ("only copper", "only dungeons"); a click on a group title (Dungeons, Places, Ores, Wild plants) does it for the kinds the player has found in that group. A kind found for the first time is always shown. The choice is personal (never sent to the server) and is kept in BepInEx/config/UltimateQOL/MapLegend.txt. The legend can be dragged by its title and folded with the button. On a small screen the lines get closer together so the legend fits. Hidden pins are not deleted: they are back when shown again.

Performance. One check per second of the player against a short list; nothing runs on the objects themselves, and nothing runs per frame. Ores, plants and places are added to the list once, when the game loads them. The game's pictures are reused, not copied: the only textures the mod makes are the painted dungeon pictures (at most nine small ones, once) and the plain grey disc. The legend only does work while the big map is open.

Known limits, stated plainly.

  • The "T" and rune pictures are looked up in the game by pin type. If a game update changes them, the mod paints whatever the game has for that pin type; if the game has none, a plain round disc is used (the log does not fill with errors, the pin simply shows the disc).
  • The names of the Deep North dungeons (TheHole... for Winding Tunnels, MorkBorg for MΓΆrkhalla) and of the other dungeons come from the game's location ids as published in the Valheim wiki; the Deep North ones have not been tested in a running 1.0 game by the mod's author yet. If a name does not match, the dungeon is still pinned but as "Other dungeons".
  • Wild plants that are new in the Deep North (for example lingonberries) are not pinned yet, and unknown ores of the Deep North fall under "Other ores".
  • A pin is made when the player interacts with the spot (enters, hits, reads) or, for wild plants, passes within 10 m. A dungeon the player has never entered is not on the map.
  • Places are saved with the game's own pin type (the "T" for dungeons, the rune for runestones, the boss pin for altars). Without this mod those pins are white pictures of the game; the colors exist only with the mod.

Places the player discovered are listed in BepInEx/config/UltimateQOL/AutoPins/<world>_<character>.txt. White dungeon and runestone pins made by earlier versions are replaced by the colored ones when the player is next to them.

Status effect layout (HUD)

Panel page HUD (config section 104 - HUD Clock): rows before a new column (0 = the game's list), size in percent and X/Y offset of the status effect list, for every player. Only the game's own entries are moved, and only when the list or a setting changes.

Less smoke (visual lag)

Panel page Optimization (config section 135 - Visual lag), off by default: removes the smoke of fires, hearths, braziers, smelters, kilns and ovens, or keeps it only within a distance of the player (0 = none). Fire, heat, fuel and cooking are not touched.

Tree regrowth

Panel page Farming (config section 131 - Trees, a rule of the shared world like the other admin options). Off by default, decided by the admin. The growth time is always the game's own (the sapling's), there is no setting for it; the mod's plant growth speed (Farming) applies to these saplings like to any other.

Option (config key) Default Range What it does
Tree regrowth (TreeRegrowth) off on / off A tree that was cut down and whose stump is left standing grows back on that spot: 10 minutes after the cut the stump becomes the sapling of that tree, which then grows normally. If the stump is cut down before it changes, the tree never grows back.

How it works: when a tree is felled, its stump stores which tree it was, its size and the world time of the cut on the stump's own saved data (no extra save file). The player or server that owns the stump (while it is loaded) then changes it:

  • Tree with a sapling in the game (beech, birch, oak, pine, fir, Yggdrasil shoot...): 10 minutes after the cut the stump is replaced by that sapling. The 10 minutes are the time to pull the stump out if you do not want a tree there. From then on it is an ordinary sapling: it grows in the game's own time, needs free space and the right biome, can be cut, and turns into a tree of random size like any planted one.
  • No room for a sapling: the game only lets a sapling grow with free space around it, and natural forests are often denser than that. In that case no sapling is placed (it would never grow); the stump stays and the tree comes back fully grown, at its old size, once the sapling's normal growth time (the middle of its minimum and maximum) has passed since the cut.
  • Tree with no sapling in the game (swamp trees, autumn birches and other variants, trees from other mods): it comes back fully grown, at its old size, 1 hour after the cut.

Stumps are checked every 2 minutes, so a change can come up to 2 minutes late; if something stands on the spot (a building, a player or a creature) it tries again 5 minutes later.

Known limits:

  • Only stumps created while the option was on can grow back. Stumps that already existed (or were made while it was off) never do, and nothing is changed for them.
  • It only happens while the area is loaded (a player nearby, like planted saplings); a stump far away regrows when somebody comes back, if the time has passed.
  • A tree does not appear while a building or a creature is on the spot; it tries again every 60 seconds.
  • Logs and the trees themselves are not touched. Trees cut by other mods in ways that bypass the game's own tree damage may not leave a marked stump.

Dungeons

Admin control of how many rooms dungeons get. Everything is off (the game's own numbers) until the admin turns it on.

Option Default Range What it does
Custom number of rooms (CustomRoomCount) off on / off On: every dungeon built from rooms gets a number of rooms between the minimum and maximum below. Off: vanilla.
Minimum rooms (MinRooms) 20 10 – 150 Fewest rooms a dungeon may get.
Maximum rooms (MaxRooms) 40 10 – 500 Most rooms a dungeon may get (never below the minimum).
Burial Chambers / Sunken Crypts / Frost Caves: minimum and maximum 0 0 – 150 / 0 – 500 Own numbers for that kind of dungeon. 0 = use the general number.
  • The general numbers apply to every dungeon made of rooms, including ones from other mods. Camps are never changed.
  • Only dungeons that have not been generated yet are affected. The game builds a dungeon once, when a player first loads its area (getting close is enough, going in is not needed), and saves its rooms in the world. From then on the dungeon is loaded from that save, also when you leave and come back. A dungeon already generated keeps its rooms, even with this option on. The only way this mod builds one again is Dungeon reset (below).
  • Everybody must use the same numbers (they are synchronized). A player on a server without this mod stays vanilla.
  • The first time each dungeon is built, the log shows its name and the numbers used.

Dungeon reset

Dungeons never reset in the vanilla game. Here the admin can make them refill themselves.

Option Default Range What it does
Reset dungeons (ResetDungeons) off on / off On: the inside of every dungeon is built again every so many game days: new loot, creatures and doors; the layout stays the same only while the room numbers are unchanged (see below).
Days between resets (ResetEveryDays) 30 1 – 365 Game days between two resets of a dungeon.
Burial Chambers / Sunken Crypts / Frost Caves: days 0 0 – 365 Own days for that kind. 0 = use the general days.
Keep dungeons with player builds (KeepWhenPlayerBuilt) on on / off On: a dungeon is not reset while something a player built or a tombstone is inside it.
  • Only the inside is rebuilt. The entrance, the terrain and everything built outside stay as they are.
  • Each dungeon has its own timer, saved in the world. It starts the first time the mod sees the dungeon, so nothing resets the moment the option is turned on.
  • A dungeon is never reset while a player is inside it. The reset is done by the game that owns the dungeon and stands within about 120 m of its entrance, so a dungeon nobody visits waits until somebody comes.
  • The mod must also be installed on the server. A player on a server without the mod sees vanilla dungeons.
  • Admin console command (host and server admins only; anybody else gets a refusal): ultimateqol_resetdungeons [range] resets the loaded dungeons within range (default 50 m, at most 200) now, ignoring the timers, and logs the result. Meant for testing.
  • When the room count (see above) is on, a reset builds the dungeon with the current numbers. The reset uses the same seed as the first build, so the layout is the same only if the numbers have not changed since the dungeon was first built; if they changed, the reset gives the dungeon a new layout, and that layout is saved in the world.

Console: all devcommands for admins

Panel page Admin camera and console (config section 132 - Console; the same page holds the admin free camera).

Option (config key) Default Range What it does
All devcommands for admins (AllDevCommandsForAdmins) off on / off Administrators on the server admin list (adminlist.txt) can use every devcommands command on this server, after typing devcommands, like in a local game.
  • Only administrators on the admin list are affected (the host of a local game also counts as admin). Nobody else gets anything, and the blocked command list (see Console commands) still applies.
  • It lifts the game's client-side checks (cheats allowed, admin only, server only) for those admins once devcommands has been typed.
  • Known limit: a command whose work is done by the server in the world is run by the admin's own game, so it may change only what that game controls. Local-game behaviour cannot be fully reproduced by a client on a dedicated server. Test the commands you need on your server.
  • Cheated items and achievements keep following the existing rules of the game and of the Achievements options.

Auto pickup modes

Option (off by default): the game's auto pickup key cycles ON β†’ only items you already carry β†’ OFF. In the middle mode only items you already have in the inventory (equipped ones count) are picked up, so the bag does not fill with things you do not want. The usual game message shows each mode.

Items and pickup

  • Stack size per kind of item (100–1000%, default 100% = vanilla): materials (wood, stone, ores, metals, hides, seeds…), food and potions, ammo (arrows, bolts, bait), trophies and other items (coins, fish, misc). Each card shows the item's picture and a live example ("Wood: stack of 50 β†’ 500"). Items that never stack (weapons, armor, tools) are never changed. Nothing is ever lost: the game cuts a stack down to the current size when it loads an inventory; the mod removes that cut, so lowering the option later never deletes items – a bigger stack simply stays as it is until it is used.
  • Auto pickup range (0–20 m, 0 = the game's own 2 m) – how far items on the ground fly to you.

Boats

Page Boats with one card per boat – Raft, Karve, Longship, Drakkar and boats from other mods – each with the boat's picture, the game's own name and a slider from 100% (vanilla) to 1000%, plus a plain line such as "2.5Γ— the normal speed". Sail and paddles both get faster and the boat picks up speed faster too (its push is multiplied and its water drag divided by the same factor, so the top speed is exactly that many times the game's); steering follows by itself. Changes apply at once, even while sailing. Very high speeds can outrun the loading of the world on slow computers or servers.

Day and night

Daytime length and Night length in real minutes (1–720 each; the game's own: 21 min of day and 9 min of night, 30 min per day), on the clock page, with a line showing how long a whole day lasts. The game's sun curve is kept (night split around midnight, day in between). The day counter and the sun never jump: the server saves an anchor in the world ("from now, day D at this time of day, with these lengths") and every later day is counted from it, so a change only makes time go faster or slower. Sleeping skips the night as usual; boss unlock days and the HUD day follow the same count. With the game's lengths nothing is changed at all.

Recipe search

Option on the Crafting page (off by default): a search box above the crafting list. Type part of an item name, its description or an ingredient and only matching recipes are listed; several words must all match.

Building

  • Build from nearby containers (independent range); the build HUD shows have/need.
  • Dvergr mist post (off by default) – a black marble post with a Dvergr lamp that clears the mist (Mistlands). In the Hammer, building tab, once its ingredients (black marble and Wisp) were picked up: 20 black marble + 10 Wisp. Admin radius 0–1000%.
  • Forge of Potential (two options, off by default) – allow building in its protected area, or disable the forge for every player (it does not open, its name says it is disabled and the player gets a message). For many more advanced options to control and configure the Forge of Potential, see my other mod OdinBet by Igao.
  • Ignore seasonal restrictions (off by default) – maypole and the other seasonal decorations and recipes all year.
  • Repair All – repair one damaged structure with the hammer as usual and every other damaged structure within the configured range is repaired too, with the game's own rules (station in range, ward access). Each extra piece costs the same stamina as a normal hammer repair (closest pieces first); when your stamina runs out the rest stays damaged until you repair again. No extra key.
  • Dismantle boats, carts and rams (off by default) – with the hammer's remove mode, the Raft, Karve, Longship, Drakkar, carts and battering rams can be taken apart, but only with the workbench (their crafting station) nearby, just as when they were built. A boat from another mod that has no station of its own also asks for the workbench. Wards, protected zones and the game's own safety checks (for example nobody on board) stay active.

Advanced building

Page Advanced building (off by default). Press the freeze key (default Insert) to freeze the build ghost, then place it precisely:

  • Arrows move it on the world axis closest to where the camera looks, Page Up/Down move it up/down.
  • Alt + arrows / Page Up/Down rotate it on every axis. Ctrl = 1/10 step, Shift = 10x step (steps configurable).
  • Optional grid size: the frozen ghost is aligned to a world grid. Mouse wheel rotation step configurable (22.5Β° = vanilla).
  • Every placement rule still applies (wards, no-build zones, biome, distance, players in the way). Pieces that depend on the ground under them (plants, ground pieces, station extensions…) cannot be frozen. Placing or choosing another piece releases the ghost.

Structures

Page Structures (everything off / 100% = vanilla; only pieces built by players, never world or dungeon pieces):

  • No weather wear (rain, water, snow, ash, lava, events), No collapse (structural integrity off; the support of player pieces is then not calculated at all, which lightens the game of whoever owns a big base), No damage from creatures, No damage from players (the hammer can still remove pieces).
  • Support per material (wood, stone, iron, core wood, black marble, grausten, ancient, ice, timber): 50–500%, for longer spans and taller buildings.

Signs

A Signs page (off by default). Using a sign opens the mod's editor: text with several lines, the game's own fonts, bold, italic, underline, capitals, alignment, size (admin maximum), text color, outline and a soft glow (no lights, no particles), copy / paste style, with a live preview on the sign. The look is saved on the sign and every player with the mod sees it. Invisible board (admin option) hides the wooden board so only the letters stay, at an adjustable distance from the wall; it is found only with the hammer in hand, aiming at it (the board appears, E edits it, the hammer can remove it).

Save without freezing

Option on the Manual world save page (off by default). Automatic world saves (server/host) spread the copy the game makes before writing over several frames (the time used per frame is decided automatically: more on a dedicated server, less on a player's game, less again when the frame is already heavy; nothing to configure); everything that changes during the copy is copied again in the last frame, so the save is one consistent picture (no duplicated or lost items). The game's own file writer, backups and chunk files are kept. For every player with the mod, automatic character saves build the explored-map data on a worker thread. Logout, exit and immediate saves always use the game's own save.

Characters on the server (CharacterData)

A Characters on the server page (changed by admins only; everything is off by default). When it is on, the server is the official source of every character, not just a backup: the host and the administrators follow the same rules as everybody else.

How it works:

  1. On the first connection the character is registered on the server (see the first-access policy).
  2. On every later connection the server restores exactly its last confirmed version of the character before the player enters the world. The client introduces its character right before the game's own join message; the server holds back only that join message until the character has been sent, applied and confirmed by the client, then lets the game admit the player as usual (password, bans, capacity). A banned or non-whitelisted player is refused by the game before any character is sent. If the restore fails, the player is refused with a message and the local character is left untouched. If the server never answers, the client returns to the menu with a message instead of waiting on a black screen.
  3. While playing, the server saves the characters automatically, one at a time (there is no setting to tune): the player's game reports when something worth saving changed (inventory, equipment, skills, recipes and other knowledge, food, trophies, powers); a changed character is saved about 3 minutes after the change, an unchanged one (idle, only walking) every 10 minutes, and the server waits at least 10 s between two characters, so the work is small and spread evenly. A character is also saved at once on leaving, death, world save, kick and server stop. Each save is verified and written before the next one starts.
  4. Anything done with the same character on another server or offline is never imported: back on this server you get exactly what this server stored. Items are not merged and nothing is added "by comparison".
  5. The character stored here is exactly what the game itself saves in the character file: inventory and equipment (quality, durability, variant, crafter and the extra data other mods keep in items), skills, known recipes, stations, materials and texts, trophies, defeated bosses, appearance, Forsaken power and its cooldown, active food and its time, health and stamina, bed/spawn point and logout position, the explored map and pins of every world, and the data other mods keep inside the character. Nothing is rebuilt by hand and unknown data is not dropped. Temporary effects (meads, rested, poison) are not kept, just like when you log out in vanilla.

Settings (all server-side, synchronized from the admin panel):

  • Save characters on the server – default off. Players already online are controlled from their next connection (ask them to reconnect once). On a server that is already being played, turn on the import option below together with it, so the existing characters are imported on their next connection. Needs Ultimate QOL on the server and on every PC client; clients without it are refused with a message. Consoles cannot join while it is on.
  • First access: allow importing an existing character – default off. Off = only a brand new character (never played in any world) can register; the decision is taken from the real data of the profile, not from what the client says. On = an existing character is imported once, on its first connection, and the server version becomes the official one. The original local character is never deleted in either case. After an archive, only new characters may register until you change this setting.
  • Characters per account – default 1, range 1 to 20. The account is the platform account authenticated by the server (Steam or PlayFab), never a name sent by the client. Lowering it later never deletes registered characters.
  • Archive characters and start from zero – shown only while the feature is on, with a two-click confirmation. It blocks new saves, disconnects every player (administrator included), moves the whole stored generation to archives/old_data_<date>_UTC and starts a new empty generation. Nothing is deleted and the world is not touched. A player on a local host session is returned to the menu and the archive is completed when the world is opened again.
  • Resume the stored characters – when the feature was off for a while, the stored characters may be out of date. They are never matched with local profiles automatically: before players are admitted again an administrator chooses between resuming them or archiving them. Administrators can still join (without their character being controlled or saved) to take that decision.

Where the data is: BepInEx/config/UltimateQOL/CharacterData/world_<WorldUID>/ with state.json, active/characters/<account>/<character>/current.fch (plus metadata.json and backups/) and archives/. Folder names come from the account id and the permanent character id, never from player names. Every version is written to a temporary file, read back and verified before it replaces the previous one; the 5 previous valid versions are kept (one is made at the first save of each play session and then at most every 30 minutes, so they span hours rather than minutes); old, repeated or skipped revisions are refused; a damaged character is never silently replaced or recreated (it is blocked and reported in the server log). On the player's computer, a copy of the local character is kept in BepInEx/config/UltimateQOL/CharacterData/LocalOriginals/ before a restore whenever the local file holds something the server never saw (the 5 newest copies per account are kept).

Leaving and stopping the server. When a player logs out or closes the game (menu, Alt+F4, window), the game waits a few seconds ("Saving the character on the server...", at most 20 s) while the newest version is sent and confirmed by the server; the player cannot act, pick up items or take damage during that wait. Then the game leaves as usual. When the server stops (quit, or the console being closed) it first asks every connected player for their newest version and writes it (at most 15 s). A kicked or banned player's newest version is written before the kick (at most 8 s). Steam connections are closed with linger, so nothing queued is dropped.

Restore a previous version (admins only, on the Characters page). For a character that is stuck (black screen, corrupted inventory, a bad trade) the page lists every stored character (name, when it was last saved, version number, how many older versions exist, and whether the player is online). Pick one, then pick one of its saved versions (date, number, size) and click Restore this version twice (the second click confirms).

  1. The player, if online, is told why and disconnected. The server first writes their newest version, so nothing is lost; a frozen player that does not answer is cut after a few seconds and the last confirmed version is used.
  2. While the restore runs the character cannot join ("an administrator is restoring this character"). The server waits for any save of that character to end.
  3. The content of the chosen version is written as the next revision, with the usual write, read back and verify. The history only grows, no safety rule is relaxed, and the version that was current stays as a backup, so a restore can be undone by restoring that one.
  4. The player joins again and receives exactly that version. The action is written to moderation_log.txt. A player who hosts the world cannot be restored while hosting. Only the character goes back, not the world: items moved to or from chests after that version are not undone, and the explored map and position go back too, so prefer a version made before the problem started.

Known limitations (please read):

  • A crash is not a logout. If the game or the server crashes (or the internet drops), the changes since the last save are lost (at most about 3 minutes of activity). The world and the character can then be a little apart (for example an item that is both in a chest and in the inventory). Backups are kept, but an old backup is never loaded automatically over a newer world.
  • If the server does not confirm the leaving save within 20 s (very slow line), the game leaves anyway and the last confirmed version is used next time.
  • While a joining player's character is being restored, the Kick players without the mod timer waits.
  • Data other mods keep outside the character file is not saved or restored. A restored character that contains an item this installation cannot create is sent back to the menu and the server version is not overwritten.
  • A restore replaces the whole local character in memory, including the data of other worlds stored in it; the local original is kept in LocalOriginals/.
  • Console (Xbox) players cannot join a server that controls characters.
  • A very small new version (less than a fifth of the stored one) is refused instead of replacing a real character.

Skills

A Skills page (off by default): Custom skills switch, Skill loss on death (%, the game's normal difficulty uses 5%), Protected level (death never takes a skill below it) and, for every skill, Experience (%) and Loss on death (share of the general loss, 0% = never drops).

Bosses and progression (formerly BossGate)

A whole section of the panel, everything off by default. Control the pace of the server:

  • Bosses – every boss with its trophy, unlock day, defeated or not and whether it can be summoned today. Master lock closes every altar at once.
  • Unlock days – one day per boss ("Bonemass from day 20"), from Eikthyr to Kall Fimbulbringer, with a quick plan (every 5 / 10 / 20 / 30 days). The offering is refused and never consumed while a boss is locked. The Queen's Sealbreaker door and the hive seat follow her day too.
  • Boss order – Previous bosses first (no skipping ahead) and Personal progress: a kill counts for the whole world, or only for the players who took part in it (hit it, or were within 40 m) in this world.
  • Portal ores – the ores and metals the game blocks from portals are released biome by biome once the boss dies (copper/tin: The Elder, iron: Bonemass, silver and dragon eggs: Moder, black metal: Yagluth, Mistlands items: The Queen, flametal: Fader, gold: Kall; Hildir's chests: the miniboss and the boss of its biome). The inventory's "cannot teleport" mark disappears from released items. All items through portals (AllItemsThroughPortals, admin, off by default): every item can go through portals, including the ores and metals the game blocks, with no boss needed; while it is on it overrides the boss rule above. Off keeps vanilla (or the boss rule).
  • Dungeons – a dungeon entrance stays closed until the boss of the previous biome is dead. Leaving is never blocked.
  • Rewards – Peaceful biome: once a biome's boss is dead its creatures leave players alone (hit one and only that one fights back, for good). Mist gone after The Queen. Dry Swamp after Bonemass (no more rain). Calm Deep North after Kall (no snow or freezing blizzards). Weather changes at the next weather change of the game.
  • Remove abandoned bosses (0-120 min, 0 = off) – a summoned boss carries a timer; when it ends with no player within 300 m the boss is removed, otherwise the timer starts again. Killing the boss drops the timer. Nothing is checked before a timer ends; a change only applies to the next boss summoned.
  • Players can see it too: any player can type ultimateqol_config in the console (F5) and see the Bosses, Portal ores, Dungeons and Rewards pages, read only (the state of this world today). Only admins see and change the settings.
  • Personal kills recorded by BossGate keep counting (same keys).

Difficulty

A Difficulty page (off by default, everything 100% = vanilla), inspired by the main ideas of creature/loot difficulty mods but built on the game's own world rates. The values multiply the world's own settings (world modifiers), so 100% always means "as this world is" and turning the page off restores the world at once:

  • Creature health, Boss health (applied when a creature spawns or is at full health; stars multiply as usual; tamed animals keep vanilla health).
  • Creature damage, Boss damage, Player damage, Chance of each star (0-100%: 0% never, 10% normal game, 100% always the most stars; the panel shows the resulting odds of 0, 1, 2... stars), Loot and resources, Raid frequency (0% = no raids).
  • Stamina use, Stamina regeneration, Eitr use, Durability loss, Food duration, Carry weight.
  • Group scaling: extra toughness and damage per additional player nearby (0% = none), maximum players counted and distance (0 = vanilla).
  • Minimum / maximum stars (used when the star table is off) for creatures and for bosses (vanilla: creatures 0-2, bosses 0). Above the game's limit a creature keeps rolling one more star at a time with the game's star chance. Decided once per creature by its owner and saved in the world, so every player sees the same stars.

Stars

A Stars page under Difficulty (needs Custom difficulty on):

  • Use star table (off by default) – while it is on, a summary at the top of the page shows the current odds for creatures and bosses, today's day and how much each growth (bosses, days) adds; instead of the star chance and the minimum/maximum stars, two tables decide the stars: creatures and bosses, each with the chance of exactly 1 to 10 stars. What is left of 100% is the chance of no star (shown live under each table). A change that would push a table above 100% is refused with a red warning. The creature table starts at 9% one star / 1% two stars (about the normal game), the boss table at 0%. It applies to every creature, dungeons and camps included; creatures that already exist keep their stars; split creatures still get one star less.
  • Growth with progress (creatures only) – Increase per boss defeated (+% of the chances for each boss defeated in the world) and Increase by days (+% every N days). Both add up and multiply the star chances; the no-star chance shrinks to make room and the total never passes 100%. A preview line shows the chances in force now, e.g. Now (day 40, 3 bosses defeated, chances x1.5): no star 55% Β· 1β˜… 30% Β· 2β˜… 15%. Bosses never grow: their table is exactly what the admin sets.
  • Size per star for creatures and for bosses (0% = vanilla). Careful: big sizes can get creatures stuck in doors, caves and dungeons.
  • When the table is on, Chance of each star and the minimum/maximum stars on the Difficulty page are greyed out ("controlled by the star table").

Creature infusions

A Creature infusions page (off by default), inspired by the idea of special creatures in creature/loot difficulty mods but written from scratch. Creatures may spawn with a trait (shown by colored level stars) and/or an elemental infusion (shown by a soft glow in the element's color); the name shows both in their colors (Name Β· Trait Β· Infusion).

  • Traits: Aggressive (red, +30% damage, attacks more often), Quick (magenta, +40% speed), Regenerating (green, 2% health every 2 s), Vigilant (cyan, sees and hears 60% farther), Splitting (white, only on creatures with stars: when it dies it splits into two creatures with one star less that keep splitting, until the last ones have no star; split creatures drop nothing), Armored (blue, -35% damage taken), Vampiric (crimson, heals 30% of the damage it deals).
  • Infusions: Fire, Frost, Lightning, Poison, Spirit – hits gain 35% of their damage as the element (with the game's own effects: burning, chill, shock, poison) and the creature takes half damage from its own element; Chaos – a random element on every hit, a bit stronger, and a little resistance to all of them.
  • Trait chance, infusion chance, extra chance per star, bosses on/off (never Splitting), trait strength, infusion strength, extra health, extra loot (trophies are never multiplied), name tags, colored stars and glow – plus an on/off for every trait and every infusion.
  • Each creature is rolled once, by the client that owns it, and the result is saved in the creature's own world data, so every player sees the same creature and nothing re-rolls after a restart. Turning the page (or a single trait) off makes the creatures act as in vanilla again at once.
  • Performance: only creatures that rolled something are tracked; the damage, name and HUD hooks cost one lookup for every other creature and nothing at all while the page is off.

Server management (admins and moderators)

The MANAGEMENT section is the first of the panel (the other options are under GENERAL) (off by default where it changes rules). Every action is checked by the server.

  • Roles: the admin master is the first ID of adminlist.txt (or the host of the world) and can do everything. Other admins manage everything except admins and can never kick or ban the master. Moderators (moderator.txt, added and removed by any admin) only open the Players page and only kick normal players; they cannot change settings. The panel header shows your role.
  • Players: kick and permanent ban with a required reason; ban offline players by ID; the last 20 players who left (to ban someone who already disconnected); the ban list with unban. The player sees who and why in the main menu.
  • Moderation log: moderation_log.txt next to adminlist.txt – dd/MM/yyyy HH:mm | KICK/BAN | by | target | reason (also whitelist, admin and moderator changes). The latest entries are shown on the page.
  • Whitelist (permittedlist.txt): add an ID with an optional nickname (permittedlist_names.txt), add everybody online (nickname = in-game name), remove, and clear (master only). A warning and a confirmation appear when the list is empty; the admin who turns it on is always added too, so nobody locks themselves out.
  • Staff: admins (the master adds/removes them when Master manages admins is on) and moderators.
  • Mods: Require the same mods (exact versions; the server reads its mods at every start), Optional and Admin only per mod, Block unknown patchers (BepInEx/patchers) and Kick players without Ultimate QOL (about 30 s after joining; admins are never kicked). A player who differs is disconnected and sees in the main menu what is missing, different, extra, admin only and patchers not allowed, with a Copy button formatted for Discord / WhatsApp.

Quick connect (main menu)

  • A panel at the top left of the main menu with the last dedicated or crossplay server you joined (name, address) and a Connect button that joins it again with the saved password typed for you; the 2 servers before it are listed too. Local worlds are never saved. Before the first join it says so and the button stays disabled. Saved in BepInEx/config/UltimateQOL/recent_servers.txt (plain file on your PC).
  • Friends on servers: Steam friends who are on a server with Ultimate QOL appear with a Join button (Steam only; not available on Xbox / Game Pass).

Sea and chests

  • Sea Serpent spawns (100–1000%) and Sea Serpents by day – a more dangerous ocean, using the game's own serpent spawner.
  • Stackable chests – chests hold up what is built on them; with additional snap points they also snap by the centre of the lid and bottom.

Connection (network)

A Connection page with three switches, all off by default and only changed by admins. The top of the page shows, detected automatically, whether the world is local or dedicated and whether it runs on Steamworks or PlayFab (Crossplay).

  • Adaptive send capacity (Steamworks only; PlayFab is never touched). The game sends at a fixed 150 KB/s per connection and hands world data to a connection only while less than 10 KB wait in its queue (about 200 KB/s at most, whatever Steam allows). With this switch on, every Steam connection gets its own limits, so one slow player never holds the others back:
    • a new connection starts with a maximum of 256 KB/s and a world-data queue sized for it (100 ms of its maximum, at most 50 KB);
    • a connection that shows packet loss (quality under 95 %), a send queue above 64 KB, or data waiting while the link takes less than half of the allowed speed is lowered one step of 25 % at a time: first back to the game's value (and the game's 10 KB queue), then its minimum down to 64 KB/s, so a weak link gets less at once instead of falling behind;
    • after 30 s of good quality it climbs back slowly; a connection that really needs more (sending at 85 % of its maximum with a full queue and good quality) goes up in 25 % steps, never above 512 KB/s;
    • it reads the real values first and steps aside if something else already changed them; turning it off gives every connection the game's values back. The log says which mode is in use (Steam send capacity mode = ...).
  • World data compression (Steamworks only): world-sync messages of 512 bytes or more are compressed between two machines that both run Ultimate QOL, only when the result is at least 10 % smaller. Negotiated first: players without the mod, PlayFab sessions and consoles keep the normal messages. Every frame is checked (length and checksum) before it reaches the game.
  • Smart monster management: every player gets a health from 0 to 1, the worst of the connection (ping and jitter, packet quality, silence) and the performance of their game (players with the mod report it: average FPS 60+ = 1, 30 = 0.6, 20 = 0.3, 15 or less = 0, halved by frequent hitches; a few bytes, only when it changes). When the owner of nearby monsters stays under 0.45 for 10 s (about 25 FPS, frequent hitches or a bad connection), the monsters go to a nearby player with health 0.8 or more, at least 0.3 better, within 48 m, already up to date and with at most 15 monsters; the healthiest wins. A stable 30 FPS player with a good connection is fine and keeps them (monsters are simulated at a fixed rate, so moving them would only cost an AI restart). Monsters that are fighting move only when the owner is really bad (under 0.3 for 10 s, or 8 s without a game ping). Never bosses or tamed animals; a monster changes owner at most once every 30 s; a player who just received monsters is not judged on performance for 30 s; loading, teleporting and the first seconds after spawning are never graded (a game in the background IS graded: if it runs slowly there, its monsters really lag for the others). Only the machine that runs the world decides; players without the mod are judged by connection only. The players list shows each player's FPS and performance grade.
  • Players list (admins only). The page lists every connected player, best connection first, with a bar from green (excellent) to red (very weak), ping, packet quality, silence (seconds without a game ping), send queue, the Steam send limit in force for that player and the speed it is sending at. It is read only while the page is open (about every 4 s); with the page closed nothing is measured or sent.
  • Each switch steps aside when another networking mod already patches the same game methods (written to the log). ultimateqol_stats prints what each part actually did, so you can compare with the switch off and on.
  • What it does not fix: the FPS of each player's own computer (rendering, huge bases), the CPU of the server and the size of the world. On a quiet server with few players the vanilla limits are not reached and the gain is small.
  • Server upload: raising the limit only lets this machine send faster. Several players at a high rate need a matching upload on the server's line (10 players at 256 KB/s β‰ˆ 20 Mbit/s); on a weak home connection the system sees the packet loss and lowers itself, but the gain is small.
  • Do not combine with other network mods (better networking, compression, send-rate or ownership mods): Ultimate QOL steps aside when it detects their patches, but two of them on the same connection is never a good idea.

Admin panel

F3 (the Panel key, changeable on the Panel and notifications page; personal, never synchronized) or the console command ultimateqol_config. Admins see and change every option (each one has a help text with default, range and examples); other players get the public pages of Bosses and progression, read only. Changes apply instantly: toggles on click, sliders on release, numbers on Enter. Search box (top of the sidebar): type anything and the matching options appear on the right, as the real option cards, so they can be changed right there; a click on a page row or on an option's title opens that page with the option on screen (it glows for a moment). Enter opens the best result, Esc empties the box. The search ignores accents and upper case, finds words by their beginning, accepts several words in any order, forgives one typing mistake in longer words, also finds options by their English name and by their .cfg key, and works in all 15 languages (Chinese, Japanese and Korean through the system's input method, matching any part of the text). Players who are not admins only find what they can see. It costs nothing while the panel is closed. If Ultimate SCM is installed, the panel is registered there automatically. Integration page – the very first entry of the list (above Management), in its own IGAO group and always shown. Installed mods with a panel (Ultimate SCM itself and every compatible mod registered through its API, such as OdinBet) get a card with the mod's icon, name, version and description; Open closes this panel and opens that mod's panel. OdinBet ForgeOfPotential and Steam Achievements And Discoveries are always listed: when one is not installed its card shows a game picture (forge / trophy) and Open opens the mod's web page. Panels for admins only are shown only to admins. Admins can also edit the .cfg on the server while it runs – changes are reloaded and synchronized live.

Languages

15 JSON files in plugins/Translations/<Language>.json (English fallback).

Performance

  • No polling scans: containers and ground items register themselves when they load (the ground sweep and cleanup work from that list, with a time budget and back-off); the only whole-world pass is the optional, sliced world cleanup. Containers register themselves when loaded and searches are a distance check over that list, only when an action needs it.
  • Nearby material totals are cached and invalidated by container changes.
  • Settings: one snapshot on join, then only the changed value.
  • Hooks that run every frame only read a flag while their option is off; every feature that is off costs practically nothing.
  • Main multiplayer lag sources and what covers them: send limits and queue of the network (adaptive send capacity), uncompressed world data (compression), monsters owned by a player with a weak connection or computer (smart monster management), save hitches (save without freezing), items piling up on the ground (cleanup), animal overpopulation (animal limits), support calculation of big bases (no collapse), idle stations (event scheduler).