Sohneg-AllfathersEye icon

AllfathersEye

Your Twitch chatters take over creatures around you, with their name above the creature and an on-screen event feed. Several streamers can play together.

Last updated 3 hours ago
Total downloads 2
Total rating 0 
Categories Mods Server-side Client-side
Dependency string Sohneg-AllfathersEye-0.23.7
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

Allfather's Eye

English · Deutsch · allfatherseye.sohneg.ch · Ko-fi


English

Your Twitch viewers get creatures in Valheim. Somebody writes in chat, and their name attaches itself to a random creature near you and floats above its head:

Troll (xXKevinXx)

Kill it and the soul is free again — the viewer gets a new shape next time they write. No command needed: the first message per viewer and session is enough (TriggerMode = FirstMessage), so everyone gets exactly one creature.

From there it grows: viewers earn points for watching, spend them in a shop that unlocks as your world progresses, and can do it from a Twitch extension instead of chat. Hugin flies in to announce subs and raids.

Quick start

  1. Install the mod for everyone who should see the names.
  2. Only the streamer sets up their channel under 2 - Twitch — either by signing in (recommended) or by typing the channel name.
  3. Everybody else leaves that section empty and simply sees the names.

Settings live in-game under F1 (BepInEx Configuration Manager) or in BepInEx/config/sohneg.AllfathersEye.cfg.

Signing in, or not

Channel name only Signed in
Names, feed, death messages ✅ ✅
Several streamers at once ✅ ✅
The mod answers in chat ❌ ✅
Points, shop, chat commands ❌ ✅
The Twitch extension ❌ ✅

The mod reads chat anonymously — Twitch needs no account for that. Writing needs one. That is the whole difference.

Under 2 - Twitch press "Connect Twitch". Twitch opens in your browser and F1 shows a code to type there.

While streaming: do not show that code, and do not show the Twitch page either — the code is in the address bar too. The mod therefore prints it in the F1 window only, never in the feed, the console or the log.

Credentials live in BepInEx/config/sohneg.AllfathersEye.auth.json, a separate file. If you hand your config to somebody, leave that one out.

Signed in, Channel is set from your account and used even if the field says something else — a typo should not put the mod's greeting into a stranger's chat under your name.

Commands for your viewers

Your viewers cannot see the name; it floats on your screen. So they ask:

kevin: !soul Allfather's Eye: @kevin your soul is inside: Troll

Command What it does
!soul / !seele Which creature holds their soul
!points / !vp Their own balance
!ae-help / !ae-hilfe The list of commands
!ae-help-en / !ae-help-de Force an answer in one language
!shop, !shop blessing|wrath|mischief What is for sale, with prices

Moderators and you also have !ae-give <name> <amount>, !ae-take <name> <amount> and !ae-pause / !ae-resume. An ordinary viewer trying one gets no answer at all — an error message would only reveal that the command exists. Permission comes from the Twitch badge, not from a name list.

Both language spellings always work, whatever you have configured; only the answer follows your language. A bare command never triggers a name, so asking does not spend a viewer's first message.

Answers arrive as a real Twitch reply, at most one per viewer and command every 30 seconds (CommandCooldownSeconds), within a budget of 15 messages per 30 seconds.

Nothing free nearby? The viewer joins a queue and hears about it after three seconds — long enough that a shop full of creatures never produces a needless "please wait". When one frees up, they are told again. Turn both off with AnnounceWaiting.

When a creature dies, the mod tells its viewer directly, naming the viking who struck if there was one (AnnounceDeaths). Only your own channel is written to.

Valheim Points

Viewers earn VP for being there.

For Default
Watching 10 VP every 5 minutes
Writing a message 5 VP, at most every 10 minutes

That is 2.5 VP a minute for somebody who watches and occasionally writes. The weighting is deliberate: most of it comes from watching, so the quiet ones are not left out.

Silent viewers only count if the mod may ask Twitch who is in chat. If you signed in before that permission existed, disconnect and connect once — a scope cannot be added to a token already issued. Until then, "present" means "wrote within the last 15 minutes" (PresenceWindowMinutes).

Rules worth knowing: the first sighting only starts the clock and pays nothing; missed intervals are not paid retroactively; a bare command earns nothing but does count as present; bots never earn (IgnoredUsers), and neither do you (BroadcasterEarns); by default nothing is earned while you are offline (OnlyWhenLive).

Balances live in BepInEx/config/sohneg.AllfathersEye.points.<channel>.json, written every minute and on exit, atomically, keeping the last five states as backups. Somebody with no points who has not been seen for 30 days is forgotten (ForgetAfterDays). Points, once earned, are kept.

The shop

Every purchase hits you — the streamer in whose chat it was triggered.

Odin's Blessing

Command What arrives Price From
!wood / !holz 20 wood 50 start
!food / !essen 3 queen's jam 75 start
!heal / !heilen full health 150 start
!rested / !ausgeruht the Rested buff 100 start
!copper / !kupfer 5 copper ore 100 Eikthyr
!tin / !zinn 5 tin ore 100 Eikthyr
!iron / !eisen 5 scrap iron 200 The Elder
!silver / !silber 5 silver ore 300 Bonemass
!blackmetal / !schwarzmetall 5 black metal scrap 400 Moder

The ores follow the world rather than the purse: silver before Bonemass would be a gift nobody can smelt.

Odin's Wrath

Command What arrives Price From
!necks / !nixen 4 necks 50 start
!greylings / !gräulinge 4 greylings 60 start
!boar / !eber 3 boars 75 start
!greydwarfs / !grauzwerge 4 greydwarves 120 Eikthyr
!skeletons / !skelette 3 skeletons 140 Eikthyr
!raid / !überfall a real Valheim raid 500 Eikthyr
!surtlings / !surtlinge 3 surtlings 180 The Elder
!draugr 3 draugr 200 The Elder
!troll a troll 350 The Elder
!wolves / !wölfe 3 wolves 300 Bonemass
!golem / !steingolem a stone golem 450 Bonemass
!goblins / !fulings 4 fulings 400 Moder
!deathsquitos / !todeskitos 2 deathsquitos 450 Moder
!seekers / !sucher 3 seekers 600 Yagluth
!gjall a gjall 800 Yagluth

A ladder beside the world's own: what Odin throws at you grows as you do. A fresh world offers three of these, a finished one all fifteen. The raid has its own section.

Loki's Mischief

Command What arrives Price
!hares / !hasen 6 hares 25
!piglets / !ferkel 5 piglets 35
!chickens / !hühner 8 chickens 40
!deer / !hirsche 5 deer 40
!wet / !nass you get soaked 50
!cold / !kalt you get cold 60
!smoked / !rauch a lungful of smoke 70
!stones / !steine inventory full of stones 150

The piglets are the long joke: harmless now, a herd of boars in twenty minutes.

How a purchase runs

Checked in this order: shop open → action enabled → not paused → unlocked → player present → (for Wrath) safe → room → cooldowns → enough points. From permanent to temporary, so nobody hears "you need 40 more VP" about something that is switched off anyway.

Charged first, then carried out, refunded at once on failure. Charging first stops two simultaneous purchases both going through. If the action then cannot happen, the points come back in the same moment and the viewer is told why. Nobody pays for nothing, and a failed action starts no cooldown.

Creatures appear 8 to 15 metres away, on solid ground, not under a roof and not inside a player base — checked against Valheim's own workbench and ward zones. They vanish again after 10 minutes (SpawnLifetimeMinutes), except while fighting, and tamed ones stay for good: tame a bought chicken and it is yours.

The guard rails

Rule Default Against
ViewerCooldownSeconds 30 One person steering the whole stream
ActionCooldownSeconds 60 The same thing twice in a row
MischiefCooldownSeconds 120 The cheapest category crowding out the rest
MaxHostileSpawns 8 Bought enemies at once
MaxHarmlessSpawns 20 Separate ceiling, so chickens cannot block a boar
PauseWrathNearBoss on No wrath during a boss fight
WrathMinHealthPercent 35 No wrath below 35 % health, while swimming, or midair

The last two apply to Wrath only. Being healed mid-boss is the point; three boars at 20 % health is a gravestone.

!ae-pause stops the shop only — name assignment keeps running. The bigger switch is Paused in section 1.

The raid

!raid is the one action that does not happen on your machine. A client cannot start a Valheim raid at all, so your game asks the host, who carries it out; Valheim then replicates it to everyone, mod or not.

The host decides using its own config and its own cooldown. If nobody answers within eight seconds the purchase fails and is refunded.

With several players in the world the buyer is asked who to send it at:

kevin: !raid Allfather's Eye: @kevin at whom? A) Mitzikatz B) Psycho kevin: !b

Only the person asked may answer. The question costs nothing and expires silently after 60 seconds.

Two dials: RaidDifficulty (default Gentle) picks a raid one boss tier below your world — annoying, not a wipe. RaidSeconds (default 60) ends it early; what is already there stays, nothing further is sent. 0 lets it run in full.

Which raids exist is Valheim's decision, not the mod's — the same check the game uses for its own. With several players nearby, the weakest decides: a raid counts as available only if everyone is ready for it.

WorldEventCooldownSeconds (default 600) is counted by the host for the whole world, and AllowOtherChannels decides whether another streamer's viewers may trigger world events in your world.

Before you go live: ae shop verify

Item and creature names live in Valheim's asset bundles and cannot be checked at build time. A wrong one would show up by a viewer paying 100 VP for nothing.

 ok   !wood (wood) -> 20 x Wood
 FAIL !copper (copper): item 'CopperOre' does not exist

Run it once after every Valheim update.

The Twitch extension

Viewers can spend their points from a panel over your stream instead of typing commands. It shows their balance, the three categories, and what each costs — buttons go quiet when they cannot afford something, while a cooldown runs, or until the boss that unlocks it falls. Above each tab stands how much of that category your world has opened up: 4/9.

It needs the sign-in, and it needs the extension installed on your channel. The mod finds the backend by itself; there is nothing to configure beyond a status line under 2 - Twitch that says whether it is reachable.

A viewer has to share their Twitch identity with the extension once, and to have written in chat once — points belong to a chat login, and only a chat message ties one to a Twitch id.

allfatherseye.sohneg.ch walks through setting it up with pictures, in English and German, and holds the privacy policy that Twitch links to from the extension.

Telling people it exists. Somebody joining mid-stream never saw the greeting. The bot therefore repeats a reminder every ReminderMinutes (15) in changing words, and twitch-panel.md in this package holds ready-made text for the panels under your stream, in both languages — three small panels or one compact, with every command and price.

Hugin brings the news

Subs, renewals, gifted subs, raids and bits are announced by Valheim's own raven: he flies in, lands beside you and says it. Each kind has a switch under 12 - Hugin, plus a floor for bits (MinimumBits, default 100).

It works with the game's tutorials switched off. A batch of gifted subs is announced once with its total rather than fifty times, and at least GapSeconds (15) pass between two announcements — what falls inside is dropped rather than queued.

Every wording exists in a dozen variants, serious and dry mixed, and the kind is named in brackets so a flavourful line is still legible at a glance:

{viewer} has picked up your trail. (Follow)

Try it without waiting for a real sub: ae raven sub, ae raven raid 42, ae raven cheer 500.

Follows are not in yet: Twitch does not put them on IRC, and they need a second connection. The wordings are already written.

On your screen

The feed in a corner lists who got a creature and whose creature died. Corner, position, width, font size, colour, shadow, line count, lifetime and fade are all configurable in section 6. Position is given as a percentage of the screen, so the same setting lands in the same place on any monitor.

Scope decides what you see: All shows every streamer in the group, OwnOnly just your own channel. Players without the mod notice nothing — Valheim discards unknown network messages silently, so it works over a normal dedicated server too.

Preview and PreviewAnimation at the top of section 6 let you set the feed up without waiting for real chat activity; preview lines are local only and are switched off automatically when you enter a world.

The soul count on the outer edge of the feed says how many souls are out there and how many are waiting. Every client reports only its own channel every three seconds and all of them add up, so a creature is counted once even when two players are looking at it.

Map pins mark every creature carrying a viewer's name, and they follow it rather than sitting where it once was. Nothing is written to your save: when the creature dies, wanders off or unloads, the pin is gone. MapPinLimit (20) caps it.

A sound when a soul moves in. The creature makes its own alert call — the one it makes when it notices you. Nothing is shipped or hard-coded; a creature Valheim adds later brings its own. It plays at the creature, not at you, so it gives away the direction. SoundMinGapSeconds (1.5) keeps several arrivals from becoming noise.

And every couple of minutes, one of them calls out. CallOutMinutes (2) picks a random named creature and plays that same call, so you remember they are out there. 0 turns it off.

Several streamers at once

Expressly supported. Everyone signs in with their own account in their own config. Each instance only names creatures that player owns, so two streamers never collide. A viewer writing in both chats still gets only one creature. ColorPerChannel gives each channel its own colour:

ColorPerChannel = mychannel:#9146FF,herchannel:#FF69B4

Anyone who has the mod but does not stream simply sees all the names, and no connection to Twitch is made at all.

Settings worth knowing

Setting Default Meaning
Channel (empty) Your Twitch channel. Empty = display only
Language Game Follows Valheim: German → German, everything else → English
Paused false Stop assigning without dropping the Twitch connection
Radius 30 Search radius in metres
IncludeTamed true Name tamed animals too
IncludeBosses false Name bosses too
PrefabBlacklist (empty) e.g. Crow,Seagull,Fish1
NameFormat {creature} ({viewer}) Display format
ViewerColor #FFCB52 Colour of the name
ColorPerChannel (empty) One colour per channel
RebirthCooldownSeconds 60 Pause after a death before a new creature
SoundOnAssign true The creature calls out when a soul moves in
CallOutMinutes 2 How often a named creature calls out
MapPins / MapPinLimit true / 20 Pins for named creatures
AnnounceDeaths / AnnounceWaiting true Chat messages for deaths and queueing
ReminderMinutes 15 How often chat is reminded the mod is running
Points → PresencePoints 10 Points for watching
Points → ChatBonusPoints 5 Points for writing
Points → OnlyWhenLive true Only earn while live
Shop → Enabled true The shop at all
Sections 9–11 Price, amount and a switch per action
Section 12 Which events Hugin announces

Everything technical — TriggerMode, cooldowns, bot filters, feed Scope, font choice — sits under "Advanced settings" in F1.

"Reset all creatures" under 1 - General takes the name off every loaded creature, not just the ones in range, and lets every viewer have another one. Creatures belonging to another player are left alone. ae clear all does the same; ae clear <name> frees a single viewer.

The mod binds no keys.

Console commands

Open the console with F5. No devcommands needed.

Command What it does
ae status Connection, queue, creatures free for a name
ae nearby Nearby creatures and why they do (not) qualify
ae test [name] Give the nearest free creature a test name
ae fake <user> [text] Simulate a chat message, e.g. ae fake kevin !soul
ae clear [name|all] Remove one name or all of them
ae feed Play the feed test sequence
ae fonts List fonts for GameFontName
ae sound Play the nearest creature's alert call
ae raven <sub|resub|gift|gifts|raid|cheer> [n] Send Hugin with made-up news
ae points [<login> [amount]] Balances; a negative amount takes points away
ae shop [verify|<command>] Shop overview, name check, or run an action free
ae tier <0-5|off> Pretend the world is at boss tier N
ae twitch [connect|disconnect] Manage the Twitch sign-in
ae debug [on|off] Verbose logging
ae pause / ae resume Stop and resume assigning
ae reconnect Reconnect to Twitch

ae points kevin 2000 is the quick way to test something without waiting five minutes per payout. ae tier 0 shows the "not unlocked yet" answer even in a finished world — it only pretends, and never writes to your world's global keys.

Trouble

  • Nothing happens. ae status shows whether the connection is up and whether any creature nearby is free for a name. free for a name: 0 means the bodies are the problem, not the mod.
  • No connection. The link to Twitch is always encrypted and the certificate is always checked; there is deliberately no setting for that. If the log shows a certificate error, Twitch probably changed CA — please report it.
  • More detail. ae debug on logs every chat message and every assignment attempt. It resets when the game restarts.

Good to know

  • The name appears above the head as soon as you aim at the creature — Valheim's normal behaviour for the enemy HUD. Bosses are always visible.
  • Names from chat are reduced to A-Z, a-z, 0-9 and _, so nobody can smuggle rich text like <size=500> in through their display name.
  • Credentials are never written to the log, the feed or chat.
  • The mod writes exactly two kinds of message into your chat on its own: the greeting when it connects, and the reminder every ReminderMinutes. Everything else is an answer to something a viewer said.

Deutsch

Deine Twitch-Zuschauer bekommen Kreaturen in Valheim. Schreibt jemand im Chat, hängt sich sein Name an einen zufälligen Gegner in deiner Nähe und steht über dessen Kopf:

Troll (xXKevinXx)

Stirbt die Kreatur, wird die Seele wieder frei — und der Zuschauer bekommt beim nächsten Schreiben eine neue Gestalt. Ein Befehl ist nicht nötig: Die erste Nachricht pro Zuschauer und Sitzung genügt (TriggerMode = FirstMessage), damit jeder genau eine Kreatur bekommt.

Darauf baut der Rest auf: Zuschauer verdienen Punkte fürs Zusehen, geben sie in einem Laden aus, der sich mit dem Fortschritt deiner Welt öffnet, und können das statt im Chat auch in einer Twitch-Erweiterung tun. Hugin fliegt heran und meldet Abos und Raids.

Kurzanleitung

  1. Mod bei allen installieren, die die Namen sehen sollen.
  2. Nur der Streamer richtet unter 2 - Twitch seinen Kanal ein — entweder mit Anmeldung (empfohlen) oder nur mit dem Kanalnamen.
  3. Alle anderen lassen die Sektion leer und sehen die Namen einfach mit.

Einstellungen im Spiel über F1 (BepInEx Configuration Manager) oder in BepInEx/config/sohneg.AllfathersEye.cfg.

Anmelden, oder nicht

Nur Kanalname Angemeldet
Namen, Feed, Todesmeldung ✅ ✅
Mehrere Streamer gleichzeitig ✅ ✅
Die Mod antwortet im Chat ❌ ✅
Punkte, Laden, Chatbefehle ❌ ✅
Die Twitch-Erweiterung ❌ ✅

Die Mod liest den Chat anonym mit — dafür braucht Twitch kein Konto. Zum Schreiben braucht sie eins. Mehr ist der Unterschied nicht.

Unter 2 - Twitch auf „Mit Twitch verbinden". Twitch öffnet sich im Browser, und im F1-Fenster steht ein Code, den du dort eingibst.

Fürs Streamen: Zeig diesen Code nicht — auch nicht die Twitch-Seite, denn er steht ebenfalls in der Adresszeile. Die Mod zeigt ihn deshalb nur im F1-Fenster, nie im Feed, in der Konsole oder im Log.

Die Zugangsdaten liegen in BepInEx/config/sohneg.AllfathersEye.auth.json, einer eigenen Datei. Wenn du deine Config weitergibst, lass diese weg.

Angemeldet wird Channel aus deinem Konto gesetzt und auch benutzt, selbst wenn im Feld etwas anderes steht — ein Tippfehler soll die Begrüßung der Mod nicht unter deinem Namen in einen fremden Chat setzen.

Befehle für deine Zuschauer

Deine Zuschauer sehen den Namen nicht; er schwebt auf deinem Bildschirm. Also fragen sie nach:

kevin: !seele Allfather's Eye: @kevin deine Seele steckt in: Troll

Befehl Was er tut
!seele / !soul In welcher Kreatur die eigene Seele steckt
!punkte / !vp Der eigene Punktestand
!ae-hilfe / !ae-help Die Befehlsliste
!ae-help-en / !ae-help-de Antwort in einer bestimmten Sprache erzwingen
!shop, !shop segen|zorn|schabernack Was es gibt, mit Preisen

Moderatoren und du selbst haben zusätzlich !ae-give <name> <menge>, !ae-take <name> <menge> und !ae-pause / !ae-resume. Versucht ein normaler Zuschauer einen davon, passiert gar nichts — eine Fehlermeldung würde nur verraten, dass es den Befehl gibt. Geprüft wird über das Twitch-Abzeichen, nicht über eine Namensliste.

Beide Sprachvarianten werden immer verstanden, egal was du eingestellt hast; nur die Antwort richtet sich nach deiner Sprache. Ein reiner Befehl löst keine Namensvergabe aus — wer fragt, verbraucht also nicht seine erste Nachricht.

Geantwortet wird als echte Twitch-Reply, höchstens alle 30 Sekunden pro Zuschauer und Befehl (CommandCooldownSeconds), insgesamt 15 Nachrichten je 30 Sekunden.

Gerade nichts frei? Dann kommt der Zuschauer in die Warteschlange und erfährt das nach drei Sekunden — lange genug, dass eine Wiese voller Kreaturen nie eine überflüssige „warte bitte"-Meldung erzeugt. Wird eine frei, hört er es wieder. Beides aus mit AnnounceWaiting.

Stirbt die Kreatur, sagt es die Mod dem Zuschauer direkt, mit dem Namen des Wikingers, falls einer zugeschlagen hat (AnnounceDeaths). Geschrieben wird nur in deinen eigenen Kanal.

Valheim-Punkte

Zuschauer verdienen VP dafür, dass sie da sind.

Wofür Standard
Zusehen 10 VP alle 5 Minuten
Eine Nachricht schreiben 5 VP, höchstens alle 10 Minuten

Macht 2,5 VP pro Minute für jemanden, der zusieht und ab und zu schreibt. Die Gewichtung ist Absicht: Der Hauptteil kommt vom Zuschauen, damit die Stillen nicht leer ausgehen.

Stille Zuschauer zählen nur, wenn die Mod Twitch fragen darf, wer im Chat sitzt. Wer sich vor dieser Berechtigung angemeldet hat, muss sich einmal neu verbinden — ein Scope lässt sich an ein bereits ausgestelltes Token nicht nachträglich anhängen. Bis dahin heißt „anwesend" nur „hat in den letzten 15 Minuten geschrieben" (PresenceWindowMinutes).

Regeln, die man nicht erwartet: Die erste Sichtung startet nur die Uhr und zahlt nichts; verpasste Intervalle werden nicht nachgezahlt; ein reiner Befehl verdient nichts, zählt aber als anwesend; Bots verdienen nie (IgnoredUsers) und du selbst auch nicht (BroadcasterEarns); standardmäßig wird nur verdient, während du live bist (OnlyWhenLive).

Die Punkte liegen in BepInEx/config/sohneg.AllfathersEye.points.<kanal>.json, gespeichert jede Minute und beim Beenden, atomar und mit den letzten fünf Ständen als Sicherung. Wer keine Punkte hat und 30 Tage nicht gesehen wurde, wird vergessen (ForgetAfterDays). Wer Punkte hat, bleibt — die sind verdient.

Der Laden

Jeder Kauf trifft dich — den Streamer, in dessen Chat er ausgelöst wurde.

Odins Segen

Befehl Was kommt Preis Frei ab
!holz / !wood 20 Holz 50 sofort
!essen / !food 3 Beerenmarmelade 75 sofort
!heilen / !heal volle Heilung 150 sofort
!ausgeruht / !rested der Ausgeruht-Bonus 100 sofort
!kupfer / !copper 5 Kupfererz 100 Eikthyr
!zinn / !tin 5 Zinnerz 100 Eikthyr
!eisen / !iron 5 Eisenschrott 200 Der Uralte
!silber / !silver 5 Silbererz 300 Knochenwanst
!schwarzmetall / !blackmetal 5 Schwarzmetall-Schrott 400 Moder

Die Erze folgen der Welt und nicht dem Geldbeutel: Silber vor Knochenwanst wäre ein Geschenk, das niemand einschmelzen kann.

Odins Zorn

Befehl Was kommt Preis Frei ab
!nixen / !necks 4 Nixen 50 sofort
!gräulinge / !greylings 4 Gräulinge 60 sofort
!eber / !boar 3 Wildschweine 75 sofort
!grauzwerge / !greydwarfs 4 Grauzwerge 120 Eikthyr
!skelette / !skeletons 3 Skelette 140 Eikthyr
!überfall / !raid ein echter Valheim-Überfall 500 Eikthyr
!surtlinge / !surtlings 3 Surtlinge 180 Der Uralte
!draugr 3 Draugr 200 Der Uralte
!troll ein Troll 350 Der Uralte
!wölfe / !wolves 3 Wölfe 300 Knochenwanst
!steingolem / !golem ein Steingolem 450 Knochenwanst
!fulings / !goblins 4 Fulings 400 Moder
!todeskitos / !deathsquitos 2 Todeskitos 450 Moder
!sucher / !seekers 3 Sucher 600 Yagluth
!gjall ein Gjall 800 Yagluth

Eine Leiter parallel zur Welt: Was Odin dir schickt, wächst mit dir. Eine frische Welt zeigt hier drei Einträge, eine durchgespielte alle fünfzehn. Der Überfall hat weiter unten einen eigenen Abschnitt.

Lokis Schabernack

Befehl Was kommt Preis
!hasen / !hares 6 Hasen 25
!ferkel / !piglets 5 Ferkel 35
!hühner / !chickens 8 Hühner 40
!hirsche / !deer 5 Hirsche 40
!nass / !wet du wirst nass 50
!kalt / !cold dir wird kalt 60
!rauch / !smoked eine Ladung Rauch 70
!steine / !stones Inventar voll Steine 150

Die Ferkel sind der lange Witz: harmlos jetzt, eine Herde Wildschweine in zwanzig Minuten.

Wie ein Kauf abläuft

Geprüft wird in dieser Reihenfolge: Laden offen → Aktion aktiv → nicht pausiert → freigeschaltet → Spieler da → (bei Zorn) sicher → Platz → Wartezeiten → genug Punkte. Von dauerhaft nach vorübergehend, damit niemand „dir fehlen 40 VP" hört, obwohl die Aktion ohnehin abgeschaltet ist.

Erst abbuchen, dann ausführen, bei Fehlschlag sofort erstatten. Vorher abzubuchen verhindert, dass zwei gleichzeitige Käufe beide durchgehen. Geht die Aktion dann nicht, kommen die Punkte im selben Moment zurück und der Zuschauer erfährt, warum. Niemand bezahlt für nichts, und ein Fehlschlag startet keine Wartezeit.

Kreaturen landen 8 bis 15 Meter entfernt, auf festem Boden, nicht unter einem Dach und nicht in einer Spielerbasis — geprüft über Valheims eigene Werkbank- und Ward-Zonen. Nach 10 Minuten verschwinden sie wieder (SpawnLifetimeMinutes), außer sie kämpfen gerade — und gezähmte bleiben für immer: Wer ein gekauftes Huhn zähmt, behält es.

Die Schutzschranken

Regel Standard Wofür
ViewerCooldownSeconds 30 Eine Person steuert nicht den ganzen Stream
ActionCooldownSeconds 60 Dieselbe Sache nicht zweimal hintereinander
MischiefCooldownSeconds 120 Die billigste Kategorie verdrängt nicht alles andere
MaxHostileSpawns 8 Gekaufte Gegner gleichzeitig
MaxHarmlessSpawns 20 Eigene Obergrenze, damit Hühner kein Wildschwein blockieren
PauseWrathNearBoss an Kein Zorn während eines Bosskampfs
WrathMinHealthPercent 35 Kein Zorn unter 35 % Leben, beim Schwimmen oder in der Luft

Die letzten beiden gelten nur für den Zorn. Mitten im Bosskampf geheilt zu werden ist genau der Punkt; drei Wildschweine bei 20 % Leben sind ein Grabstein.

!ae-pause hält nur den Laden an — die Namensvergabe läuft weiter. Das größere Werkzeug ist Paused in Sektion 1.

Der Überfall

!überfall ist die einzige Aktion, die nicht auf deinem Rechner passiert. Ein Client kann einen Valheim-Überfall gar nicht starten, also fragt dein Spiel den Host, und der führt aus; Valheim repliziert ihn danach an jeden, auch an Mitspieler ohne Mod.

Der Host entscheidet nach seiner eigenen Config und seiner eigenen Wartezeit. Antwortet innerhalb von acht Sekunden niemand, gilt der Kauf als gescheitert und wird erstattet.

Sind mehrere Spieler in der Welt, fragt der Bot nach dem Ziel:

kevin: !überfall Allfather's Eye: @kevin auf wen? A) Mitzikatz B) Psycho kevin: !b

Antworten darf nur, wer gefragt wurde. Die Frage kostet nichts und verfällt nach 60 Sekunden stillschweigend.

Zwei Regler: RaidDifficulty (Standard Gentle) wählt einen Überfall eine Boss-Stufe unter deiner Welt — lästig, aber kein Wipe. RaidSeconds (Standard 60) beendet ihn vorzeitig; was schon da ist, bleibt, es kommt nur nichts mehr nach. 0 lässt ihn voll durchlaufen.

Welche Überfälle es gibt, entscheidet Valheim, nicht die Mod — dieselbe Prüfung, die das Spiel für seine eigenen benutzt. Sind mehrere Spieler in der Nähe, entscheidet der Schwächste: Ein Überfall zählt nur als verfügbar, wenn jeder dafür bereit ist.

WorldEventCooldownSeconds (Standard 600) zählt der Host für die ganze Welt, und AllowOtherChannels entscheidet, ob die Zuschauer eines anderen Streamers in deiner Welt Welt-Ereignisse auslösen dürfen.

Bevor du live gehst: ae shop verify

Item- und Kreaturnamen liegen in Valheims Asset-Bundles und lassen sich beim Bauen nicht prüfen. Ein falscher würde sich zeigen, indem ein Zuschauer 100 VP für nichts bezahlt.

 ok   !wood (wood) -> 20 x Wood
 FAIL !copper (copper): item 'CopperOre' does not exist

Einmal nach jedem Valheim-Update laufen lassen.

Die Twitch-Erweiterung

Zuschauer können ihre Punkte in einem Fenster über deinem Stream ausgeben statt im Chat zu tippen. Es zeigt den Punktestand, die drei Kategorien und was was kostet — Knöpfe sind still, wenn man es sich nicht leisten kann, während eine Abklingzeit läuft, oder bis der Boss fällt, der sie freischaltet. Über jedem Reiter steht, wie viel deine Welt davon geöffnet hat: 4/9.

Sie braucht die Anmeldung und die installierte Erweiterung auf deinem Kanal. Das Backend findet die Mod von allein; einzustellen gibt es nichts außer einer Statuszeile unter 2 - Twitch, die sagt, ob es erreichbar ist.

Ein Zuschauer muss einmal seine Twitch-Identität freigeben und einmal im Chat geschrieben haben — Punkte gehören zu einem Chat-Namen, und nur eine Chatnachricht verbindet den mit einer Twitch-Id.

allfatherseye.sohneg.ch führt bebildert durch die Einrichtung, auf Deutsch und Englisch, und dort steht auch die Datenschutzerklärung, auf die Twitch aus der Erweiterung heraus verlinkt.

Darauf aufmerksam machen. Wer mitten im Stream dazukommt, hat die Begrüßung nie gesehen. Deshalb erinnert der Bot alle ReminderMinutes (15) mit wechselndem Wortlaut daran, und im Paket liegt twitch-panel.md mit fertigen Texten für die Panels unter deinem Stream, auf Deutsch und Englisch — drei kleine Panels oder eines kompakt, mit allen Befehlen und Preisen.

Hugin bringt die Neuigkeiten

Abos, Verlängerungen, verschenkte Abos, Raids und Bits meldet Valheims eigener Rabe: Er fliegt heran, setzt sich neben dich und sagt es. Pro Art gibt es einen Schalter unter 12 - Hugin, dazu eine Untergrenze für Bits (MinimumBits, Standard 100).

Es funktioniert auch bei abgeschalteten Tutorials. Ein Schwung verschenkter Abos wird einmal mit seiner Gesamtzahl gemeldet statt fünfzig Mal, und zwischen zwei Meldungen liegen mindestens GapSeconds (15) — was dazwischen ankommt, fällt weg statt sich anzustauen.

Jede Meldung hat ein Dutzend Fassungen, ernst und spöttisch gemischt, und die Art steht in Klammern dahinter, damit eine schöne Zeile trotzdem lesbar bleibt:

{viewer} hat deine Fährte aufgenommen. (Follow)

Ausprobieren, ohne auf ein echtes Abo zu warten: ae raven sub, ae raven raid 42, ae raven cheer 500.

Follows fehlen noch: Die gibt es über IRC nicht, sie brauchen eine zweite Verbindung. Die Texte sind schon geschrieben.

Auf deinem Bildschirm

Der Feed in einer Ecke meldet, wer eine Kreatur bekommen hat und wessen Kreatur gestorben ist. Ecke, Position, Breite, Schriftgröße, Farbe, Schatten, Zeilenzahl, Lebensdauer und Ausblenden sind in Sektion 6 einstellbar. Die Position wird in Prozent des Bildschirms angegeben, damit dieselbe Einstellung auf jedem Monitor am selben Fleck landet.

Scope bestimmt, was du siehst: All zeigt alle Streamer der Gruppe, OwnOnly nur deinen eigenen Kanal. Mitspieler ohne die Mod merken nichts davon — Valheim verwirft unbekannte Netzwerknachrichten kommentarlos, es geht also auch über einen normalen Dedicated Server.

Preview und PreviewAnimation ganz oben in Sektion 6 lassen dich den Feed einrichten, ohne auf echten Chat zu warten; Vorschauzeilen sind rein lokal und schalten sich beim Betreten einer Welt automatisch ab.

Die Seelen-Anzeige am äußeren Rand des Feeds sagt, wie viele Seelen unterwegs sind und wie viele warten. Jeder Client meldet alle drei Sekunden nur seinen eigenen Kanal und alle addieren, damit eine Kreatur einmal zählt, auch wenn zwei Spieler daneben stehen.

Kartenmarker zeigen jede Kreatur mit einem Zuschauernamen, und sie folgen ihr, statt liegen zu bleiben, wo sie mal war. In deinen Spielstand wird nichts geschrieben: Stirbt die Kreatur, zieht sie davon oder wird sie entladen, ist der Marker weg. MapPinLimit (20) deckelt das Ganze.

Ein Ton beim Einzug. Die Kreatur gibt ihren eigenen Alarmlaut von sich — denselben, den sie macht, wenn sie dich bemerkt. Nichts davon ist mitgeliefert oder fest eingetragen; eine Kreatur, die Valheim später hinzufügt, bringt ihren selbst mit. Gespielt wird bei der Kreatur, nicht bei dir, damit er die Richtung verrät. SoundMinGapSeconds (1,5) verhindert, dass mehrere Einzüge zu Lärm werden.

Und alle paar Minuten meldet sich eine. CallOutMinutes (2) wählt eine zufällige benannte Kreatur und spielt denselben Laut, damit du weißt, dass sie da draußen sind. 0 schaltet es ab.

Mehrere Streamer gleichzeitig

Ausdrücklich vorgesehen. Jeder meldet sich in seiner eigenen Config mit seinem eigenen Konto an. Jede Instanz benennt nur Kreaturen, die dem jeweiligen Spieler gehören, so kommen sich zwei Streamer nicht in die Quere. Ein Zuschauer, der in beiden Chats schreibt, bekommt trotzdem nur eine Kreatur. Mit ColorPerChannel bekommt jeder Kanal seine eigene Farbe:

ColorPerChannel = meinkanal:#9146FF,ihrkanal:#FF69B4

Wer die Mod hat, aber nicht streamt, sieht einfach alle Namen mit; es wird dann gar keine Verbindung zu Twitch aufgebaut.

Wichtige Einstellungen

Einstellung Standard Bedeutung
Channel (leer) Dein Twitch-Kanal. Leer = nur Anzeige
Language Game Folgt Valheim: Deutsch → Deutsch, alles andere → Englisch
Paused false Vergabe anhalten, ohne die Twitch-Verbindung zu trennen
Radius 30 Suchradius in Metern
IncludeTamed true Auch gezähmte Tiere benennen
IncludeBosses false Auch Bosse benennen
PrefabBlacklist (leer) z. B. Crow,Seagull,Fish1
NameFormat {creature} ({viewer}) Anzeigeformat
ViewerColor #FFCB52 Farbe des Namens
ColorPerChannel (leer) Farbe je Kanal
RebirthCooldownSeconds 60 Pause nach einem Tod bis zur neuen Kreatur
SoundOnAssign true Kreatur meldet sich, wenn eine Seele einzieht
CallOutMinutes 2 Wie oft sich eine benannte Kreatur meldet
MapPins / MapPinLimit true / 20 Marker für benannte Kreaturen
AnnounceDeaths / AnnounceWaiting true Chatmeldungen bei Tod und Warteschlange
ReminderMinutes 15 Wie oft der Chat erinnert wird, dass die Mod läuft
Punkte → PresencePoints 10 Punkte fürs Zusehen
Punkte → ChatBonusPoints 5 Punkte fürs Schreiben
Punkte → OnlyWhenLive true Nur verdienen, während du live bist
Laden → Enabled true Den Laden überhaupt
Sektionen 9–11 Preis, Menge und Schalter je Aktion
Sektion 12 Welche Ereignisse Hugin meldet

Alles Technische — TriggerMode, Wartezeiten, Bot-Filter, Feed-Scope, Schriftwahl — steht in F1 unter „Advanced settings".

„Alle Kreaturen zurücksetzen" unter 1 - General nimmt allen geladenen Kreaturen den Namen ab, nicht nur denen in Reichweite, und lässt danach jeden Zuschauer wieder eine bekommen. Kreaturen, die einem anderen Spieler gehören, bleiben unberührt. Dasselbe macht ae clear all; ae clear <Name> befreit einen einzelnen Zuschauer.

Die Mod belegt keine Tasten.

Konsolenbefehle

Konsole mit F5 öffnen. Kein devcommands nötig.

Befehl Was es tut
ae status Verbindung, Warteschlange, freie Kreaturen
ae nearby Kreaturen in der Nähe und warum sie (nicht) passen
ae test [Name] Gibt der nächsten freien Kreatur einen Testnamen
ae fake <user> [text] Simuliert eine Chatnachricht, z. B. ae fake kevin !seele
ae clear [Name|all] Einen Namen oder alle entfernen
ae feed Spielt die Feed-Testsequenz ab
ae fonts Listet Schriften für GameFontName auf
ae sound Spielt den Alarmlaut der nächsten Kreatur
ae raven <sub|resub|gift|gifts|raid|cheer> [n] Schickt Hugin mit erfundener Nachricht
ae points [<login> [menge]] Punktestände; negative Menge zieht ab
ae shop [verify|<befehl>] Übersicht, Namensprüfung, oder Aktion ohne Kosten
ae tier <0-5|off> Tut so, als wäre die Welt auf Boss-Stufe N
ae twitch [connect|disconnect] Twitch-Anmeldung steuern
ae debug [on|off] Ausführliches Log
ae pause / ae resume Vergabe anhalten / fortsetzen
ae reconnect Neu mit Twitch verbinden

ae points kevin 2000 ist der schnelle Weg, etwas zu testen, ohne fünf Minuten pro Auszahlung zu warten. ae tier 0 zeigt die „noch nicht freigeschaltet"-Antwort auch in einer durchgespielten Welt — es tut nur so und schreibt niemals in die globalen Schlüssel deiner Welt.

Probleme

  • Es passiert nichts. ae status zeigt, ob die Verbindung steht und ob überhaupt eine Kreatur in Reichweite frei ist. free for a name: 0 heißt: Es fehlen Körper, nicht die Mechanik.
  • Keine Verbindung. Die Verbindung zu Twitch ist immer verschlüsselt und das Zertifikat wird immer geprüft; dafür gibt es bewusst keine Einstellung. Steht im Log ein Zertifikatsfehler, hat Twitch vermutlich die CA gewechselt — dann bitte melden.
  • Mehr Details. ae debug on protokolliert jede Chatnachricht und jeden Vergabeversuch. Setzt sich beim Neustart zurück.

Gut zu wissen

  • Der Name über dem Kopf erscheint, sobald man die Kreatur anvisiert — Valheims normales Verhalten fürs Gegner-HUD. Bosse sind immer sichtbar.
  • Namen aus dem Chat werden auf A-Z, a-z, 0-9 und _ beschränkt, damit niemand über seinen Anzeigenamen Rich-Text wie <size=500> einschleusen kann.
  • Zugangsdaten landen nie im Log, nie im Feed und nie im Chat.
  • Die Mod schreibt von sich aus genau zwei Sorten Nachricht in deinen Chat: die Begrüßung beim Verbinden und die Erinnerung alle ReminderMinutes. Alles andere ist eine Antwort auf etwas, das ein Zuschauer gesagt hat.