JOIride — The Handy sync mod (+Intiface support)

This is a fill for the request in Game mod request - JOIride.

First things first: JOIride is the work of nopeenopoo - this mod is just a layer on top of their game and would be nothing without it. If you enjoy it, please support the dev: https://www.patreon.com/cw/nopeenopoo

What it does

Instead of mapping tempo to a constant speed, the mod hooks the game’s rhythm system and streams the actual on-screen beat patterns to the device via the official Handy v3 API in HSP (streaming) mode. Every note becomes a stroke landing exactly on the beat, including the grouped sub-beat variations (1-2, 1-3, 2-5, …) across all tiers (Slow / Normal / Fast / Ultra Fast). Server-time synchronization cancels out cloud latency, so it stays beat-accurate.

On top of that:

  • Grip mapping: the on-screen grip type sets the stroke zone (Closed = full, 3 Fingers = middle band, Ring Grip = upper band + double rate) and tightness sets the rate (Loose = every 2nd beat, Tight = full range). Grips also shape the strokes (eased rise + fast down-stroke and vice versa).
  • Edge sequences: the game’s edge events have no rhythm pattern, so the mod generates its own: fast down-stroke, slow bottom-eased rise, with the tempo ramping up over your session (configurable min/max/ramp).
  • Filler strokes: during card draws, event intros and other quiet moments a gentle sine-wave (or linear) filler keeps things moving, with its own tempo ramp and zone. Toggleable.
  • End scene: full-range strokes at a configurable tempo for the finale.
  • Animation sync: the character’s animation speed follows the device: one animation loop per stroke cycle, so her movement actually matches what you feel.
  • Card auto-pick: hands-free play: after a configurable delay a card is picked automatically (never the run-ending J card). Optional cheat mode always picks the hardest card of the hand.
  • Auto-reconnect: Wi-Fi hiccups or device drops recover automatically; the session resumes on its own.
  • QoL: the game no longer freezes when you alt-tab; every setting hot-reloads while the game runs (edit the .cfg, save, applies in ~0.5 s); device stops on pause/quit.

Everything is configurable (stroke zone, max stroke speed, all tempos/ramps/zones, per-feature toggles). The full parameter reference is in the README inside the zip. There’s also a Protocol = HAMP fallback (constant speed by BPM) for older firmware.

Not a Handy owner?

The mod also works with any stroker or vibrator via Intiface Central. Set Protocol = Intiface in the config. Strokers follow the same patterns, vibes pulse along with the strokes, and all features below work the same.

Handy owners should stick with the default Protocol = HSP (the integrated Wi-Fi mode) rather than going through Intiface, it’s the smoothest option for that device.

Requirements

  • JOIride (Windows, 64-bit)
  • BepInEx 5 x64
  • The Handy: firmware 4.x, connected via Wi-Fi, plus your connection key (Handy app) — or:
  • Any Intiface/Buttplug device: Intiface Central running on the same PC

Installation

  1. Extract BepInEx 5 x64 next to JOIride.exe, run the game once, close it.
  2. Extract the mod zip into the game folder.
  3. Enter your ConnectionKey in BepInEx\config\com.joyride.handysync.cfg — or set Protocol = Intiface and start Intiface Central instead.
  4. Play. The log (BepInEx\LogOutput.log) shows “HSP playback started” once a session begins.

Download

JOIride v0.1.5

JOIride v0.1.1

The zip contains the plugin DLL, a config template, the full README, and the complete C# source (HandyMod\ folder). Build it yourself with dotnet build if you don’t want to run a stranger’s DLL. No game assets are included or modified on disk; the mod hooks the game in memory via BepInEx/Harmony.


Private-use fan mod, not affiliated with nopeenopoo or Sweet Tech AS (The Handy). Use at your own discretion - and go support the game’s developer.

31 Likes

Keep getting
[Warning:Joyride Handy Sync] Handy v3 API error: HTTP 401 on /mode: Unauthenticated
Tried with and without an application key, Haven’t used api 3 before so not sure what Im doing wrong

My current firmware version is 4.2.2. Is the exact firmware version required?

I am also continuing to get the HTTP 401 Unauthenticated error

I also get the HTTP 401 error.
My firmware is FW 3.2.3+c1ddbc7e (can’t switch to 4.0 because the bluetooth mode is lobotomized there), but I’ve provided the API key.

Does API key need quotes around it? What about spaces?

The HAMP protocol it works, but it doesn’t respect the beats at all. But HSP gives HTTP 404. They key is copied from the handy site correctly.

1 Like

Updated the original post with version 2.18. The API key is now embedded and only the regular connection key is required (as you should be used to), hope this makes setup a bit more easy and should resolve the unauthenticated error.

@elquineth
For the HSP mode any firmware 4.x is required so yours is fine, try v2.18 to see if the unauthenticated error is gone.

@thewataru
The HAMP mode is currently a rather sloppy fallback and needs some tuning (parameters are exposed in the config though). Did not put much effort there as HAMP won’t allow playing such patterns. Maybe an EDI integration but would need to check if this could work out.

1 Like


ive done whats said but i get no log file or anything

Folder structure seems correct.

Have you tried v2.18 (the API key is gone now)?

To verify: the mod should be in BepInEx\plugins\JoyrideHandySync.dll and the log files are in the BepInEx folder.


yes the latest version

Sorry just noticed, BepinEx seems to be installed wrong. Should look like this:

These are missing in the main game folder (provided in the BepinEx download):

Interested in seeing a mod that works through Intiface / Buttplug. This would allow much more devices to interact with the game.

That fixed it thanks! Works good

Sure, why not.

Updated the post to include the new version v2.19.2 with Intiface support.

By default the mod sends simple, clean stroke commands so the motion feels smooth on Bluetooth toys (IntifaceStrokeMode = Endpoints); faster toys like the OSR/SR6 can set Curve for extra detail. Handy owners should keep using Protocol = HSP, it’s the smoothest option for that device.

1 Like

So I discovered that with interface even with it being set to protocal = Interface it will reset to HSP every time

Try with “Intiface” instead of IntERface. Also make sure that you downloaded v2.19.2 of the mod, previous versions do not support intiface.

turns out I didn’t trouble shoot enough and had the server running while I was setting it up. Once I turned off interface while I was fixing the config it seemed to fix itself. I legit have never seen that be an issue before lol

1 Like

Any chance this will work on Android?

Sadly not, the game is Windows only.

Is there a way to turn off the filler

i think bepindex isnt initiating
it is but it isnt accepting intiface on the protocol, it resets to hsc
also it doesnt let the mod to start if you dont insert a handy key on the options

Thank you for the update. It’s working great!

1 Like