You are viewing a potentially older version of this package. View all versions.
MilkyTeam-Lockstep-0.5.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.5.0
Download link MilkyTeam-Lockstep-0.5.0.zip
Downloads 128
Dependency string MilkyTeam-Lockstep-0.5.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

  • Altar gate: a boss altar opens only once everyone has defeated the boss before it.
  • Altar hover: every gated altar says whether it is open or which players the group is waiting for; the offering is kept.
  • Credit per player: everyone who hit the boss, plus everyone within a set distance when it dies.
  • Roster: fills itself as players join; players away for a set number of days stop holding the group back.
  • Late joiners: new players catch up with everything the world has already cleared, or earn each boss themselves.
  • Safe mid-playthrough: bosses already defeated count as cleared for everyone.
  • Spawn guard: a sealed boss cannot spawn even if another mod gets past the altar.
  • Open world: biomes, portals, dungeons and crafting stay open, and the game's own boss progress is untouched.
  • Boss chain: Eikthyr, The Elder, Bonemass, Moder, Yagluth, The Queen and Fader, in a YAML file; add modded bosses or change the order.

Console commands

  • lockstep status: each altar, open or who it waits for, and every player's credit.
  • lockstep grant <player> <boss>: gives a player credit for a boss (admins).
  • lockstep revoke <player> <boss>: takes that credit away (admins).
  • lockstep ignore <player> / unignore: the player never holds the group back, or counts again (admins).
  • lockstep forget <player>: removes a character from the roster; joining again starts fresh (admins).
  • charter status: whether the server's settings bind yours.

Install

Needed on the server and every client; the server refuses clients without it, and a player on a server without it is told so. 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). The Wiki tab has the details.

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.