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

Lockstep

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

Date uploaded 2 weeks ago
Version 0.4.0
Download link MilkyTeam-Lockstep-0.4.0.zip
Downloads 62
Dependency string MilkyTeam-Lockstep-0.4.0

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

Discord: https://discord.gg/DrFUyfuXzT

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.6.1

  • Fixed: translated text no longer turns back to English with OdinHorse or similar mods installed.

0.6.0

  • Translations: every word you read is in translations/English.yml; a Lockstep.translations.<Language>.yml in BepInEx/config translates it.

0.5.1

  • Fixed: players on a slow connection with many mods are no longer refused when joining a server.

0.5.0

  • Every gated altar's hover says whether it is open or which players the group is waiting for.
  • A player on a server without Lockstep is told so, and the console commands say it too.

0.4.1

  • Store page: a fuller overview of what the mod does.

0.4.0

  • The server confirms a boss really died before giving credit; unconfirmed kill reports are refused and logged.
  • Less work updating the altars' waiting list when players join, leave or earn credit.
  • Update the server and every client together.

0.3.4

  • Discord link on the store page.

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.