Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
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.
| Date uploaded | a day ago |
| Version | 0.12.2 |
| Download link | Wubarrk-Alice-0.12.2.zip |
| Downloads | 12 |
| Dependency string | Wubarrk-Alice-0.12.2 |
This mod requires the following mods to function
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.2360README
🐇 Alice
Alice in Wonderland: Alice is the client, Wonderland is the server. "Curiouser and curiouser," said the Viking, as the smelter told her it had been fed twelve seconds ago.
Wonderland already does the work. Alice lets you see it, and steer it.
Alice is an optional PC mod for players on servers that run Wonderland. Wonderland 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 single player, or with Enabled = false, the game is plain vanilla.
Everything here is new: the whole companion, in one first release.
| You | It |
|---|---|
| Look at a fire, smelter or kiln | its hover text says whether the server is feeding it, and what it last did |
| H · Shift+H · Ctrl+H | switch the whole station, just its fuel, or just its ore |
| Ctrl+P | opens the production panel: every station around you, with a switch for each |
| Craft or build | materials in nearby chests count, drawn in blue; nothing is added to your inventory |
| Ctrl+K at a chest | sets what the server's vacuum puts in it, and how far it reaches |
| Press E at a chest | it opens first time, and at its full size from the first frame |
🧲 Your drops handed to the vacuum at once · 💾 Your character saved after a chest craft · 📊 A few numbers for the server's Discord bot, only if you say yes
| If… | Then… | |
|---|---|---|
| 🏰 | your server does not run Wonderland 1.12.0 or newer with its Alice link on | Alice stays dormant and your game is vanilla. The owner switches it on with AliceLinkEnabled (section 20 - Alice Link, off by default). |
| 🛑 | you run another mod that changes how crafting counts materials | do not run it alongside Alice. |
| 🔌 | you also run client mods that use ServerSync or Jotunn | a server that enforces vanilla clients still refuses those. That is the server's setting, not Alice's: Alice itself uses neither. |
| 🎮 | you play on console | you cannot install mods, and nothing changes for you. |
Nothing in the left column ever depends on the right one.
| 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. |
Know what every fire, smelter and kiln is doing, and switch it from where you stand.
| You | It |
|---|---|
| Look at a station | Auto-supply ON · fed 12 s ago and the keys: 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 |
| H | switches the whole station |
| Shift+H · Ctrl+H | just its fuel · just its ore, so you can hand-feed a smelter something precious while the fuel stays automatic |
| Ctrl+Shift+H · Ctrl+Shift+J | every station within 20 m off · back on (like /thumbsup, this also resets the fuel/ore-by-hand choices) |
| Ctrl+P | the production panel |
📖 Read the saga — the panel, and why two players never fight over a switch
The production panel lists every fireplace, smelter and kiln within 32 m of you (PanelRadius, capped by the server): 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. All off, All on, Kilns off and Kilns on work on 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. The panel refreshes by itself, works like the inventory while it is open (your cursor is free and the game does not read the mouse or keyboard), and closes with the same key, with Esc, or when you leave the server. PanelScale sizes it.
A kiln takes only wood, and a fire only fuel, so each shows, and answers to, only the half it has (a kiln's wood switch is Ctrl+H).
A key press means "make it the opposite of what I am looking at", sent as a setting rather than a flip. Two players pressing together, or a slightly stale hover, still end where they meant. Switching a station back on keeps your fuel and ore choices.
The chests around you are part of your pack, and nothing ever leaves them by mistake.
| 🔵 Blue numbers | a requirement that will come from chests is drawn in blue, with the chest count in its tooltip |
| 🔨 Crafting and upgrading | the server sets the missing materials aside when you press craft |
| 🧱 Building | one placement's materials are held while a piece is selected, so placing stays instant |
| ↩️ Changed your mind | cancel, close the window, change piece, put the hammer away or lose the connection: they go back to the chests |
| 💾 Saved for you | your character is saved a few seconds after a craft that used chest materials |
📖 Read the saga — why nothing can be lost or doubled
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. A craft or placement only goes ahead if your inventory plus what the server is holding really covers the cost. Alice never destroys an item.
Building waits until a piece has stayed selected for half a second, so scrolling through the hammer menu costs nothing.
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, say) is declined up front, with the numbers, instead of running out at the end; ask the server owner to raise AliceLinkEscrowSeconds. A reply that arrives after Alice stopped waiting is handed straight back.
Why it saves your character. 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, and skips it when the game's own free-disk-space check says there is not enough room, exactly as the autosave does. Turn it off with SaveAfterChestCraft.
If a game update ever changes how the game takes materials, Alice notices that what was taken is not exactly the cost, switches crafting and building from chests off for that session, says so in the BepInEx log, and hands everything back.
What you drop goes where it belongs, at once, and you see it land.
| 🤝 Handed over at once | your drops and mined items go straight to the vacuum, instead of waiting out the server's settling hold |
| 👀 It looks at what you just made | mining, chopping, kills and drops tell the server at once instead of waiting for its next pass |
| 📬 You see where it went | Vacuum: +12 Wood, +5 Stone -> Chest when items land in a chest near you |
| ⚙️ Per-chest settings (Ctrl+K) | collect from the ground on or off · what it collects · how far it reaches |
📖 Read the saga — the hand-over, and the chest settings
Why the hand-over helps. 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 nudge is a hint, at most once a quarter second; VacuumNudge turns it off. VacuumToasts turns the messages off.
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, and 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).
- 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.
No more "press E twice", no more chests that grow when you put something in the bottom row.
| 📦 Full size 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 at once |
| 🚪 Opens first time | if a chest has not opened a moment after you press E (a lost request), Alice asks the server to hand the chest to you, and opens it |
A few numbers for the server's Discord bot, and nothing at all unless you answer Share.
| ❓ Asked once | on a server whose owner has switched it on: Share on this server, Not on this server or Never share. Close the window without answering and it asks again next session |
| 📊 What is sent | how much your crafting, building, kills, bosses, trees felled and boss last hits rose since you joined, about once a minute, plus your best skill and the total of your skill levels |
| 🚫 Never sent | where you are, what you carry, your name beyond the one the server already knows, or anything else |
| ↩️ Change your mind | set a server to no and Alice asks that server to forget your numbers the next time you join it |
📖 Read the saga — why a mod sends anything at all
Some Wonderland servers 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: kills are on the list because only your own game counts all of them, and a server cannot.
What is sent is only how those counters rose since a baseline taken when the link came up, and only when something changed. A report the server acknowledges moves the baseline by exactly what it carried; a game crash loses at most one interval. Alice only reads; it changes nothing in your game.
The 7 - Sharing section of the config shows your answer per server (address=yes / address=no, editable). ShareStats = Never shares with nobody; Always shares with every server that offers it, except the ones you said no to.
First ten minutes: install with a mod manager, or put Alice.dll in BepInEx/plugins → join a Wonderland server → look at a smelter and press H → Ctrl+P → craft something with the wood in the chest beside you.
| Key | Key | ||
|---|---|---|---|
| H | switch a station | Ctrl+Shift+H | every station near you off |
| Shift+H | its fuel only | Ctrl+Shift+J | every station near you on |
| Ctrl+H | its ore only (a kiln's wood) | Ctrl+P | production panel |
| E | open a chest, first time | Ctrl+K | a chest's vacuum settings |
Alice's keys are all rebindable in its config; E is the game's own.
🔗 Check that Alice is linked
The BepInEx log says Linked to Wonderland ... when the server has accepted Alice. If it never does, the server is not running Wonderland 1.12.0 or newer with AliceLinkEnabled on, and Alice is staying out of the way. VerboseLogging logs every link message and decision, for bug reports.
🏰 Switch it on for your server (server owners)
In Wonderland's config, section 20 - Alice Link, set AliceLinkEnabled = true (off by default). Players without Alice are untouched. AliceLinkEscrowSeconds is how long a crafting reservation is held.
| Works without Alice | Needs Wonderland on the server, Alice link on | Turns on only when the server offers it |
|---|---|---|
| everything Wonderland does, for every player on every platform | everything Alice does | crafting and building from chests · vacuum hand-over and chest settings · sharing numbers |
📖 Read the saga — how the link works, and why vanilla enforcement lets it through
Alice talks to Wonderland through two messages the server itself registers, and only after the server has spoken first: the server advertises, Alice answers, the server switches the features on. Only the server is believed (a message from anyone else is dropped), and every message is read defensively.
Alice uses no ServerSync and no Jotunn, on purpose: a Wonderland server that enforces vanilla clients kicks a client that answers those frameworks' probes, and Alice never does.
Gameplay settings (ranges, which features are on) belong to the server and reach Alice when it connects; the radii Alice offers are capped by the server.
| 🛑 Other mods that change how crafting counts materials | Do not run them alongside Alice. |
| Wonderland | 1.12.0 or newer, with AliceLinkEnabled on. On an older Wonderland, or with the link off, Alice stays dormant. Alice's version number follows Wonderland's: this Alice is built for Wonderland 1.12. |
| Client mods using ServerSync or Jotunn | Still refused by a server with vanilla enforcement on; that is the server's setting, not Alice's. |
| Platforms | Valheim 1.0 on PC: Steam, Steam Deck, Linux. Console players cannot install mods and are unaffected. |
BepInEx/config/wubarrk.alice.cfg, local to your game. Nothing here changes what the server does. Alice has no server-synced settings: the server's own Wonderland config decides what is offered.
🖥️ Local to your game — yours alone
| Section | Setting | What it does |
|---|---|---|
| 1 - General | Enabled |
master switch; off = the game is vanilla. Read once at start-up (restart to change it) |
| 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: 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 |
| 7 - Sharing | ReportedStatsServers · ReportedStatsSent |
your answer per server (address=yes;address=no, editable) · the servers Alice has reported to (managed by Alice) |
Needs: BepInExPack Valheim 5.4.2360 · a server running Wonderland. Install with a mod manager, or unzip into BepInEx/plugins.
A Valheim mod by Raven Iron — ravenirongames.com. Bug reports welcome on Discord.
CHANGELOG
Changelog
0.12.2 - Store page
- Store page only: the README was rewritten to the new layout and is now the same on every store, and the website link now goes to https://ravenirongames.com/.
- No change to the mod:
Alice.dllis the same file as in 0.12.1.
0.12.1 - Valheim 1.0.21
- Rebuilt and checked against Valheim 1.0.21 (network version 41). No behaviour change; every game hook Alice uses still resolves.
- Website link moved to https://www.rossgilsonlabs.dev.
- Needs BepInExPack Valheim 5.4.2360.
0.12.0 - Initial public release
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.
Hswitches the whole station,Shift+Hits fuel only,Ctrl+Hits 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+Hswitches every station within 20 m off at once andCtrl+Shift+Jback 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 = falseturns that off.
-
The production panel.
Ctrl+P(ProductionPanelKey) opens a window listing every fireplace, smelter and kiln withinPanelRadius(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 withQueryStationsevery 2 s while open; stations beyond the server'sStationRangeare shown but not switchable. Built in the shared gilt-frame IMGUI theme (libs-Tools/SharedUI), modal like the inventory (cursor free, game input stopped throughUIFocus), closed by the same key, by the game menu or when the link ends.PanelScalesizes 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 indocs/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 andPlayer.AutoPickupwould 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.Awakenotes ground items this client owns and created in the last 2 s; ids are batched (<= 16, one request per 250 ms, fire and forget) intoVacuumNudge.VacuumNudge = falseturns it off. - Messages.
Push VacuumMoved(sent only after a real chest write) becomesVacuum: +12 Wood, +5 Stone -> Chest(grouped by chest, at most one toast per half second).VacuumToasts = falseturns 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 withQueryContainerPrefswhen the window opens; each change is oneSetContainerPrefswith 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.
- Hand-over. The server offers a ground stack this client owns (
-
Sharing a few numbers with the server's Discord bot (
ShareStats, section7 - 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 indocs/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'sReportMinSeconds(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 tono, orShareStats = Never) sendsClearReportedStatsonce to each server Alice has reported to (ReportedStatsSent). Read-only on the game's side.
Changed
SaveAfterChestCraftnow 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.Enabledis documented as read once at start-up (a restart is needed to change it).
Compatibility
- Valheim 1.0 on PC. Wonderland 1.12.0 or newer with
AliceLinkEnabledon (config section20 - Alice Link, off by default). - Needs BepInExPack Valheim 5.4.2351.