You are viewing a potentially older version of this package. View all versions.
Xtasy-ValheimBattleRoyale-0.3.6 icon

ValheimBattleRoyale

Server-authoritative Battle Royale safe zones for Valheim with shrinking circles, synchronized timers, map overlays and configurable zone damage.

By Xtasy
Date uploaded a week ago
Version 0.3.6
Download link Xtasy-ValheimBattleRoyale-0.3.6.zip
Downloads 15
Dependency string Xtasy-ValheimBattleRoyale-0.3.6

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 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.2350

README

Valheim Battle Royale

Battle Royale safe-zone system for Valheim dedicated servers and clients.

Requirements

  • Valheim
  • BepInExPack for Valheim
  • The mod must be installed on the server and every participating client.
  • Administrative actions are validated by the server. Add administrators to the Valheim server admin list.

Features

  • Server-authoritative match and zone state.
  • Configurable match-start countdown.
  • Current safe zone and next safe zone displayed on the large map and minimap.
  • Server-synchronized waiting and shrinking timers.
  • Smooth movement and shrinking of the safe zone.
  • Configurable initial radius and next-zone radius multiplier.
  • Optional requirement that the next circle is fully inside the current circle.
  • Configurable direct HP loss outside the safe zone.
  • Zone damage bypasses armor, blocking and elemental fire resistance.
  • Hot-reloadable BepInEx configuration.
  • Console commands for administrative control.
  • Automatic English and Russian localization.

Map controls

Open the large map before using the mouse controls.

Shift + Left Click

  • If no current zone exists: creates the initial zone using InitialRadius.
  • If a current zone exists: assigns the next zone.
  • Reassigning NEXT while the waiting timer is active keeps its radius and restarts the waiting timer.
  • Once shrinking has started, assigning or moving a zone is blocked until the shrink finishes.

Ctrl + Left Click

  • Cancels NEXT while it is still in the waiting phase.
  • If there is no NEXT, cancels the current/start zone.
  • Cancellation is blocked once shrinking has started.

Match control

F7 — start/stop match request from an administrator client.

Default match start countdown: 10 seconds.

Console commands

br help
br start
br stop
br toggle
br status

br zone <x> <z> [radius]
br next <x> <z> [radius]

br here [radius]
br nexthere [radius]

br cancelnext

Examples:

br here 3000
br nexthere
br nexthere 750
br next 1200 -500 600

When the radius for NEXT is omitted, the server calculates it from:

CurrentRadius × NextRadiusMultiplier

subject to MinimumRadius.

Configuration

Default values:

[Controls]
StartHotkey = F7

[Match]
StartCountdown = 10

[Zone]
InitialRadius = 3000
NextRadiusMultiplier = 0.5
MinimumRadius = 25
WaitBeforeShrink = 300
ShrinkDuration = 180
RequireNextZoneInsideCurrent = true

[Damage]
OutsideDamage = 10
DamageInterval = 2

[UI]
ShowHud = true

OutsideDamage is direct HP loss per tick while outside the safe zone. It is intentionally separate from normal fire damage so Fire Resistance does not reduce Battle Royale zone damage.

Installation

  1. Install BepInExPack for Valheim.
  2. Put ValheimBattleRoyale.dll into BepInEx/plugins/ValheimBattleRoyale/.
  3. Install the mod on the dedicated server and participating clients.
  4. Start the game/server once to generate the configuration.
  5. Configure the generated BepInEx config as required.
  6. Restart or use the mod's config hot reload behavior for supported settings.

Notes

This is an early version. Test updates on a non-production world/server before using them for an event.

CHANGELOG

Changelog

1.0.0

Added

  • Server-controlled Battle Royale match system.
  • Configurable match start countdown.
  • Automatic PvP for all players when the match starts.
  • Automatic PvP disable when the match stops.
  • PvP is continuously enforced while a Battle Royale match is active.
  • Late joiners automatically enter PvP after receiving the active match state.
  • Initial and next safe zones.
  • Configurable initial radius, next-zone multiplier and minimum radius.
  • Configurable delay before shrinking and shrink duration.
  • Optional requirement that the next zone fits completely inside the current zone.
  • Smooth synchronized interpolation of safe-zone center and radius.
  • Current and next safe-zone circles on the world map and minimap.
  • Administrator map controls for creating, moving and cancelling zones.
  • Server-authorized outside-zone damage for remote players.
  • Zone damage bypasses armor, blocking and elemental resistances.
  • Normal Valheim death handling for lethal zone damage.
  • Cosmetic burning effect outside the safe zone.
  • TextMeshPro HUD using Valheim's native Valheim-Norsebold font asset.
  • Automatic English and Russian localization.
  • HUD countdowns for match start, waiting phase and active shrinking.
  • Outside-safe-zone warning.
  • Runtime configuration reload.
  • Server-side validation of administrator Battle Royale requests.
  • Console commands for match and zone administration.

Fixed

  • Fixed outside-zone damage not reducing health for remote/non-host players.
  • Fixed lethal direct HP removal causing errors in Valheim's death pipeline.
  • Fixed compatibility with Valheim builds where GetServerPeerID() is private.
  • Fixed inconsistent Russian HUD glyphs caused by IMGUI font fallback.
  • Fixed inconsistent title/timer font sizes.
  • Removed deprecated TextMeshPro enableWordWrapping usage.