Valheim
Install with App

Details

Latest version
1.4.1
Last Updated
First Uploaded
Downloads
62
Likes
0
Size
416KB
Dependants
ADDatHost Valheim hosting
30% off

Changelog

1.4.1

Security

  • Teleport guard (server): vanilla lets any client teleport any other player (Character "RPC_TeleportTo" only checks that the receiving client owns the character). The server now drops a client's request to teleport ANOTHER connected player's character. A player's own portals, beds and NPC teleports are unaffected; creatures and tames keep vanilla behaviour; admins may still teleport players (TeleportAllowAdmins). Blocked attempts are logged and sent to the webhook ADMIN route as Teleport.Blocked (at most once per 30 s per player).
  • Routed-message sender check (server): vanilla forwards the sender id written inside each routed network message without comparing it to the connection, so a modified client can pose as another player to mods that trust the sender id. [World] RoutedSenderCheck = LogOnly (default) records every mismatch in the server log and on the webhook ADMIN route as Routed.SenderMismatch and blocks nothing; Enforce drops them; Off. Run LogOnly first and switch to Enforce after clean logs.
  • New settings in [World]: BlockPlayerTeleport (true), TeleportAllowAdmins (true), RoutedSenderCheck (LogOnly). Server-only: clients need no update for the guard, but update them with the server as usual.

1.4.0

World module (new, server side; clients need 1.4.0 to get the day length)

  • Day and night: the server sets the day length and the day/night split (Beastheim: 30-minute day, 75% day) and sends it to every client, so sky, spawns and sleeping match. Set once before a world goes live; changing it on a running world moves the day counter.
  • Dungeons: new dungeons grow to their full vanilla size (DungeonsFullSize). DungeonRoomMultiplier allows up to 1.5x, off by default. Dungeons already generated are unchanged.
  • Boss gating (strict): bosses unlock by gate rules (time since ServerLaunchUtc, player counts, previous bosses). Altar summons are checked on the server in three layers, the Queen's door stays locked while her gate is closed, and game keys are guarded. Admin commands: bh gates, bh gate open/close/auto; players: bh progress. Empty ServerLaunchUtc = gating off with a warning; an unreadable date keeps every gate closed with an alert.
  • Admin audit: admin console commands, kicks, bans and saves are posted to the Discord admin route; boss summons and blocked summons have their own Discord budget.

Unchanged

  • Characters, admission, AFK, status API, the head API and the protocol version.

1.3.0

Valheim 1.0.20

  • Reads 1.0.20 characters (profile 47 / player data 34 / item data 110) as well as 1.0.16 and 1.0.17 characters (46 / 33 / 109). The three version numbers are accepted only as a matching set; a mixed or future set is refused rather than guessed, and any extra bytes still fail closed. Player data 34 adds two small number tables that the parser now reads in full.
  • Everything built on a character (ownership, enrollment, freshness, revisions, divergence protection, enforcement, the status API) behaves the same for 1.0.20 characters as for older ones.

Character-head API for other mods (new)

  • BsmCharacterHead (ApiVersion 1): IsReady, TryGetHead (the last acknowledged character state: revision, Coins, custom markers), RequestCheckpoint and PollCheckpoint. A mod that moves Coins can ask the server for a verified, durable save before and after it acts, and can tell whether the character in the store matches what it expects. Read-only except for the checkpoint request; mods never write a character through it.

Clients

  • A save that the server asks for (a checkpoint) is now uploaded by the client even when the character has not changed since its last save. A 1.3.0 server therefore needs 1.3.0 clients; the mod check already refuses a client whose mod file differs, so update the server and the modpack together.

Unchanged

  • Admission rules, the registration and reset rules, the AFK module (still off by default), the status API and webhooks, the refusal messages and the protocol version.

1.2.0

Admission (mod check)

  • Mod policy enforcement carried over from the internal 1.0.0 build, with fail-closed handling of every internal error and an empty-policy guard (EmptyPolicyBehavior, which defaults to Reject: an empty or missing policy folder never lets everyone in).
  • The server now holds a player's login until both the mod check and the character check have finished.
  • Hashing a client's mods runs on a background thread and its duration is logged.

Server characters (new)

  • One authoritative character per Steam account, exact selected-character validation, no substitution.
  • Freshness-gated first enrollment; nothing is stored until the game's own password and ban checks succeed.
  • Revision store with continuity enforcement, unique normalised names, permanent character-ID tombstones.
  • In-game reset with eligibility, cooldown and allowance shown first (3 per rolling 30 days, 24 hour cooldown, 30 day archive).
  • Pre-login upload limits, paced and hash-checked transfer, final-save acknowledgement on logout and shutdown.
  • Verified snapshots, optional mirror folder, scheduled pruning.
  • Offline bsm-admin tool for exceptional recovery: distributed separately to server operators, not part of this package.

Refusal messages

  • Refusal screen fix (found in real-client validation): a client that runs this mod is now refused with the game's plain "disconnected" status instead of "incompatible version". Jotunn (present on every Beastheim client) replaces the connect-error screen for "incompatible version" and hid this mod's reason. Clients without this mod keep the stock "incompatible version" status.
  • The reason is now shown in this mod's own "Cannot join this server" dialog (with an OK button) on the main menu. The game's built-in connection-failed panel is shared with the game and about ten mods and came out blank in real-client testing, so it is no longer relied on. The message is kept until the player presses OK.
  • New wording when a second character is used on an account that already has one: "Only one character is allowed per player on this server. Your registered character is <name>. Select that character and join again. Lost your character? Contact a server administrator."

Idle-player handling (new, OFF by default)

  • Optional native AFK module ([Afk]): idle clock from movement beyond a radius, intentional actions the server can see and chat; warnings at configurable times; no clock during loading, admission, finalization or a reset.
  • Removal always goes through the character module's own final-save path: save request, upload, validation, durable commit, acknowledgement, a short network drain, then the disconnect. If the save is not confirmed in time the player is still removed, the last acknowledged revision stands, the failure is logged and published, and the player is warned that the server could not confirm their latest progress was saved (never told it was).
  • Admins and listed Steam IDs are exempt. Messages, timeout, warnings, radius and grace period are configurable and apply live.
  • BsmAfk.Suppress / BsmAfk.Release let other Beastheim mods pause the clock for a bounded time (a transport, a cutscene).
  • Admin-channel webhook events for removal with and without a confirmed save.

Identity binding for other server plugins (new)

  • BsmIdentity: a read-only, narrow lookup of the character a connection was verified as (character ID only; false unless Server Characters is enforcing and the connection is admitted).

Also new

  • Read-only connection status for other mods (discrete states, no percentages).
  • Optional native Discord webhooks (public and admin channels), fully asynchronous and isolated from the server.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.