You are viewing a potentially older version of this package. View all versions.
MilkyTeam-Lockstep-0.3.2 icon

Lockstep

The next boss stays sealed until every player on the server has defeated the previous one. Server synced.

Date uploaded a day ago
Version 0.3.2
Download link MilkyTeam-Lockstep-0.3.2.zip
Downloads 31
Dependency string MilkyTeam-Lockstep-0.3.2

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

Lockstep

The next boss stays sealed until every player on the server has defeated the previous one. Fast players wait for the group; nobody skips ahead.

Features

  • A boss altar opens only once everyone has defeated the boss before it, and says who the group is waiting for.
  • Credit per player: everyone who hit the boss, plus everyone within a set distance when it dies.
  • The roster fills itself; players away for a set number of days stop holding the group back.
  • New players catch up with everything the world has already cleared (configurable).
  • Safe to install mid-playthrough: bosses already defeated count as cleared for everyone.
  • The boss chain is a YAML file: add modded bosses or change the order.
  • Admins can grant or revoke credit and ignore or forget players from the console.

Install

Needed on the server and every client; the server refuses clients without it. Install with r2modman or the Thunderstore app, or put Lockstep.dll in BepInEx/plugins. Replaces OathBound (up to 0.1.2): remove it, its config files are not read.

Configuration

BepInEx/config/com.Lockstep.cfg and LockstepChain.yml; the server keeps its roster in Lockstep.<world>.roster.yml. Every setting is described in the file and applies without a restart; the server's values bind every player (Lock Configuration). Console: lockstep status shows who the group waits for; admin commands: https://github.com/geraldjglasgow/ValheimMods/blob/main/Lockstep/PLAN.md. charter status shows whether the server binds your settings.

Links

Bugs and ideas: https://github.com/geraldjglasgow/ValheimMods/issues (name the mod and version). Licence: GPL-3.0.

Shout outs

  • The BepInEx and Harmony teams, for the tools every Valheim mod stands on.
  • Iron Gate Studio, for Valheim.
  • Thunderstore, for hosting this page.
  • The Valheim modding community, for the hard work and dedication that keeps enhancing an already great game.
  • Every modder who keeps their mods open source so others can collaborate, learn and build on them.
  • The co-op group that kept waiting at the Elder altar for the one player who was still at work.

CHANGELOG

Changelog

0.3.3

  • Faster loading: the config file is written once instead of once per setting.

0.3.2

  • Less work every frame keeping the server's settings in sync.

0.3.1

  • Fixed: joining a busy server no longer refuses a correct client.
  • Shorter store page.

0.3.0

  • Server sync moved to Charter, our own library; config files work unchanged.
  • A version mismatch refuses the join with a named reason and a code in both logs.
  • New console command charter (status, diff, versions).

0.2.1

  • New store icon.

0.2.0

  • Renamed from OathBound to Lockstep: GUID com.Lockstep, com.Lockstep.cfg, LockstepChain.yml, Lockstep.<world>.roster.yml and console command lockstep.
  • Old OathBound files are not read: rename them to keep your settings, and remove the old DLL.

0.1.4

  • Store page links to the GitHub repository.

0.1.3

  • The chain file is checked on load: a stage without key or boss, or an empty chain, keeps the previous chain.
  • A duplicate order warns; every message names the file and path.
  • Rebuilt on the rewritten shared config libraries; MIT licence added.

0.1.2

  • Fixed: a frame rate loss.
  • YAML files with a byte order mark are accepted.

0.1.1

  • Fixed: Linux dedicated servers hung in an endless config and roster reload.
  • No warning on first run when the example chain file is written.

0.1.0

  • First working version: player roster, credit by attackers and radius, altar gate with spawn guard, YAML chain.
  • Console commands, late joiner catch-up, inactive days and mid-playthrough backfill.