crankshaft logo

crankshaft KraXen72

Use this command to install crankshaft:
winget install --id=KraXen72.crankshaft -e

Crankshaft Krunker Client by KraXen72

Crankshaft Krunker Client

Crankshaft is a feature-rich client designed to enhance your gaming experience in Krunker, an online multiplayer game. Built with TypeScript, it offers a seamless interface that elevates gameplay through tailored features.

Key Features:

  • Customization: Tailor your gaming setup with extensive customization options for controls and display settings.
  • Automation Tools: Streamline repetitive tasks with macros and automation scripts, reducing errors and saving time.
  • Performance Enhancements: Enjoy optimized performance with low latency and high FPS, ensuring a competitive edge.
  • Cross-Platform Support: Play effortlessly on Windows, macOS, or Linux, broadening accessibility across devices.
  • Security Features: Protect your account and data with robust security measures that prevent cheating and unauthorized access.
  • Clean Interface: Experience an ad-free environment with a distraction-free interface focused solely on gameplay.

Audience & Benefit: Ideal for gamers seeking to optimize their performance in Krunker, Crankshaft provides modders with tools to push the game's limits. Whether you're aiming for victory or exploring creative mods, Crankshaft ensures a smooth and secure gaming experience.

Install Crankshaft via winget to enjoy these benefits effortlessly.

README

crankshaft

GitHub All Releases Latest release Chat Recurring donation via Liberapay One-time donation via ko-fi.com

> a fast, feature-rich krunker client written in typescript

Download: Windows (x64) - Mac (x64) - Mac (arm64) - Linux (x86_64 AppImage) - Other

splash

client features

  • very good performance with additional performance enhancing settings
  • unobtrusive
    • no clan colors
    • no watermarks
    • all features can be disabled
  • highly customisable, many different settings
  • hides ads by default (can be disabled)
  • resource swapper (sounds & all other assets)
  • css swapper
  • userscript support
  • discord RPC (gamemode, map, class & skin)
  • customisable matchmaker (Gamemode, Region, Min/Max players, Time)
  • quick class switcher using #hiddenClasses
  • built-in hotkeys: more about them here
  • maintained & open source

quality of life

  • very lightweight
    • only 100kb of javascript combined
    • dependencies are carefully chosen (currently, there are 3)
  • no-compromise mac, linux and windows support
  • secure: web security is on, the remote module and nodeIntegration are disabled
  • splash screen is not a separate window, shows only while krunker is actually loading.
  • Discord RPC: if enabled, only updates while you're not actually in game. Does not use setInterval like other clients.

userscripts

  • any .js file in %APPDATA%/crankshaft/config/scripts will be considered a userscript and executed if enabled in settings.
  • There are a few official/example userscripts:
    • keystrokes.js: shows WASD, shift, space and 2 configurable keys on screen.
    • autospectate.js: automatically joins game as spectator if turned on
  • all userscripts are disabled when they are first added.
  • %APPDATA%/crankshaft/config/tracker.json is used to keep track of enabled userscripts.

If you want to write a userscript or learn more about them, read the Documentation
> Use userscripts at your own risk, the author(s) of this client are not responsible for any damage done with userscripts because the user is the author of the script. > Do not write or use any userscripts which would give the user a competitive advantage.

hotkeys

Press Alt to show electron menu. Here you can find all hotkeys.
standard hotkeys like zooming, copying/pasting and devtools also included.
Client's hotkeys:

  • F5: reload
  • F6: find a new match,
  • F7: copy game link,
  • Ctrl+F7: join game from clipboard
  • F12: devtools (alternative hotkey)

matchmaker

a customisable matchmaker (with GUI settings!) that you can use alongside/instead of the regular F6 matchmaker

building from source

  1. you have to have git, nodejs, and pnpm installed.
  2. installation:
    • git clone https://github.com/KraXen72/crankshaft
    • cd crankshaft
    • pnpm i
  3. building from source: pnpm dist

contributing

  1. follow previous steps 1 & 2
  2. make your changes + running from source: pnpm start/pnpm dev (rebuilds on changes, refresh krunker with F6)
    • make sure to run the code through the configured eslint before contributing. (vs code will enable it if you have the extension)
  3. after your changes, try it out with pnpm testbuild - this will minify the code & run the app.
    • until automated tests are added, try to manually test it works even after the code is minified. if it does not, you're probably doing something wrong
  • please report any bugs/feature requests in the Issues.
  • feel free to submit pull requests, they will be merged as long as they support the client ideology.

wanted/potential features

  • here are some features i wanted to add, but don't have the time to
  • if you're looking to contribute, feel free to open pr's for these
  • Matchmaker: Map autocomplete
    • create a simple typeahead/autocomplete for the matchmaker, where you can input maps (official ones)
    • allow toggling the list of maps between whitelist/blacklist
    • take this white/blacklist into account when using the matchmaker
  • Add tests
    • could be useful, testing a few thigs like: if the game loads, if settings load, if you can set a setting, etc.
  • Add autoupdate (whatever official way electron recommends)
    • i tried to add this once and failed.
    • honestly good luck since this client uses an ancient electron version due to all the newer ones having a bug that causes aim freeze in krunker

credits

support development

Recurring donation via Liberapay One-time donation via ko-fi.com

You can support ongoing development & maintainance by donating. All donations are highly appreciated! <3

Versions
1.8.0
1.7.0
1.5.7
Website
License