Confirm with your password

Alice

Optional PC companion for Wonderland servers: craft and build from nearby chests, a production panel for smelters, kilns and fires, vacuum hand-over and chest settings, bigger chests from the first frame. Does nothing on any other server.

· Website · 💗 Donate

Stars
0
Downloads
23
Version
0.12.0
Updated
Author
Wubarrk
Virus scan
—
Runs on
Client-only
Required by
2 mods

Compatibility

Pairs well with 1

Not required, but they work well together.

Description

🐇 Alice

Valheim Mod Optional Framework Valheim 1.0

Alice in Wonderland: Alice is the client, Wonderland is the server.

Alice is an optional PC client mod for servers that run Wonderland. Wonderland already does its work for every player with nothing installed; Alice lets the players who want to see and steer it do so. Install it or don't: the world behaves the same either way, and every player (Steam, Xbox, PlayStation, Switch) keeps exactly the experience they have today.

Alice does nothing on a server that is not running Wonderland with its Alice link switched on. It never sends a message until the server speaks to it first, so on any other server, in singleplayer, or with Enabled = false, the game is plain vanilla.


With and without Alice

Without Alice (everyone, every platform) With Alice (PC)
🔥 Kilns, smelters, fires The server keeps them fed from nearby chests. /nonono stops a station, /thumbsup starts it again. You see whether it is being fed and what it last did, and switch the whole station, just its fuel, or just its ore with a key - or every station around you at once. The emotes keep working.
📦 Chest size Player-built chests and ship holds have extra rows; the server keeps a stack in the bottom row so your game draws them. The full size is there from the first frame, empty or not.
🚪 Opening a chest Press E; if nothing happens, press E again. If nothing happens within a moment, Alice asks the server to hand you the chest and opens it.
🔨 Crafting and building Materials must be in your inventory. Materials in nearby chests count too, drawn in blue. Nothing is added to your inventory: the server holds them for you and puts them back if the craft or placement does not happen. (Turns on when the server offers it.)
🧲 Vacuum The server moves items lying on the ground into the chests that want them, after a short settling hold. Stacks you drop or mine are handed over at once, you see what went where, and you can set each chest: on or off, what it collects, how far it reaches. (Turns on when the server offers it.)
🏭 Production overview /nonono and /thumbsup switch the station you are next to. One window lists every station around you with its state and a switch for each.

Nothing in the left column ever depends on the right one.


What it adds

🔥 Production

Look at a fireplace, smelter or kiln on a Wonderland server and Alice adds a line to its hover text:

Auto-supply ON · fed 12 s ago
[H] switch [Shift+H] fuel [Ctrl+H] ore

It tells you whether the server's auto-supply is feeding that station, which half (fuel, ore) is on, and what it last did - fed, full, no fuel in reach, no ore in reach, waiting for its owner. The keys switch it, for the whole station or for its fuel or ore alone, so you can hand-feed a smelter with something precious while the fuel stays automatic. A kiln takes only wood, so it has just its wood switch (Ctrl+H), and a fire only its fuel. Ctrl+Shift+H switches every station within 20 m off in one go and Ctrl+Shift+J switches them back on (like /thumbsup, this also resets fuel/ore-by-hand choices). Pressing a key means "make it the opposite of what I am looking at", so two players pressing together still end where they meant.

🏭 The production panel

Ctrl+P opens a window with every fireplace, smelter and kiln within 32 m of you (PanelRadius): its name, how far away it is, whether the server is feeding it and what it last did (fed 4 s ago, no ore in reach...), and a switch for the whole station and for each half it has (fuel and ore; a kiln has only wood, a fire only fuel) - plus All off, All on, Kilns off and Kilns on for the whole list. It is the same switching the hover keys do, laid out where you can see everything at once; a station farther than the server lets you reach is shown but not switchable until you walk closer. It refreshes by itself, works like the inventory while it is open (your cursor is free, the game does not read the mouse or keyboard), and closes with the same key, with Esc, or when you leave the server.

🧲 Vacuum

Wonderland's vacuum already moves items lying on the ground into the chests that want them. With Alice:

  • Your drops and mined items are handed over at once. Without Alice the server has to take ownership of a stack you are standing next to and hold it for a second before it dares move it, because your game could pick it up in that moment. With Alice the server asks, your game says yes (or "that one is mine"), and the stack goes straight into the chest. Alice agrees unless your own pickup is about to take the stack - anything within about 3 metres that your auto-pickup would claim stays yours. Alice never moves, edits or destroys an item: the only thing it does is hand the server ownership of the stack, and the server moves it only once it can see for itself that it now owns it. If anything is unclear the stack simply stays where it is and the server's usual way applies.
  • The vacuum looks at what you just made. Mining, chopping, kills and drops tell the server at once (a hint, once a quarter second at most) instead of waiting for its next pass. VacuumNudge turns that off.
  • You see where it went. A short message when items land in a chest near you: Vacuum: +12 Wood, +5 Stone -> Chest. VacuumToasts turns it off.
  • Per-chest settings (Ctrl+K while looking at a chest, or with its window open): Collect items from the ground on or off; what it collects - only what it already holds (today's behaviour), a list of chosen item types (it keeps collecting them after it runs empty - "Learn from contents" fills the list from what is inside), or everything nobody else wants (a sink chest, always ranked below any chest that matches); and the chest's own reach. The settings are stored by the server, not in the chest, so nothing about the chest or its contents changes; only players who may open the chest can change them, and players without Alice see only the effect.

📊 Sharing a few numbers with the server's Discord bot (only if you say yes)

Some Wonderland servers can show members things like who crafts the most or what is Cara's best skill through a Discord bot. Wonderland measures most of that itself, for everyone. A few numbers only your game knows, so, on a server whose owner has switched it on, Alice asks you once: how many things you have crafted and built, how many creatures and bosses you have killed, how many trees you felled, your boss last hits, and your best skill (kills are on the list because only your own game counts all of them - a server cannot). Nothing is sent unless you answer Share. What is sent is only how those counters rose since you joined, about once a minute, plus your best skill and the total of your skill levels - never where you are, what you carry, your name beyond the one the server already knows, or anything else. Change your mind whenever you like: the Sharing section of the config shows your answer per server (address=yes / address=no); setting a server to no makes Alice ask that server to forget your numbers the next time you join it. ShareStats = Never shares with nobody, Always with every server that offers it except the ones you said no to.

📦 Chests

  • Full-size chests from the first frame. Wonderland gives player-built chests and ship cargo holds extra rows. A vanilla client only learns a chest is taller once a stack sits in the bottom row; Alice is told the size and builds the whole grid immediately.
  • Chests that open first time. If a chest has not opened a moment after you press E (a lost request, the "press E twice" case), Alice asks the server to hand the chest to you and opens it.

🔨 Crafting and building from chests

Crafting, upgrading and placing pieces count the materials in player-built chests near you. A requirement that will come from chests is drawn in blue, with the chest count in its tooltip. Nothing is added to your inventory: when you start a craft, or while you hold a piece selected with the hammer, the server sets the missing materials aside, and when the game takes its materials Alice takes only your inventory's share. Change piece, put the hammer away, cancel the craft, close the window or lose the connection and they go back to the chests. Alice never destroys an item, and a craft or placement only goes ahead if your inventory plus what the server is holding really covers the cost.

  • How long the server holds a craft's materials is the server's setting. A craft that would take longer than that (a high-quality upgrade) is declined up front with the numbers; ask the server owner to raise AliceLinkEscrowSeconds.
  • Your character is saved after a craft that used chest materials. The chests change the moment you craft, but your character is only written to disk at the game's 30-minute autosave, so a game crash in between would leave the chests short while your character forgets the craft (the same thing happens if you carry items out of a chest by hand and the game crashes). Alice asks the game to save a few seconds after such a craft, never more than once every 20 seconds. Turn it off with SaveAfterChestCraft.
  • If the game ever starts consuming materials differently from what Alice reserved for (a game update), Alice switches crafting and building from chests off for that session, says so in the BepInEx log, and hands everything back.

Compatibility

  • Valheim 1.0.17, PC (Steam, Steam Deck, Linux). Console players cannot install mods and are unaffected.
  • Wonderland 1.12.0 or newer with its Alice link on: config section 20 - Alice Link, AliceLinkEnabled (off by default). On an older Wonderland, or with the link off, Alice stays dormant.
  • Alice uses no ServerSync and no Jotunn, on purpose: a Wonderland server that enforces vanilla clients kicks a client that answers those frameworks' probes. Alice only talks to the server through two messages the server itself registers, and only after the server has spoken first.
  • Other client mods that use ServerSync or Jotunn are still refused by a server with vanilla enforcement on - that is the server's setting, not Alice's. Do not run Alice alongside another mod that changes how crafting counts materials.

Configuration

BepInEx/config/wubarrk.alice.cfg, local to your game. Nothing here changes what the server does.

Section Setting What it does
1 - General Enabled Master switch. Off = the game is vanilla.
1 - General VerboseLogging Log every link message and decision (for bug reports).
2 - Production ProductionEnabled, ShowStationStatus The hover line and the keys.
2 - Production ToggleStationKey, ToggleFuelKey, ToggleOreKey Default H, Shift+H, Ctrl+H.
2 - Production AllOffKey, AllOnKey, BulkRadius Default Ctrl+Shift+H / Ctrl+Shift+J, 20 m: switch every station around you off or on at once.
2 - Production ProductionPanelKey, PanelRadius Default Ctrl+P, 32 m: the production panel and how far around you it lists.
3 - Containers GrowContainerRows, ReliableOpen Size chests from the server's table; the open fallback.
4 - Crafting & Building CraftFromChests, BuildFromChests Use materials from nearby chests (when the server offers it).
4 - Crafting & Building SaveAfterChestCraft Save your character a few seconds after a craft that used chest materials (default on).
5 - Interface PanelScale Text and window size of Alice's windows (default 1.0; raise it on a high-resolution screen).
6 - Vacuum VacuumCooperation Hand ground stacks to the server's vacuum when it asks, and use the chest settings (default on).
6 - Vacuum VacuumNudge, VacuumToasts Tell the server about items you just made; show the "+12 Wood -> Chest" message (default on).
6 - Vacuum ChestSettingsKey Default Ctrl+K: a chest's vacuum settings.
7 - Sharing ShareStats Ask (default: once per server), Always or Never: whether Alice shares a few numbers with a server's Discord bot.
7 - Sharing ReportedStatsServers, ReportedStatsSent Your answer per server (address=yes;address=no, editable) and the servers Alice has reported to (managed by Alice).

Gameplay settings (ranges, which features are on) belong to the server and reach Alice when it connects.

Installation

  1. Install BepInExPack Valheim (the Valheim 1.0 pack, 5.4.2351).
  2. Drop Alice.dll into BepInEx/plugins.
  3. Join a Wonderland server. The BepInEx log says Linked to Wonderland ... when the server has accepted Alice.

A Valheim mod by Raven Iron.

Changelog

0.12.0 Latest

Alice is the optional PC companion for servers running Wonderland. Everything it does is something the server already does for every player; Alice lets the players who install it see and steer it. Nobody is required to install it, and a player without it keeps exactly the experience they have today. The version number follows Wonderland's: Alice 0.12 is built for Wonderland 1.12.

Added

  • The link. Alice talks to Wonderland through two messages the server itself registers, and only after the server has spoken to it first: the server advertises, Alice answers, the server switches the features on. On a server that is not running Wonderland with its Alice link on, in singleplayer, or with Enabled = false, Alice does nothing at all and the game is vanilla. Only the server is believed (a message from anyone else is dropped), every message is parsed defensively, and Alice uses no ServerSync or Jotunn, so Wonderland's vanilla-client enforcement lets it through.

  • Production. Look at a fireplace, smelter or kiln and the hover text gains a line: whether the server's auto-supply is feeding it, which half (fuel, ore) is on, and what it last did - fed, full, no fuel in reach, no ore in reach. H switches the whole station, Shift+H its fuel only, Ctrl+H its ore only (all rebindable). A key press means "make it the opposite of what I am looking at" and is applied as a set, so two players pressing together, or a slightly stale hover, still end where they meant; switching the station back on keeps your fuel and ore choices. A kiln takes only wood and a fire only fuel, so each shows (and answers to) only the half it has. Ctrl+Shift+H switches every station within 20 m off at once and Ctrl+Shift+J back on (BulkRadius, capped by the server).

  • Chests. Player-built chests and ship cargo holds have their full grown size from the first frame, empty or not, instead of waiting for the server to park a stack in the bottom row (heights only ever grow; widths are never touched). A chest that does not answer within 0.6 s of pressing E is handed to you by the server and opened.

  • Crafting and building from chests (switches on when a Wonderland that offers them connects). Crafting, upgrading and placing pieces count the materials in player-built chests near you; requirement numbers that will come from chests are drawn in blue. Nothing is ever added to your inventory: the server holds the missing materials for you, and when the game takes its materials Alice takes only your inventory's share and lets the server use the rest. Crafting reserves when you press craft; building keeps one placement's materials held while a piece is selected, so placing stays instant (a piece must stay selected for half a second first, so scrolling through the hammer menu costs nothing). If a craft is cancelled, the window closed, the piece changed, the hammer put away, the reservation runs out or the connection drops, the materials go back to the chests. Alice never destroys an item.

    • Safety nets. A craft that would take longer than the server holds the materials (a high-quality upgrade on a short hold) is declined up front, with the numbers, instead of running out at the end. A reply that arrives after Alice stopped waiting is handed straight back. Alice checks that the materials the game takes are exactly the cost, and if a game update ever changes how the game takes them, Alice switches crafting and building from chests off for that session and says so in the log, rather than let anything come out wrong.
    • Saving. The chests change the moment you craft, but your character is only written to disk when the game autosaves (every 30 minutes), so a game crash in between would leave the chests short while your character forgets the craft - the same exposure as carrying the items out of the chest by hand. After a craft that used chest materials Alice asks the game to save your character a few seconds later (never more than once every 20 s). SaveAfterChestCraft = false turns that off.
  • The production panel. Ctrl+P (ProductionPanelKey) opens a window listing every fireplace, smelter and kiln within PanelRadius (32 m, capped by the server) with its name, distance, state and the server's last note, three switches per station (station / fuel / ore: the very same idempotent sets the hover keys send) and All off / All on / Kilns off / Kilns on for the list. It reads the list with QueryStations every 2 s while open; stations beyond the server's StationRange are shown but not switchable. Built in the shared gilt-frame IMGUI theme (libs-Tools/SharedUI), modal like the inventory (cursor free, game input stopped through UIFocus), closed by the same key, by the game menu or when the link ends. PanelScale sizes it.

  • Vacuum cooperation (switches on when a Wonderland that offers it connects; VacuumCooperation). Link protocol additions (still version 1): ops 48-51, push events 3-5, param keys 7-9, layouts in docs/M3-VACUUM-WIRE.md.

    • Hand-over. The server offers a ground stack this client owns (Push ReleaseOffer, up to 16 per message); Alice judges each stack in the frame the push is handled and answers once (ReleaseAnswer). Release = ZDO.SetOwner(server) + ForceSendZDO, then both revisions read back for the server's proof; nothing else is touched. Refused with a reason: PlayerOnIt (the stack is within the auto-pickup range plus a 0.75 m collider margin of the player and Player.AutoPickup would claim it - it asks for ownership back BEFORE it looks at bag room, so releasing there only starts a tug of war - or the player pressed E and is waiting for it), Gone, NotOwner, Busy (no loaded object, no player, dead, teleporting, link not ready). If an answer cannot be sent Alice judges nothing. The decision is a pure function (Vacuum/ReleaseRules.cs) swept over every combination in the tests.
    • Nudge. A postfix on ItemDrop.Awake notes ground items this client owns and created in the last 2 s; ids are batched (<= 16, one request per 250 ms, fire and forget) into VacuumNudge. VacuumNudge = false turns it off.
    • Messages. Push VacuumMoved (sent only after a real chest write) becomes Vacuum: +12 Wood, +5 Stone -> Chest (grouped by chest, at most one toast per half second). VacuumToasts = false turns it off.
    • Chest settings (ChestSettingsKey, Ctrl+K, looking at a chest or with its window open): collect on/off, mode (only what it already holds / chosen list / everything nobody else wants), the chest's reach, and the list with "Learn from contents". Read with QueryContainerPrefs when the window opens; each change is one SetContainerPrefs with a field mask, and the window shows what the server answers it stored. A hover line names the key. Settings live on the server, never in the chest.
  • Sharing a few numbers with the server's Discord bot (ShareStats, section 7 - Sharing; switches on only when a Wonderland that offers it connects, and never sends anything without the player's yes). Link protocol additions (still version 1): ops 64-65, param key 10, layouts in docs/R2-REPORTED-STATS-WIRE.md. The first time such a server welcomes Alice a small window asks once (Share on this server / Not on this server / Never share; closing it without an answer asks again next session); the answer is kept per server in the config (ReportedStatsServers, plain text the player can edit). Reported: DELTAS of the game's own raw per-character counters since a baseline taken when the link came up (crafts and upgrades, pieces placed, trees felled, boss last hits, creatures killed, bosses defeated - kills are reported because a server cannot count them: the creature's owner registers its own player's kill locally) plus the best skill (spaced name, floored level) and the sum of all skill levels, at most once per the server's ReportMinSeconds (60 s; never faster than 30 s) and only when something changed. An acknowledged report moves the baseline by exactly what it carried; a counter that goes down rebaselines silently; no single delta exceeds the server's ceiling of 1,000,000. A crash loses at most one interval. Withdrawing (a server's answer set to no, or ShareStats = Never) sends ClearReportedStats once to each server Alice has reported to (ReportedStatsSent). Read-only on the game's side.

Changed

  • SaveAfterChestCraft now skips the save when the game's own free-disk-space check says there is not enough room, exactly as the game's autosave does.
  • Enabled is documented as read once at start-up (a restart is needed to change it).

Compatibility

  • Valheim 1.0.17 on PC. Wonderland 1.12.0 or newer with AliceLinkEnabled on (config section 20 - Alice Link, off by default).
  • Needs BepInExPack Valheim 5.4.2351.

Full version history & older downloads →

Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2351 · View mod page

Check out the mod page for detailed installation instructions.

2

Install Alice

This mod only needs to be installed on the client.

Download Alice 0.12.0

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.