

Welcome to Rusty's Almanac, your gateway to the enchanting world of Valheim!
Rusty's comprehensive plugin catalogs all the items, pieces, and creatures that is loaded into the game.
Explore the depths of Valheim with ease, armed with a wealth of information at your fingertips.
Moreover, Rusty's Almanac goes beyond mere documentation. With an integrated customizable achievement system and a leaderboard, users can shape their own unique experiences.
Almanac lets you define custom achievements using .yml files in the Achievements folder.
These achievements sync between server and client, and are dynamically reloaded when edited.
Below are the available Achievement Types you can use:
Arrows |
ArrowsShot |
Axes |
Bows |
Consumables |
CreatureGroup |
CreatureTamed |
Deaths |
DistanceInAir |
DistanceRan |
DistanceSailed |
DistanceWalked |
EnemyKills |
Fish |
FoodEaten |
ItemsPicked |
Kill |
Knives |
Maces |
Materials |
MineHits |
Pickable |
PlayerKills |
PoleArms |
Potions |
Recipes |
Shields |
Spears |
Staves |
Swords |
TimeInBase |
TimeOutOfBase |
TotalJumps |
TotalMined |
Trophies |
Valuables |
Weapons |
CollectItems |
Achievements |
Each achievement is defined as a YAML file with properties like:
UniqueID: A unique identifier string (e.g., Weapons.001).Name: Display name for the achievement.Lore: A short description or flavor text.Icon: The icon name from the game's assets.TokenReward: Reward tokens for completing the achievement.Requirement: The type, threshold, and optional group or prefab name.AchievementType.CreatureGroup with Group = Meadows.Requirement.Type to the relevant stat.0 for auto-detection (e.g., total number of fish).Kill and Pickable types.CollectItems type Requirement.PrefabName entry format: prefabname,amount;prefabname,amountThe Almanac Bounty system lets players purchase bounty contracts to hunt special creatures.
Bounties are defined in .yml files inside the Bounties folder.
Admins can add, remove, or edit bounty entries at runtime — changes will sync to all clients.
Each bounty entry can define:
Troll.001).Troll, Serpent).Meadows, Swamp, AshLands, etc.).1.5).AlmanacToken or regular items (e.g., Coins)..yml bounty files while the server is running; changes sync automatically.Lore to tell a short story or flavor text for each hunt.UniqueID: Troll.001
Creature: Troll
Name: Forest Stalker
Icon: TrophyFrostTroll
Biome: BlackForest
Health: 1200
Level: 3
DamageMultiplier: 1.5
AlmanacTokenReward: 5
Lore: "Lumbering through the Black Forest, the troll’s steps shake the earth as it smashes all in its path."
Cost:
Coins: 10
The Almanac Store allows players to purchase temporary buffs, resources, and items.
Store items are defined in .yml files inside the Store folder.
Admins can add, remove, or modify store entries while the game is running.
Each store entry can define:
AlmanacToken or other items as payment.Name: Lolite
Cost:
Items:
- PrefabName: AlmanacToken
Amount: 100
Icon: GemstoneBlue
Items:
- PrefabName: GemstoneBlue
Amount: 1
Quality: 1
Variant: 0
Lore: Light is reflected sharply off this gem
RequiredKey: Charred_Melee_Dyrnwyn
AlmanacToken is the default store currency.Wood, Coins).RequiredKey should be PrefabID of creature, to check if player has killed at least oneLore to explain what the store item does..yml files during runtime; the store updates automatically.You can create new status effects using Almanac Custom Status Effects Manager.
Below are the available modifier types:
Armor |
AttackStaminaModifier |
BlockStaminaModifier |
BluntDamage |
BluntResistance |
CarryWeight |
ChopDamage |
ChopResistance |
DamageModifier |
DamageReduction |
DodgeStaminaModifier |
Eitr |
EitrRegenModifier |
FallDamageModifier |
FireDamage |
FireResistance |
FrostDamage |
FrostResistance |
Health |
HealthRegenModifier |
HomeItemStaminaModifier |
JumpStaminaModifier |
LifeSteal |
LightningDamage |
LightningResistance |
MaxFallSpeed |
NoiseModifier |
PickaxeDamage |
PickaxeResistance |
PierceDamage |
PierceResistance |
PoisonDamage |
PoisonResistance |
RaiseSkills |
RunStaminaModifier |
SlashDamage |
SlashResistance |
SneakStaminaModifier |
Speed |
SpiritDamage |
SpiritResistance |
Stamina |
StaminaRegenModifier |
SwimStaminaModifier |
WindMovementModifier |
WindRunStaminaModifier |
Each modifier uses a float value to define the effect strength.
CarryWeight are additive.Almanac lets you define custom treasure hunts using .yml files in the TreasureHunt folder.
These treasures sync between server and client, and are dynamically reloaded when edited.
Treasure hunts create interactive map pins that spawn loot containers when you reach their location. Players can purchase treasure hunts using tokens from the Almanac store system.
Name: Display name for the treasure hunt (e.g., "Meadow Stash").Lore: Descriptive flavor text shown to players.Icon: The icon name from game assets (defaults to "map" if not specified).Biome: Target biome where the treasure will spawn (see list above).Cost: Dictionary of required tokens/items to purchase this treasure hunt.
AlmanacToken as the key for Almanac tokens.Cost: { "AlmanacToken": 10 } for 10 tokens.Loot: List of items that can be found in the treasure container.
Item: Prefab name of the item (e.g., "Coins", "SilverOre").Min: Minimum stack size.Max: Maximum stack size.Weight: Drop chance weight (higher = more likely).Name: "Mountain Stash"
Lore: "Only those who brave the jagged cliffs will uncover what the mountains hide."
Icon: "map"
Biome: "Mountain"
Cost:
almanac_token: 1
Loot:
- Item: "SilverOre"
Min: 10
Max: 20
Weight: 1.0
- Item: "WolfClaw"
Min: 1
Max: 20
Weight: 1.0
- Item: "TrophyCultist"
Min: 1
Max: 1
Weight: 1.0
Almanac provides a comprehensive NPC dialogue system using .yml files in the Dialogues folder.
These dialogues sync between server and client, and are dynamically reloaded when files are edited.
Below are the available Command Types you can use:
Exit: closes dialogueGive: adds item into player inventoryTake: removes item from player inventoryTeleport: teleports player to positionFlyTo: Valkyrie flies player to positionMapPin: adds temporary pin on the mapStartBounty: starts a bountyCancelBounty: cancels active bountyCompleteBounty: rewards bountyStartTreasure: starts a treasure huntCancelTreasure: cancels active treasure huntOpenAlmanac: opens almanac panelOpenItems: opens almanac item tabOpenPieces: opens almanac pieces tabOpenCreatures: etc.OpenAchievementsOpenStoreOpenLeaderboardOpenBountiesOpenTreasuresOpenMetricsOpenLotteryEach dialogue is defined as a YAML file with properties like:
UniqueID: A unique identifier string (e.g., npc.intro.001).Label: Button text that appears for this dialogue option.Text: Main dialogue text displayed when requirements are met.AltText: Alternative text shown when requirements are not met.Dialogues: List of dialogue IDs that become available as options.Action: Command to execute with label and parameters.Requirements: Conditions that must be met to interact with this dialogue.Panel Commands: OpenAlmanac, OpenItems, OpenCreatures, etc. open specific UI panels.
Item Commands:
Give: Gives items to player. Parameters: ItemName, Amount, Quality?, Variant? ? = optionalTake: Takes items from player. Same parameter format.Location Commands:
Teleport: Instantly transports player. Parameters: X, Y, ZMapPin: Adds temporary map marker. Parameters: X, Y, Z, Label, Duration (seconds)Activity Commands:
StartBounty: Begins bounty hunt. Parameters: BountyIDStartTreasure: Begins treasure hunt. Parameters: TreasureIDCancelBounty/CancelTreasure: Cancels active hunts. (Will not be displayed if no active hunts)API Commands
GiveAlmanacXP: Gives almanac xp. Parameters amount - Recorded dialogueGiveWackyXP: Gives EpicMMO xp. Parameters amount - Recorded dialogueControl when dialogues are available using:
Keys: Player must have specific game keys (boss defeats, etc.)NotKeys: Player must NOT have specific keysKilled: Required creature kills. Format: CreatureName, Count; AnotherCreature, CountNotKilled: Creatures player must NOT have killedAchievements: Required achievement IDs (comma-separated)NotAchievements: Achievements player must NOT haveDialogues: Required Dialogue IDs (recorded by Give or Take Actions)NotDialogues: Required NOT Dialogue IDsQuests: Required accepted Quests. Format: Quest1,Quest2NotQuests: Required Quest never takenCompletedQuests: Required Quest fully completedNotCompletedQuests: Required Quest NOT fully completedAlternative Text: Use AltText to show different messages when requirements aren't met.
Conditional Display: Dialogues automatically show different text based on:
Basic Conversation:
UniqueID: npc.greeting
Label: Hello there
Text: Welcome to our village, traveler!
Dialogues:
- npc.ask_directions
- npc.ask_trade
Action:
Type: Exit
Label: Farewell
Item Trading:
UniqueID: npc.trade_sword
Label: I need a weapon
Text: Here, take this iron sword for your journey.
AltText: I already gave you a sword, remember?
Action:
Type: Give
Label: Take Sword
Parameters: SwordIron, 1, 2, 0
Requirements:
Killed: Eikthyr, 1
Location Marking:
UniqueID: npc.mark_cave
Label: Where's the nearest cave?
Text: There's a cave system to the north. Let me mark it for you.
Action:
Type: MapPin
Label: Mark Cave
Parameters: 100, 25, -150, Mysterious Cave, 180 // (3min)
Requirement-Based Dialogue:
UniqueID: npc.veteran_talk
Label: Tell me about the bosses
Text: You've proven yourself against the ancient evils!
Requirements:
Killed: Eikthyr, 1; gd_king, 1
Keys: defeated_bonemass
merchant.weapons.introDialogues listNPC can be customized by being an admin in no cost mode
Additionally, you can set each NPC with random talk that triggers whenever a player gets close or leaves, or every minute.
The YML files are synced and can be reloaded during gameplay.
Atgeir |
AtgeirSecondary |
AttachAsksvin |
AttachLox |
AttachMast |
AttachShip |
AttachSitShip |
AttachThrone |
Axe |
AxeSecondary |
Battleaxe |
BattleaxeSecondary |
BlowKiss |
Blocking |
Bow |
BowAim |
BowFire |
Challenge |
Cheer |
ComeHere |
Cower |
Crouching |
Crossbow |
CrossbowFire |
Cry |
Dance |
Despair |
Dodge |
Drink |
DualAxes |
DualAxesSecondary |
DualKnives |
DualKnivesSecondary |
Eat |
Encumbered |
EquipHead |
EquipHip |
Equipping |
Flex |
FishingRod |
FishingRodThrow |
Forge |
GPower |
Greatsword |
GreatswordSecondary |
Hammer |
Headbang |
Hoe |
InWater |
Interact |
Kick |
Knife |
KnifeSecondary |
Kneel |
KnockDown |
Laugh |
MaceSecondary |
Nonono |
Pickaxe |
PlaceFeast |
Point |
Relax |
RechargeLightningStaff |
Rest |
Roar |
Scything |
Shrug |
Sit |
SitChair |
Sledge |
StaffChargeAttack |
StaffCharging |
StaffFireball |
StaffLightning |
StaffRapidFire |
StaffShield |
StaffSummon |
StaffTrollSummon |
Stagger |
Stir |
Stop |
Sword |
SwordSecondary |
ThumbsUp |
ThrowBomb |
ThrowSpear |
Toast |
UnequipHip |
Unarmed |
Wave |
The Almanac Quest System allows players to take on custom quests that track progress across various activities in Valheim.
Quests are defined in .yml files inside the Quests folder, and sync between server and client. Changes are dynamically reloaded when files are added, edited, or removed.
Quest system is designed to work along with dialogue system, use the command: StartQuest, CancelQuest, CompleteQuest to interact with the quests.
Quests or NotQuests it is checking if quest has ever been taken.Each quest file can define:
001.Dandelion).Boar, Pickable_Dandelion, SurtlingCore).Collect |
Farm |
Harvest |
Kill |
LearnItems |
Mine |
UniqueID: 001.BoarHunt
Name: Hunt Boars
Type: Kill
PrefabName: Boar
Threshold: 10
This quest requires players to hunt 10 Boars. Progress is tracked automatically when players kill the target prefab.
SurtlingCore).Pickable_Dandelion).sapling_seedcarrot).
