You are viewing a potentially older version of this package. View all versions.
WKSR-WKRace-0.9.5 icon

WKRace

Speedrun matches up the same seeded White Knuckle climb: live splits, ghosts, ranked 1v1 and solo, leaderboards, party matches of up to 15 and chat. In the game's main menu.

By WKSR
Date uploaded a week ago
Version 0.9.5
Download link WKSR-WKRace-0.9.5.zip
Downloads 116
Dependency string WKSR-WKRace-0.9.5

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305
prideunique-ImuiBepInEx-1.0.1 icon
prideunique-ImuiBepInEx

Library used for building UI

Preferred version: 1.0.1
MonkSilly-WKLib-0.3.0 icon
MonkSilly-WKLib

A modding library, with almost everything you could possibly need

Preferred version: 0.3.0

README

WKSR: White Knuckle SpeedRun

Race other people up the same White Knuckle climb. Everyone gets the exact same seeded world, you see each other's splits as you go, and the other racers climb next to you as ghosts.

Players cant interact with each other with this mod, during a match each game sends coordinates where their character is to the server, that way you can see each other as ghosts.

It's made with fun in mind and there's a solo q mode for those who want it and an offline queue.

You can launch the game via r2/thunderstore.

Not all mods are compatible with this mod (anything relating to added levels, changes in world building, new items, physics etc.), cosmetic mods should work, if they dont work dm me.

As the disclamer at the bottom suggests this was 100% made with AI, but there is some modicum of care put in to not make it ultraslop, especially for user security.

Join the discord for discussions about features, potential changes, bug reports, etc. https://discord.gg/AZpr9XPTsD or add me to send dms .coult

Planned

  • Feature to allow players to connect to steam relay instead of the dedicated server the game runs currently, it will allow steam invites/lobbies etc but not custom leaderboards due to its limitations.
  • Better livesplit implementation (custom entries, imports, style editing).
  • More gamemodes for bigger lobbies.
  • Customizable models.
  • Open source.

What it do

  • Ranked races: 1v1 against whoever is searching, with a rating.
  • SOLO ranked: You can use this mod to have run solo runs with the better seed, perk, item RNG while still being applicable for this mods leaderboards.
  • SOLO offline: Play offline without connecting to anything, allows turning off/on existing modifiers.
  • Lobbies: send your friends a code. Race them 1v1, or in a party mode of up to 15 players. The host picks the modifiers for everyone.
  • NEW Segemented runs: Silos has a segmented mode, reach the end of silos by pressing the close shaft button in the safe room. Has leaderboards. Currently WIP (possibly daily/weekly seeds planned)
  • Practice: solo offline runs on any seed, with the modifiers you choose. Your best run on each seed comes back as a ghost to beat.
  • Chat: in lobbies and races: press F8 or whatever u change it to in the game to access it. NEW has a global chat when connected to the server.
  • WKSR:, The client is no more, the mod is inbuilt in game using ImuiBepinEx and WKLib.
  • Leaderboard: 1v1, solo q leaderboards available
  • Proximity voice: removed for now.
  • Approved/unapproved mods: might come a time where some mods would need to get unapproved for leaderboards later down the line.
  • Auto unlocks competitive mode: the mod uses comp mode as the main gamemode, so it will auto unlock it for you while using it.
  • The Hunted flare: Flare no longer has rng where it spawns in your inventory when you load in.

Installation / launching first time

  1. Install this package with your mod manager. BepInExPack and other mods come with it.
  2. Press Start modded.

Starting a run

Press F9 on the game's menu to load the race world. Once everyone's world has loaded, there's a ready check: press F9 again (or READY in WKSR) within 60 seconds. The countdown starts when everyone is ready.

If you don't ready up in time: in a ranked sesh you forfeit, a friendly 1v1 is called off, and a party race starts without waiting for you.

The rules

  • One run each. No restarts during a race.
  • 1v1: first to the top wins. If you die, you lose, even if you were miles ahead. If someone's game or connection drops, the race pauses for up to 60 seconds.
  • Party run: one life. Die and you're out, and the run carries on without you. Nobody waits for anyone who drops out. The race ends when everyone has finished or is out, or 5 minutes after the first finish (subject to change if intrusive). Finishers are placed by time. Everyone else is placed by how far they got, and on different routes, by who survived longer. On a shortcut your place shows as "?" until you're back on the main route.

Modifiers

Ranked races always use all of them. In lobbies the host picks them, and in practice you do.

  • Artifact bans (1v1 only): each player bans one artifact before the race. NOTE in solo you will be prompted to ban the artifacts once per session. Restart the game and launch a fresh sesh to ban something else.
  • Curated seeds, so early-game luck doesn't decide the race. Each part can be picked on its own:
    • Deep Storage food: every Deep Storage level that can have them gets at least one food bar and one pill bottle. Update Deep storage's first tile will include a pill or a candy bar.
    • Perks: the Safe Room's experimental console offers Conditioned Polyphagia or Metabolic Overdrive, the Silo to Pipeworks interlude offers Metabolic Stasis, and the interlude consoles before the Habitation and the Nest offer Rabbit DNA or Pulse Organ.
    • Items: the Silo to Pipeworks interlude always has a slug grub, and a Blink Eye is for sale in the Safe Room or that interlude.

Whatever the modifiers, every racer gets identical levels, items, spawns and perk cards, and everyone counts as having everything unlocked.

Keys

You can change these in game.

F9 Start your run, then ready up (in practice: twice for a fresh run)
F10 Twice to forfeit
F7 / F6 Hide the splits / the ghosts
F8 Chat

WKSR's GHOST OPACITY slider sets how solid the ghosts look.

Something wrong?

Send me a dm .coult or join the discord with the link above.

You can use this for feature requests, if you have any.

Privacy

WKSR connects to our server in the EU. It keeps your racer name, rating and 1v1 race results, and nothing is sold or shared. Chat is passed on to the other players and is stored for 24h (temporary, can be changed). Privacy button in WKSR > options shows exactly what is stored, and how to get a copy or have it deleted.

Made with AI

This mod and WKSR were built with an AI assistant: the code was generated with Claude, by Anthropic, directed and play-tested by a human. It has been tested in real races and practice runs, and backed by over 200 automated tests. If you find something that slipped through, REPORT BUG is the fastest way to tell us.

Most of the current features can be changed/added if people want, not a lot here is set in stone.

Thanks to:

-Aricin -Spilled -AgeCube -Nicole -chimitto

For testing and feature discussing!

CHANGELOG

Changelog

0.9.7

  • Same mod as 0.9.6, with the readme brought up to date (the GitHub link, and what is done from the planned list). Everyone plays on the same version, so update to keep playing with others.

0.9.6

  • Spectating. On the WKSR server, a player's card in PLAYERS has SPECTATE while they are in a ranked match, a ranked solo run or a public lobby's match. In the lobby browser (WKSR server and Steam lobbies) every public lobby has WATCH, whether it is waiting or in a match, full or not: you see who is in it, watch each of its matches from their start, and JOIN takes a spot as soon as one is free between matches. Your game builds the same world from the seed (with the match's artifact bans) and follows the players in it: third person behind them (the mouse looks around them, the wheel zooms) or first person through their eyes, with their hands. Left click follows the next player, right click the one before (at most once every 3 seconds), V switches the view (OPTIONS can change it). A watched player's game sends its position twice as often, so the view stays smooth. Switching to a player far behind the one you followed loads their part of the world again. Lines on the right say when a player uses an item ("Alex used Syringe"), and buttons, trigger zones and shortcuts they set off are set off in your copy too. It is not 100% accurate (it is built from the positions the players send, about 15 times a second, in your own copy of their world), and the screen says so. STOP SPECTATING in WKSR, or the pause menu's main menu, ends it; when the match ends you go back to the menu. Players see SPECTATORS n in the top right corner, and spectators chat with them in the Match room.
  • Out of a match, watch the rest of it. When you die in a party (or lose a 1v1 whose winner keeps running), there is no death screen while others still run: you spectate them, starting with the leader, and the death screen comes when the match ends. This works in Steam lobbies too.
  • Players online. Connected to the WKSR server, the first page has a PLAYERS button: everyone who is connected, and what they are doing (online, ranked searching, ranked in game, ranked solo, in a lobby, lobby in game). Click a player for their card: PROFILE, MUTE / UNMUTE (a muted player's chat lines and "is typing" are hidden) and JOIN GAME when their lobby is public and open. Not in Steam lobbies.
  • Profiles: a player's best time, rating, ranked 1v1 record (W-L and win rate), runs finished (ranked and unranked counted apart: whole climbs played to the end; a 1v1 won without finishing does not count), resets (restarts in every mode), and their place on each leaderboard they are on. Counting starts with 0.9.6; unranked solo runs count when played while connected.
  • "X is typing..." shows above the chat's input line while someone in the same room is writing a line (lobbies, matches, Global, and Steam lobbies). Players on older versions do not send or see it.
  • Segment lobbies. CREATE LOBBY has a SEGMENT box: tick it and pick the segment in the list next to it, and the lobby's matches (1v1 or party) play that part of the climb instead of the whole one; the clock stops at the segment's end. Artifact bans are left out when the segment ends before the artifact room. Works on the official server and in Steam lobbies; players on older versions cannot join a segment lobby. The lobby browser shows each lobby's segment.
  • Keep running after a win. When your opponent dies in a 1v1, you win at once (ratings move then), but your run goes on: a prompt at the top says so, + keeps running (the prompt goes away) and - ends the run (both can be changed under OPTIONS; the prompt fades after 30 seconds). A ranked run you finish this way still goes on the 1v1 leaderboard. In a party, the last one standing (everyone else out, nobody finished) gets the same choice. The loser can watch or leave without disturbing the run. Ranked always allows it; in a friendly lobby the host decides with LET THE LAST PLAYER FINISH THEIR RUN (on by default; off, a 1v1 ends at the death and a party as soon as one player is left).
  • Every start begins disconnected. WKSR no longer connects by itself when the game starts: on its first page you pick CONNECT (the WKSR server) or STEAM LOBBIES each time, so it is always clear which one you are on.
  • No more provisional ratings. Every ranked match moves both ratings by the same amount, from your first match on, and the rating leaderboard lists everyone who has played ranked. (Ratings you already have stay as they are.)
  • Chat is easier to read: bigger text, in orange; a player joining shows in green, a player leaving in red.
  • The newest chat line at the bottom of the screen (while the chat is closed) now fades after 10 seconds. OPTIONS, CHAT can switch it off completely.
  • BACK goes back one page (to the page you came from) instead of closing the WKSR window. The first page has no BACK: close the window with its X.
  • The first page explains the two ways to play with others: CONNECT (the official WKSR server: ranked, leaderboards, lobbies, Global chat) and STEAM LOBBIES (through Steam, no WKSR server: lobbies and unranked runs only).
  • STEAM LOBBIES: play without the match server. On the WKSR window's first page, next to CONNECT, STEAM LOBBIES lets you play with others in lobbies the players host themselves through Steam. Open a lobby and your game hosts it; others join from the lobby browser, with the code or with a Steam invite. 1v1 and party lobbies (up to 15) with the same modifiers, bans, ready check, standings and lobby chat as on the match server. Players connect through Steam's relay, so nobody sees anyone's IP address, and nothing is sent to the match server. Nothing is ranked there: no ratings, leaderboards or Global chat. If the host leaves, a match in progress ends without a result and another player in the lobby becomes the host. LEAVE STEAM LOBBIES (or CONNECT) goes back. Steam lobbies stay open to players on the version before as long as an update does not change the match rules.
  • Lobby browser. LOBBY, BROWSE LOBBIES lists the public lobbies of players on your version: host, 1v1 or party, modifiers, how many are in and whether they are in a match. JOIN gets you in, no code needed. When you open a lobby, PUBLIC (ticked to begin with) puts it in the browser; untick it for a lobby that is only joined with its code. The match server needs its 0.9.6 update for the browser; until then the page says so.

0.9.5

Everyone needs 0.9.5: it can't play with 0.9.4.

  • SEGMENTS: a new mode. A solo run of one part of the climb, where the clock stops at the end of the segment. The first one is SILOS: from the start of the game to the button that seals the shaft at the end of the Silos (the one that unlocks the gate to the elevator). Connected, with the standard modifiers, every run is on a new seed and your fastest time goes on the segment's own leaderboard (LEADERBOARDS, SEGMENTS, then pick the segment). You can change the modifiers or type a seed: the page then says the run is unranked and does not count for the leaderboard. Offline, segment runs are always unranked. More segments will follow.
  • Chat rooms. The chat is now one panel for the whole game, with a tab for each room you are in. Global is everyone who is connected; Match is your lobby or 1v1 and opens and closes with it (a lobby keeps its chat from run to run). F8 opens the panel and closes it again (change the key under OPTIONS; it was T before, and a key that types a letter is moved to F8). The panel shows the room's lines of the last 24 hours, and Enter sends. A line can be 500 characters long, and the input line counts down what is left. Tabs are picked with the mouse, in the menus or while paused. The x on a tab leaves that room, and the + lists the rooms to join or leave.
  • Chat's one automatic rule: five lines within five seconds silence you for five seconds ("Slow down.. Silenced for 5 seconds"). The input line counts the seconds down, and what you typed stays in the box until you can send again. Trying to send while silenced does not make it longer.
  • With the panel closed, the bottom left corner shows the newest line of the room you have selected.
  • OPTIONS, CHAT: you join Global when you connect; untick JOIN THE GLOBAL CHAT WHEN I CONNECT to stop that.
  • The lobby page has no chat box of its own any more: the lobby talks in the Match room.
  • IN QUEUE: under the number of players online, the WKSR window shows how many players are searching for a ranked 1v1.
  • Fixed: typing in a text box of the WKSR window also typed in the game's chat (any word with a "t" opened it), and Enter there pressed the highlighted button of the main menu.
  • Fixed: the overlay and the WKSR window showing through each other. When a match or run begins the WKSR window closes, so the artifact bans have the screen to themselves, and whenever the window is open it is drawn over the overlay.
  • The result panel (VICTORY, FINISHED and so on) is now at the top of the screen, narrower and darker, so it no longer covers the game's own end screen.
  • When your character does not start: if another mod breaks the start of your character on a new version of the game (you spawn but cannot move), a red notice at the top of the screen now says so, names the mod when it can, and tells you to try without it.
  • Privacy, IP addresses: the match server's log now holds only a shortened IP address (203.0.113.x), and the privacy notice has its own section on what happens with your IP address. It is not stored with your player, and other players never see it.
  • Privacy: so that players can read back, the match server keeps chat lines of the last 24 hours in its memory (Global, and a lobby's while it is open). They are not written to disk or logs.

0.9.4

Update to keep playing with others: 0.9.4 is not matched with 0.9.3.

  • CONNECT and DISCONNECT: the game only connects to the match server after you press CONNECT in the WKSR window, and it remembers that for the next start. Until then the window has UNRANKED only: solo runs work offline. DISCONNECT takes you offline again.
  • No first-start page any more. What the match server keeps is in the readme, and under OPTIONS, PRIVACY NOTICE.
  • Escape in a run closes the WKSR window together with the pause menu.
  • Timer check: the check on a timer that stands still while you move is switched off for now.
  • The mod's options (WKLib's mod list) no longer show the old WKSR program's settings or the test settings, and the mouse wheel scrolls faster there.

0.9.3

Everyone needs 0.9.3: it can't play with 0.9.1 or 0.9.2.

  • WKSR is now inside the game. There is no separate WKSR program any more. A WKSR button on the side of the game's main menu opens RANKED, LOBBY, UNRANKED, LEADERBOARDS and OPTIONS, each with a BACK button. The same button is in the pause menu of a run, with the match, its splits and FORFEIT. Start the game from your mod manager as before. The package now installs ImuiBepInEx and WKLib, which draw the menu.
  • Your player name is your Steam name, and your Steam account links by itself when the game runs through Steam: there is no LINK STEAM any more. If another player already has your name, yours gets a number. Your rating, record and times stay yours.
  • First start: the WKSR window first shows what the match server keeps and what other players see. The game connects to the match server after OK.
  • The game and its public test release: players on either one can be matched and can share a lobby.
  • Ranked solo: dying and restarting in the game stays a ranked solo run, on a new seed. Before, it turned into an unranked run for the rest of the session.
  • Timer check: a finished run is no longer refused when the check thinks the timer stood still. The time counts, and the run is marked for us to look at.
  • OPTIONS has the game's hotkeys, ghost opacity, EXPORT MATCH DATA and the privacy notice.
  • Not in this version: proximity voice chat, REPORT BUG, the mods window and the desktop shortcut. Bug reports go to the Discord (EXPORT MATCH DATA makes a file to send along).

0.9.2

  • Added a readme line

0.9.1

Everyone needs 0.9.1: it can't play with 0.9.0.

  • New WKSR layout: RANKED (1v1 and solo), LOBBY (create or join) and UNRANKED (solo with your own modifiers and seed). The options behind the gear hold voice chat, the game's hotkeys, ghost opacity, export match data, report bug, and CREATE SHORTCUT, which puts WKSR on your desktop so you can open it without starting the game first.
  • Ranked solo: a solo run hosted by the match server, with the ranked modifiers. The server picks the seed, and every restart in the game is a new run on a new seed.
  • Unranked solo: with a seed typed in, a restart runs that seed again; with no seed, every restart is a new random seed.
  • Leaderboards (the trophy): ranked 1v1 by rating and by fastest time, and ranked solo by fastest time. One row per player, their best, with the version it was set on. Search for a name, or FIND ME. The boards start empty with 0.9.1: you are listed once you play ranked on it.
  • Replays: the 20 fastest runs of a time board can be run against as a ghost (PLAY AGAINST). After a run, SAVE REPLAY keeps its replay on your PC; UNRANKED, SAVED REPLAYS lists them with their seed and modifiers, to run against.
  • Mods list: the game tells WKSR which other mods are loaded, and the match server checks them against its list of approved mods. Every mod is approved to start with. Once a mod is marked as not approved, a game with it gets no ranked 1v1 and no ranked solo; lobbies and unranked solo runs need ALLOW UNAPPROVED MODS ticked, and stay unranked. WKSR names the mods concerned.
  • Times follow the game's own timer. The time in WKSR and on the overlay is the game's timer, to the hundredth: shortcut sections count three times over, as in the game. A 1v1 is still won by whoever finishes first; a party ranks finishers by their timer. Solo, pausing the game stops the clock; in a match it keeps running.
  • Competitive mode counts as unlocked while the mod is loaded, so every player can set up the competitive options.
  • A closed or crashed game ends the run in WKSR (in a match, that is a forfeit).
  • Hotkeys for start/ready, forfeit, splits, ghosts and chat can be changed in WKSR's options.
  • Players online is live, and WKSR says when a newer version is out. If the match server can't be reached, it asks Thunderstore for the newest version number.
  • LAUNCH GAME works after the game opened WKSR. (Steam kept counting the game as running while that WKSR was open.)
  • Performance: the in-game overlay and the level seeding do far less work each frame.
  • The flare gun of the "hunted" trinket always starts on the same place in the inventory, just right of the middle.
  • Deep Storage food now also makes the first Deep Storage level one with a food bar or pill bottle, and keeps the secret room open.
  • Perks: the Chute to Habitation interlude and the Hadal Diver room offer both Rabbit DNA and Pulse Organ. A refresh no longer brings back the guaranteed perk it just showed.

0.9.0

Party matches, proximity voice chat, modifiers, a ready check and text chat. Everyone needs 0.9.0: it can't play with 0.7.

  • Party matches: lobbies of up to 15 players, started by the host. One life and no restarts: die and you're out. The match ends when everyone is done, or 5 minutes after the first finish. In-game position (Mario Kart style, "?" on a shortcut), gaps at each split, and a ghost for every player.
  • Proximity voice chat: talk to your lobby, and in a match to the players within 65 m, who hear you from where you are. Push to talk (any key or mouse button) or open mic. WKSR's voice settings pick the microphone and both volumes, and you can mute anyone. A speaker symbol shows over whoever is talking. Voice is never recorded.
  • Lobbies are rooms now: they stay open after a match for a rematch, and the next player takes over if the host leaves.
  • Modifiers: CREATE LOBBY picks 1v1 or party, artifact bans (1v1) and curated seeds (Deep Storage food, perks, items, separately). SOLO has its own picker. Ranked always uses all of them.
  • Ready check in every match: press F9 or READY within 60 seconds once everyone has loaded.
  • Chat in lobbies and matches: T in the game, or the chat box in WKSR. /mute and /unmute hide someone.
  • Deaths are announced with the game's own death lines ("FUSED INTO THE MASS").
  • Ghost opacity slider in WKSR.

0.7.4

First release on Thunderstore.

  • The README lists what every match world guarantees (fair seeds).

0.7.2

  • WKSR, the client, is included and opens with the game.
  • WKSR never starts the game by itself; LAUNCH GAME starts it modded the way mod managers do, with the profile that has the mod.
  • First start: WKSR asks for a player name, starting from a random one.
  • Matches: one run each. Restarts are off, and a death ends the match (the survivor wins).
  • Practice: solo runs on any seed, no countdown, restarts as in singleplayer, and your best run on each seed as a ghost.
  • Ranked matchmaking with provisional ratings, friendly lobbies with join codes, artifact bans, a linked Steam account for ranked.
  • REPORT BUG sends bug reports with screenshots from WKSR.