You are viewing a potentially older version of this package. View all versions.
6Vikings-Loki-1.0.4 icon

Loki

BETA - Each in-game day, Loki imposes a whim on everyone: Feather Day (low gravity, no fall damage), Odin's Feast (food lasts longer) or Hel's Mist (clear view, starred spawns, more loot). French texts. Server and all clients.

Date uploaded 2 weeks ago
Version 1.0.4
Download link 6Vikings-Loki-1.0.4.zip
Downloads 13
Dependency string 6Vikings-Loki-1.0.4

This mod requires the following mods to function

ValheimModding-Jotunn-2.30.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.2
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

Loki

Every new in-game day, the server draws a random whim of Loki and imposes it on everyone until the next day. In-game texts are in French (the announcements can be changed in the settings).

Required on the server and on every player, same version. A player without it, or with another version, is refused at connection.

Written for Valheim 1.0.17, BepInExPack Valheim 5.4.2351 and Jotunn 2.30.2.

The three whims

Whim (name in game) What changes Default
Feather Day (Jour de la Plume) Players only feel part of gravity, and no fall hurts them. gravity × 0.25
Odin's Feast (Festin d'Odin) All food is used up more slowly, so it lasts longer. duration × 2
Hel's Mist (Brume de Hel) The fog lifts: you see further outdoors. Monsters that spawn gain a star, and every monster killed drops more loot. view × 3, +1 star, loot × 2

Good to know

  • The day changes at midnight, when the game's day counter moves on. If you are asleep then, the announcement shows when you wake up, right after "Day N".
  • The announcement reaches every player: a line from Loki in chat, and the whim's name in the middle of the screen. A coloured badge stays next to the character's status effects (Rested, Wet…) while the whim lasts. Someone who joins during the day gets the announcement on arrival.
  • Feather Day. Only players are light; monsters, items, ships and arrows do not change. You jump much higher and stay in the air a long time: a moving ship slides away under your feet, and dodging is not available until you touch the ground again.
  • Odin's Feast. Everything already in your stomach benefits. The next day, the pace is back to normal. Nothing is written into the character.
  • Hel's Mist.
    • The clearer view acts on the game's ordinary fog. The thick mist of the Mistlands stays: it is a separate mechanic of that biome, the mod does not touch it.
    • The star goes to monsters that spawn during that day, in the wild, camps, dungeons and nests. It does not go to bosses, tamed animals and their young, summons, monsters already there, nor (by default) raid monsters. Monsters hatched from an egg, or woken up by another monster's attack, do not get it either.
    • A monster already at 2 stars stays at 2: the game shows nothing beyond.
    • The star is permanent: a monster born during the Mist keeps it on the following days, with a starred monster's health, damage and loot.
    • The loot × 2 applies to every monster killed during that day (bosses and tamed ones excluded). It adds to the bonus the game already gives per star: a monster born during the Mist therefore drops about four times as much as an ordinary one.
    • With Epic Loot (read in its version 0.14.13): it picks its magic items from the monster's stars, so a monster starred by the Mist gives a starred monster's magic loot. The Mist's × 2 does not double these magic items, only the ordinary loot. If a player wears the "Lucky Loot" enchantment, its multiplier applies on top of the Mist's, up to 100 per kind of item.
  • The whim survives a server restart: it is computed again from the world, the day number and the draw settings; nothing is stored. Changing a weight or enabling a whim therefore reshuffles the whole sequence; the current whim stays until midnight, unless the server restarts, in which case it is computed again at once. Right after such a change, the same whim can come up two days in a row.
  • A whim forced with /loki set lives only in the server's memory. While it remembers it, the server avoids drawing the same whim the next day. It forgets if it restarts in between (in single player: if you leave the world) or if an admin then types /loki set aucun; the planned draw then applies, and it can be the same. When the draw only has two whims (enabled, weight above 0) and no calm day, forcing the one that was not planned that day necessarily brings a repeat right after.
  • Time does not pass while the server is empty (the game's own rule): no whim is wasted without players.

Commands

In chat with a slash, or in the F5 console without it. The keywords are French.

Command Effect For
/loki Shows today's whim and its settings. Only you see it. everyone
/loki set plume Forces Feather Day until the next day. admins
/loki set festin Forces Odin's Feast. admins
/loki set brume Forces Hel's Mist. admins
/loki set aucun Stops the current whim. admins
/loki set hasard Draws another whim at random. admins

In single player you are always admin. On a server, your Steam ID (17 digits) must be in the server's admin list, the file adminlist.txt, one ID per line.

Installation

BepInExPack Valheim and Jotunn are needed everywhere, the server included. With a mod manager (Gale, r2modman), installing Loki brings them with it.

The server and all players must get the mod the same day. Until both sides have it, connection is refused with a Jotunn window saying which mod is missing or which version is wrong.

On the server: stop it, put the same LokiSixVikings.dll in its BepInEx/plugins folder (for example in a SixVikings-Loki folder), and start it again. Its log must show Loading [SixVikings Loki 1.0.4]. The server's settings are in BepInEx/config/sixvikings.loki.cfg, created on first start.

Restart the server after any update of the game or the mods. Jotunn's check remembers the players it already accepted: a player whose mods no longer load could come back without Loki until the server restarts. Around them, monsters would then get neither the extra star nor the extra loot.

Settings

File BepInEx/config/sixvikings.loki.cfg. Online, the server's settings apply to all players; each player's own only count in single player.

Section Setting Default Effect
General SansRepetition true The same whim never comes up two days in a row.
General PoidsJourCalme 0 Weight of the "day without a whim". At 0, there is a whim every day.
each whim Actif true false: this whim is no longer drawn.
each whim Poids 1 A weight of 2 comes up twice as often as a weight of 1.
each whim Annonces three texts Announcement texts separated by a vertical bar. Only one shows each day, the same for everyone.
Plume Gravite 0.25 Share of normal gravity: 0.5 = half, 1 = no change.
Festin Duree 2 Food duration multiplier.
Brume Visibilite 3 The game's fog is divided by this number, outdoors only.
Brume EtoilesEnPlus 1 Stars added at spawn. 0 = none.
Brume EtoilesMax 2 Star ceiling.
Brume Butin 2 Loot multiplier for monsters killed.
Brume EtoilesPendantLesRaids false true: raid monsters also get their star.

Uninstall

Remove the mod from the server and all players at the same time. The mod writes nothing into characters; only the word loki remains in the command counter the game keeps itself, with no effect and invisible in normal play. In the world, monsters born during a Mist keep their star until they die.

Checking it works

  • In single player the game is its own server: /loki set plume, /loki set festin and /loki set brume show each effect at once. Sleep through a night to see the whim change (a game day lasts 30 minutes).
  • At startup, the mod logs one line per patch it applies to the game, then a summary: Greffes : 10 posée(s), 0 manquante(s). ("patches: 10 applied, 0 missing"). On a server, that is the first thing to read after installing. A Greffe MANQUANTE line means the game (or the dedicated server program) does not have the targeted method: the mod still starts, only the named effect does not work on that machine. One special case: if the fall protection is the one missing, Feather Day's reduced gravity turns itself off, so that jumps do not become dangerous.
  • Beta. Three test scenarios were played in single player with our test tool on 14.10.2026, with version 1.0.2 (no error in the log): loading, the announcement and badge, /loki set, the food pace during the Feast, double loot on 21 monsters and three starred spawns during the Mist, midnight after a forced whim, coming back to the world, a character's death, three midnights without a repeat, a two-day skip, and falls of 100 m and 400 m on a Feather Day with no damage. The falls were played again with this version 1.0.4. Not tested yet: sending the whim from a dedicated server to the players, a path that only exists against a remote server. Not judged by hand either: how the jump feels, the Mist's clearer view, the announcement on waking after a real night's sleep.

Made by San Tiépi (team 6Vikings). Feedback and bug reports: Discord 6Vikings Mods, forum #bugs: give the mod's version, what happened, and your BepInEx\LogOutput.log file. The full original text, in French, follows.


SixVikings-Loki

Mod Valheim. À chaque nouveau jour en jeu, le serveur tire au hasard un caprice de Loki et l'impose à tout le monde jusqu'au jour suivant.

Contrairement à Saga, ce mod doit être installé sur le serveur ET chez chaque joueur, à la même version. Un joueur qui ne l'a pas, ou qui a une autre version, est refusé à la connexion.

Écrit pour Valheim 1.0.17, BepInExPack Valheim 5.4.2351 et Jotunn 2.30.2.

Les trois caprices

Caprice Ce qui change Réglage par défaut
Jour de la Plume Les joueurs ne subissent qu'une part de la gravité, et aucune chute ne les blesse. gravité × 0,25
Festin d'Odin Toute nourriture se consomme moins vite, donc dure plus longtemps. durée × 2
Brume de Hel La brume se lève : on voit plus loin dehors. Les monstres qui apparaissent gagnent une étoile, et tout monstre tué lâche plus de butin. vue × 3, +1 étoile, butin × 2

Ce qu'il faut savoir

  • Le jour change à minuit, quand le compteur de jours du jeu avance. Si tu dors à ce moment-là, l'annonce s'affiche au réveil, juste après « Jour N ».
  • L'annonce arrive chez chaque joueur : une ligne de Loki dans le chat, et le nom du caprice au centre de l'écran. Une pastille de couleur reste affichée à côté des effets du personnage (Reposé, Mouillé…) tant que le caprice dure. Qui se connecte en cours de journée reçoit l'annonce à son arrivée.
  • Jour de la Plume. Seuls les joueurs sont légers ; monstres, objets, bateaux et flèches ne changent pas. On saute bien plus haut et on reste longtemps en l'air : un bateau en marche file sous les pieds, et l'esquive n'est pas disponible tant qu'on n'a pas retouché le sol.
  • Festin d'Odin. Tout ce qui est déjà dans l'estomac en profite. Au jour suivant, le rythme redevient normal. Rien n'est écrit dans le personnage.
  • Brume de Hel.
    • La vue dégagée agit sur le brouillard ordinaire du jeu. La brume épaisse des Terres brumeuses reste : c'est une mécanique à part de ce biome, le mod n'y touche pas.
    • L'étoile va aux monstres qui apparaissent pendant ce jour, dans la nature, les camps, les donjons et les nids. Elle ne va ni aux boss, ni aux animaux apprivoisés et à leurs petits, ni aux invocations, ni aux monstres déjà présents, ni (par défaut) à ceux des raids. Les monstres sortis d'un œuf qui éclot, ou réveillés par l'attaque d'un autre monstre, ne la reçoivent pas non plus.
    • Un monstre déjà à 2 étoiles reste à 2 : le jeu n'affiche rien au-delà.
    • L'étoile est définitive : un monstre né pendant la Brume la garde les jours suivants, avec ses points de vie, ses dégâts et son butin d'étoilé.
    • Le butin × 2 concerne tout monstre tué pendant ce jour (boss et apprivoisés exclus). Il s'ajoute au bonus que le jeu donne déjà par étoile : un monstre né pendant la Brume lâche donc environ quatre fois plus qu'un monstre ordinaire.
    • Avec Epic Loot (lu dans sa version 0.14.13) : ce mod choisit ses objets magiques selon les étoiles du monstre, donc un monstre étoilé par la Brume donne le butin magique d'un étoilé. Le × 2 de la Brume ne double pas ces objets magiques, seulement le butin ordinaire. Si un joueur porte l'enchantement « Lucky Loot », son multiplicateur s'applique par-dessus celui de la Brume, dans la limite de 100 par sorte d'objet.
  • Le caprice survit à un redémarrage du serveur : il est recalculé à partir du monde, du numéro du jour et des réglages du tirage, rien n'est stocké. Changer un poids ou activer un caprice redistribue donc toute la suite ; le caprice en cours reste jusqu'à minuit, sauf si le serveur redémarre, auquel cas il est recalculé tout de suite. Juste après un tel changement, le même caprice peut sortir deux jours de suite.
  • Un caprice imposé par /loki set ne vit que dans la mémoire du serveur. Tant qu'il s'en souvient, le serveur évite de tirer ce même caprice le lendemain. Il l'oublie s'il redémarre entre-temps (en solo : si tu quittes le monde) ou si un admin tape ensuite /loki set aucun ; le tirage prévu s'applique alors, et il peut être le même. Quand le tirage ne compte que deux caprices (activés, poids supérieur à 0) et aucun jour calme, imposer celui qui n'était pas prévu ce jour-là entraîne forcément une répétition juste après.
  • Le temps ne passe pas quand le serveur est vide (c'est le jeu qui le veut) : aucun caprice n'est gaspillé sans joueur.

Commandes

Dans le chat avec une barre oblique, ou dans la console F5 sans la barre.

Commande Effet Pour qui
/loki Affiche le caprice du jour et ses réglages. Toi seul le vois. tous
/loki set plume Impose le Jour de la Plume jusqu'au prochain jour. admins
/loki set festin Impose le Festin d'Odin. admins
/loki set brume Impose la Brume de Hel. admins
/loki set aucun Arrête le caprice en cours. admins
/loki set hasard Tire un autre caprice au hasard. admins

En solo, tu es toujours admin. Sur un serveur, il faut que ton identifiant Steam (17 chiffres) figure dans la liste des admins du serveur, le fichier adminlist.txt, un identifiant par ligne.

Installation

Il faut déjà BepInExPack Valheim et Jotunn partout, serveur compris.

Le serveur et tous les joueurs doivent recevoir le mod le même jour. Tant que ce n'est pas fait des deux côtés, la connexion est refusée avec une fenêtre de Jotunn qui dit quel mod manque ou quelle version ne va pas.

Chez un joueur

  1. Récupère le fichier LokiSixVikings.dll.
  2. Ouvre le dossier BepInEx\plugins de ton profil. Avec Gale : %AppData%\com.kesomannen.gale\valheim\profiles\<nom du profil>\BepInEx\plugins.
  3. Crée dedans un dossier SixVikings-Loki et copies-y LokiSixVikings.dll.
  4. Lance le jeu. Dans BepInEx\LogOutput.log, tu dois lire Loading [SixVikings Loki 1.0.4], sans ligne d'erreur à la suite.

Sur le serveur

  1. Arrête le serveur.
  2. Avec le gestionnaire de fichiers de l'hébergeur, ouvre le dossier BepInEx\plugins du serveur, crée SixVikings-Loki et déposes-y le même LokiSixVikings.dll.
  3. Redémarre le serveur. Son journal doit montrer Loading [SixVikings Loki 1.0.4].
  4. Les réglages du serveur sont dans BepInEx\config\sixvikings.loki.cfg, créé au premier démarrage.

Règle d'exploitation

Redémarre le serveur après toute mise à jour du jeu ou des mods. Le contrôle de Jotunn garde en mémoire les joueurs déjà acceptés : un joueur dont les mods ne se chargent plus pourrait revenir sans Loki tant que le serveur n'a pas redémarré. Autour de lui, les monstres n'auraient alors ni étoile ni butin en plus.

Réglages

Fichier BepInEx\config\sixvikings.loki.cfg. En ligne, ce sont les réglages du serveur qui s'appliquent chez tous les joueurs ; ceux de chaque joueur ne servent qu'en solo.

Section Réglage Par défaut Effet
General SansRepetition true Un même caprice ne sort jamais deux jours de suite.
General PoidsJourCalme 0 Poids du « jour sans caprice ». À 0, il y a un caprice chaque jour.
chaque caprice Actif true false : ce caprice ne sort plus au tirage.
chaque caprice Poids 1 Un poids de 2 sort deux fois plus souvent qu'un poids de 1.
chaque caprice Annonces trois textes Textes d'annonce séparés par une barre verticale. Un seul s'affiche chaque jour, le même pour tous.
Plume Gravite 0.25 Part de la gravité normale : 0.5 = la moitié, 1 = aucun changement.
Festin Duree 2 Multiplicateur de durée des nourritures.
Brume Visibilite 3 Le brouillard du jeu est divisé par ce nombre, dehors seulement.
Brume EtoilesEnPlus 1 Étoiles ajoutées à l'apparition. 0 = aucune.
Brume EtoilesMax 2 Plafond d'étoiles.
Brume Butin 2 Multiplicateur du butin des monstres tués.
Brume EtoilesPendantLesRaids false true : les monstres des raids gagnent aussi leur étoile.

Désinstaller

Retire le dossier SixVikings-Loki du serveur et de tous les joueurs en même temps. Le mod n'écrit rien dans les personnages ; il y reste seulement le mot loki dans le compteur de commandes que le jeu tient lui-même, sans effet et invisible en jeu normal. Dans le monde, les monstres nés pendant une Brume gardent leur étoile jusqu'à leur mort.

Tester

  • En solo, le jeu est son propre serveur : /loki set plume, /loki set festin, /loki set brume montrent chaque effet tout de suite. Passe une nuit pour voir le caprice changer (un jour de jeu dure 30 minutes).
  • Sans personne devant l'écran : trois scénarios dans loki\essais\ se jouent avec l'outil d'essai du dépôt (essai\lancer.ps1), dans un profil d'essai séparé, avec un personnage et un monde jetables. Le mod écrit dans le journal ce qu'il fait, et c'est ce journal qu'on lit.
    • solo.txt : chargement, annonce, pastille, /loki set, vitesse de nourriture du Festin, butin et étoile de la Brume, minuit après un caprice imposé.
    • jours.txt : retour dans le monde, mort du personnage, plusieurs minuits, saut de deux jours, nuit sautée.
    • plume.txt : deux chutes de 100 m et 400 m pendant un Jour de la Plume. Rejoué avec Gravite = 1 dans le profil d'essai, il sert de témoin pour mesurer la gravité.
  • Ce que ces scénarios ne prouvent pas et qui se regarde à la main : la sensation du saut, la vue dégagée de la Brume, l'annonce au réveil après une vraie nuit dormie.
  • Au démarrage, le mod écrit dans le journal une ligne par greffe posée sur le jeu, puis un bilan : Greffes : 10 posée(s), 0 manquante(s). Sur le serveur, c'est la première chose à lire après l'installation. Une ligne Greffe MANQUANTE signifie que le programme n'a pas la méthode visée : le mod démarre quand même, seul l'effet nommé ne fonctionne pas sur cette machine. Un cas particulier : si c'est la protection contre les chutes qui manque, la gravité réduite du Jour de la Plume se coupe d'elle-même, pour que les sauts ne deviennent pas dangereux.
  • Le solo ne teste pas l'envoi du caprice du serveur vers les joueurs : ce chemin n'existe que face à un serveur distant. Il se vérifie avec le programme serveur de Valheim (outil gratuit de Steam) lancé sur le même poste, puis le jeu qui s'y connecte.
  • Le contrôle automatique des méthodes visées existe aussi pour le programme serveur, mais il est désactivé dans tests\CiblesTests.cs tant que cet outil n'est pas installé sur le poste.

Modifier le mod

Il faut le SDK .NET 10. Les chemins du jeu et du profil Gale sont en tête de loki\src\LokiSixVikings.csproj.

dotnet build loki\src\LokiSixVikings.csproj -c Release
dotnet test loki\tests\Loki.Tests.csproj

Compile avant de tester : les tests relisent la DLL produite. Le numéro de version s'écrit à deux endroits qui doivent être identiques, <Version> dans le fichier projet et ModVersion dans Plugin.cs ; un test échoue s'ils diffèrent.

Fichier Contenu
src\Plugin.cs le démarrage : réglages communs, branchements
src\Caprice.cs ce qu'est un caprice (nom, réglages, annonces, début et fin)
src\Caprices\*.cs un fichier par caprice, avec ses effets sur le jeu
src\Tirage.cs le tirage du jour, sans dépendance au jeu
src\Regles.cs les calculs d'étoiles et de butin de la Brume, sans dépendance au jeu
src\Horloge.cs côté serveur : surveille le jour, tire, impose
src\Reseau.cs les messages entre le serveur et les joueurs
src\Etat.cs le caprice en cours sur la machine, et son annonce
src\Icone.cs la pastille à l'écran
src\CommandeLoki.cs la commande /loki
tests\TirageTests.cs, tests\ReglesTests.cs les tests du tirage et des calculs de la Brume
tests\Cibles.cs, tests\CiblesTests.cs le contrôle que chaque méthode du jeu visée par le mod existe bien, lu dans les fichiers du jeu sans le lancer

Ajouter un caprice

Crée un fichier dans src\Caprices avec une classe qui hérite de Caprice : un nom court (Id), un nom affiché, un résumé, une couleur, des annonces, et ses effets. Elle est trouvée toute seule : le tirage, les réglages Actif et Poids, /loki set <nom court> et la pastille suivent sans rien toucher d'autre. Les trois caprices existants servent de modèle. Quatre points à respecter :

  • Le nom court s'écrit en minuscules, sans espace ni accent, et ne peut être ni aucun ni hasard.
  • Ses réglages se déclarent avec BindConfig, comme dans les modèles : c'est ce qui les fait imposer par le serveur.
  • Un effet s'écrit comme un patch qui ne fait rien tant que EnCours est faux, et qui ne suppose ni joueur ni écran : le même code tourne sur le serveur.
  • Monte le numéro de version aux deux endroits. Ajouter un caprice redistribue toute la suite des tirages du monde, jour en cours compris.

Après une mise à jour de Valheim, relance les tests : si le jeu a renommé une méthode visée par le mod, CiblesTests le dit sans avoir à lancer le jeu.

CHANGELOG

Changelog

1.1.0 (BETA)

  • English. Whim names, daily announcements, the status badge, /loki answers and help now follow each player's game language (French when the game is in French, English otherwise). The server only sends codes: each player reads them in their own language.
  • English command words: /loki set feather, feast, mist, none, random. The French ones (plume, festin, brume, aucun, hasard) still work.
  • Five announcements per whim and per language instead of three. In sixvikings.loki.cfg, each whim keeps Annonces (French) and gets Announcements (English). Announcements never edited move to the new ones by themselves; edited ones are kept. If you had written your own Annonces for players whose game is not in French, copy them into Announcements.
  • Setting descriptions in English, then French. Setting names do not change. The log stays in French.
  • The server and every player need 1.1.0 the same day: Loki requires the exact same version everywhere.

1.0.4 (BETA)

  • First public release on Thunderstore: each in-game day, a whim of Loki for everyone (Feather Day, Odin's Feast or Hel's Mist), with /loki for everyone, /loki set for admins.
  • At startup, one log line per patch applied to the game, then a summary.
  • Discord for feedback and bug reports: https://discord.gg/4vejaEdNrP (forum #bugs).