Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
yesterday
Downloads
42
Size
190KB
ADDatHost Valheim hosting
30% off

Valheim Battle Royale

Battle Royale system for Valheim with server-controlled matches, shrinking safe zones, synchronized map circles, outside-zone damage, automatic PvP and an in-game HUD.

Requirements

  • BepInEx for Valheim
  • The mod must be installed on the server and on every participating client.
  • All participants should use the same mod version.

Install ValheimBattleRoyale.dll into:

BepInEx/plugins/

Main Features

  • Server-controlled Battle Royale state
  • Match start countdown
  • Automatic PvP during the match
  • Automatic PvP disable when the match ends
  • Current and next safe zones
  • Smooth zone shrinking
  • Safe-zone circles on the large map and minimap
  • Server-authorized outside-zone damage
  • Damage that bypasses armor, blocking and elemental resistance
  • Cosmetic fire effect outside the zone
  • Valheim TextMeshPro / Norse Bold HUD
  • English and Russian localization
  • Administrator hotkey and console commands
  • Runtime configuration reload

Match Flow

  1. Create the initial safe zone.
  2. Press F7 or use br start.
  3. The configured start countdown begins.
  4. When the countdown finishes, the match becomes active and PvP is forced ON for every player.
  5. Assign the NEXT safe zone.
  6. After WaitBeforeShrink, the current zone begins shrinking toward NEXT.
  7. Players outside the effective current zone receive OutsideDamage.
  8. When shrinking finishes, NEXT becomes CURRENT.
  9. Assign another NEXT zone and repeat.
  10. Press F7 again or use br stop to stop the match.
  11. PvP is automatically switched OFF for players whose PvP was forced by the Battle Royale.

PvP

PvP is not forced during the start countdown.

When the Battle Royale becomes active, every client continuously applies:

PvP = ON

This prevents normal players from disabling PvP through the Valheim interface while the match is running.

Players who join an already active match also receive PvP after synchronizing the Battle Royale state.

When the match stops, the mod automatically switches PvP OFF again for players whose PvP state was forced by the Battle Royale.

Safe Zones

The system uses two zones:

  • CURRENT — active safe zone.
  • NEXT — destination of the next shrink.

The current zone is shown in green and the next zone in yellow.

Both are rendered on the world map and minimap.

Initial Zone

On the large map:

Shift + Left Click

If no CURRENT zone exists, this creates the initial zone using InitialRadius.

Console alternatives:

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

Next Zone

If CURRENT already exists:

Shift + Left Click

creates NEXT.

Without an explicit radius:

NextRadius = CurrentRadius × NextRadiusMultiplier

The radius will not go below MinimumRadius.

Console alternatives:

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

Move NEXT

During the waiting phase, Shift + Left Click moves an existing NEXT zone while preserving its radius and restarting the waiting timer.

NEXT cannot be moved while shrinking is in progress.

Cancel

Ctrl + Left Click

cancels NEXT when one exists. If there is no NEXT zone, it cancels the current/start zone.

Console:

br cancelnext

Cancellation is blocked during active shrinking.

Zone Shrinking

After NEXT is assigned, the mod waits for:

WaitBeforeShrink = 300

Then CURRENT smoothly interpolates toward NEXT over:

ShrinkDuration = 180

Both the center and radius change during the shrink.

When the transition completes, NEXT becomes CURRENT.

Outside-Zone Damage

Default configuration:

OutsideDamage = 10
DamageInterval = 2

With these values, an outside player loses 10 HP every 2 seconds.

The server determines which players are outside the safe zone and authorizes the damage. The authorized damage is delivered to the owning client to work correctly with Valheim's player ownership model.

Battle Royale zone damage bypasses:

  • armor
  • blocking
  • fire resistance
  • elemental resistance

The visible burning effect is cosmetic and is not the source of the damage.

Lethal zone damage uses Valheim's normal damage/death pipeline.

HUD

The HUD uses Valheim's native TextMeshPro font asset:

Valheim-Norsebold

It displays:

  • match start countdown
  • time until shrinking
  • active shrink countdown
  • outside-safe-zone warning

The main status block is positioned below the minimap.

Localization

Supported automatically:

  • English
  • Russian

English is used as the fallback for unsupported languages.

Controls

Control Action
F7 Start/stop Battle Royale
Shift + Left Click on map Create initial/NEXT zone or move NEXT
Ctrl + Left Click on map Cancel NEXT/current zone

Administrative actions are validated by the server.

Console Commands

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

br start

Starts the match countdown. A current safe zone must already exist.

br stop

Stops the Battle Royale. Forced PvP is automatically switched off on clients.

br toggle

Starts or stops the match depending on the current state.

br status

Displays the current Battle Royale state.

br zone <x> <z> [radius]

Creates or changes CURRENT.

br here [radius]

Creates CURRENT centered on the administrator.

br next <x> <z> [radius]

Creates NEXT.

br nexthere [radius]

Creates NEXT centered on the administrator.

br cancelnext

Cancels the pending NEXT zone.

Default Configuration

[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

Configuration

StartHotkey

Administrator hotkey used to start or stop the match.

StartCountdown

Seconds between starting the Battle Royale and the match becoming active.

InitialRadius

Radius used for the initial safe zone.

NextRadiusMultiplier

Multiplier used to calculate NEXT when no explicit radius is supplied.

MinimumRadius

Minimum automatically calculated safe-zone radius.

WaitBeforeShrink

Seconds between assigning NEXT and beginning the shrink.

ShrinkDuration

Duration of the CURRENT → NEXT transition.

RequireNextZoneInsideCurrent

When enabled, the complete NEXT zone must fit inside CURRENT.

OutsideDamage

HP removed per outside-zone damage tick.

DamageInterval

Seconds between outside-zone damage ticks.

ShowHud

Enables or disables the Battle Royale HUD.

Runtime Configuration Reload

The configuration file is monitored and reloaded while the game is running.

Values such as zone timings and outside damage can therefore be adjusted without rebuilding the plugin.

Server Authority

The server controls or authorizes:

  • match state
  • current and next zones
  • zone phases
  • synchronized timing
  • administrator requests
  • outside-zone detection
  • outside-zone damage

Clients render synchronized UI/map information and apply server-authorized player-owned health changes.

Version

1.0.0
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.