You are viewing a potentially older version of this package. View all versions.
WKSR-WKRace-0.9.3 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 3 days ago
Version 0.9.3
Download link WKSR-WKRace-0.9.3.zip
Downloads 3
Dependency string WKSR-WKRace-0.9.3

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 but there's a solo q mode for those who want it.

You can launch the game via r2/thunderstore or via the client that comes with the mod (launch game within the client launches it via steam with bepinex launch commands)

Join the discord for discussions about features, potential changes, bug reports, etc. https://discord.gg/AZpr9XPTsD

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.
  • 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.
  • Practice: solo 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 T in the game, or type in WKSR.
  • WKSR:, a small app that sits next to the game. It finds matches and shows your splits, standings and results. It comes with this package and opens when the game starts.
  • Leaderboard: user must link steam account to be applicable for the leaderboard. Works sorta like the current ingame leaderboard wuckle has.
  • Proximity voice: It's private and encrypted, and funny.
  • Approved/unapproved mods: since this mod will have a leaderboard there will be a list of mods that are approved (allowed to be used during a leaderboard applicable run) which will mostly be cosmetic (FOV, skins, etc.), and unapproved (game tampering mods that mess with rng or level design or physics etc.) Unapproved mods can be used in party lobby with it ticked on or in unranked solo play only. If you'd like to request a mod to be on the approved list, join the discord.
  • 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 comes with it.
  2. Press Start modded. WKSR opens next to the game.
  3. The first time, WKSR asks for a username. Other players will see it.
  4. For ranked races, press LINK STEAM once. Steam's own page opens in your browser to confirm the account. WKSR gets your Steam account number and no other data. This is used to make a profile based on your steam id.
  5. Press RANKED, LOBBY, or UNRANKED to practice.

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 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 the client options.

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
T Chat (Enter sends, Esc cancels)

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

Something wrong?

Press REPORT BUG in WKSR, add a screenshot, and it comes straight to us.

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

Privacy

WKSR connects to our race 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 never stored. The i button in WKSR 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.

Client UI made by floor7 aka Spilled, thanks!

Thanks to:

-Aricin -Spilled

For live testing and feature discussing!

CHANGELOG

Changelog

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.