A downloadable tool for Windows

Download NowName your own price

Welcome to KBonk!

KBonk is a lightweight Twitch and VTube Studio plugin that gives viewers the ability to interact with the streamer by throwing things at them!

What kinds of things? Well, pretty much anything as long as you've got a picture of it!

  • KBonk's throwable items are image-based, making it easy to add new items on the fly!
  • Images can have their weight and size adjusted in the provided UI, allowing easy variation of the items thrown!
  • Sounds are able to be loaded and customized in the same way, with individual as well as global volume controls!
  • Images can make use of "Sound Overrides" to play a specific sound when that item is thrown instead of picking from the global sounds!

Items can be thrown manually or through a selection of events:

  • Channel Point Redeems
  • Chat Commands
  • Follows
  • Subscriptions
  • Gift Subscriptions
  • Bits
    • The program will attempt to throw an accurate number of Bits using randomly selected variations of Bit icons!
  • Raids
    • By default, Raids will attempt to throw the Raiding channel's emotes at you!
  • Individual cooldowns for each of these events!

Other properties are also available to edit, such as:

  • Calibration (for any number of models!)
  • Number of items thrown in a Barrage
  • Frequency at which items are thrown in a Barrage
  • Speed that the model will return to neutral after being hit
  • Global volume
  • Delay (for if you notice the objects hitting before the model reacts!)
  • Physics Simulation
  • More!

Create "Custom Bonks" that increase the level of customization:

  • Item Count
  • Windup Time
  • Windup Sounds
  • Impact Decals
  • Override various settings:
    • Barrage Frequency
    • Throw Duration
    • Throw Angle
    • Image Gallery
    • Sound Gallery

Well, what are you waiting for? Get bonkin'!

FAQ

Does this work for YouTube/3D models/PrprLive/Mac/etc?

This tool only works for Twitch Streaming with Live2D Models using VTube Studio on Windows. At this time, I have no solid plans to extend it past these scopes.

At this time, only VTube Studio is able to be supported due to KBonk's reliance on the VTube Studio API. I may consider looking into Mac/Linux versions once I've deemed the tool stable.


Can I update and keep my settings?

Yes! As of recent versions, settings and files are stored in a persistent location to ease the update process. If updating to version 1.19 from a previous version, though, make sure to overwrite your old version to keep your settings!


How's the CPU usage?

Around 5% in normal usage! Minimizing the main window to the tray will reduce its usage to basically zero, just leaving the Browser Source as the only significant source of CPU usage.


Does this work with VBridger?

Yes! Thanks to an update to VTube Studio's API, KBonk can now work with VBridger without issue. Make sure you have the most recent version!


What makes it different from T.I.T.S?.

KBonk exclusively uses 2D images rather than 3D models! That's the primary difference, with others mainly being a result of the different implementation. KBonk is essentially a browser app, being built in HTML and JavaScript. As a result of the different implementation, my hope is for KBonk to be a very accessible and lightweight alternative!


I found a bug!

Please tell me! This is my first time actually releasing software out into the wild and I'm sure it's bound to have some issues. I just hope they're relatively minor!

Credits

Sample Images: 420 -Pixel Art- Icons for RPG by 7Soul on DeviantArt

Sample Sounds: GameaudioGDC

Inspiration: Rema

GitHub

This program is open-source! Click here to visit the repository.

The code is also able to be viewed in the resources/app folder.

StatusIn development
CategoryTool
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(4 total ratings)
Authortypeou
Tagselectron, lightweight, live2d, obs, plugin, streamer, Streaming, twitch, vtuber, vtube-studio
Code licenseMIT License

Download

Download NowName your own price

Click download now to get access to the following files:

KBonk 103 MB
Version 1.22

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

I posted a couple of things to GitHub a little while ago, and posted something new today. None of them are bugs, just feature requests. For some reason, I think I saw in the documentation we should post issues on GitHub, but I see you're super active here so maybe I misread something, since I was setting up a whole new streaming setup at the time. I probably got confused tehepeko

Just to keep it short:

--The text for walking through calibration just went way over my head. Nobody else seemed to have difficulty though lmao so maybe it's just me, but it took me WAY longer to do initial calibration than it should have.

--Being able to duplicate throwables would be nice. This is a good workaround for something I'd like to do with barrages that I can't, but I wanna keep the post shorter so I won't go into detail here unless you ask

--Being able to set the IP address for VTS & Browser as well as the port would be really nice for Dual PC users. I manually changed the IP from 'localhost' to 'what.I.needed' in bonker.js and so far so good, but obviously that's a minuscule sample size.

I have no idea on what i did wrong, i tried everything and for some reasson my Vtube studio doesnt connect with Kbonk :/

My API is running, my OBS have the browser source right, the resolution is the same, the 4 digit number port matches perfectly, i refreshed the browser source again and again, everything its ok, i'am so confussed on why it doesnt work, and if that wasnt enough, i uninstalled and installed Kbonk, its just stuck in "Connecting to Vtube studio..."


The worst part of all, is that i saw another person with the same issue and nobody helped them, i think this just doesnt have a solution, which is a shame. 

Hi, sorry about that! Could you post a screenshot of the port settings in KBonk as well?

I have the same problem :(


Could you take a look at the other reply to see if yours is set up in a similar way? KBonk has settings for two different ports; if they're both set to the same number, it'll cause issues when two things try to use the same port at the same time.

If the  "Browser Source Port" and "VTube Studio Port" in KBonk's settings are the same, please change the Browser Source Port to a slightly different number!

(2 edits)

You mean this?, i could send more screenshots about the settings i could even send the OBS settings, i think everything is alright, its just that Vtube studio doesnt want to recognize Kbonk

Yes, that's it! I can see that the "Browser Source Port" and "VTube Studio Port" are the same. Please ensure those numbers are different! There's two separate things trying to use the same port, which is probably what's causing the problem.

I should've added something in place to keep the same number being assigned to both, I'll look into that for the next update!

help!  what should I do? twt


Please go into the settings and try changing the "Browser Source Port" to another 4-digit number!

THANK YOU!!!!!

hii ive been getting this pop up for a while now and wanted to know what it means and what i should do.. also when the bonks come in they r delayed and laggy is there a fix for this too? 

Hello! Sorry about that, I'm not entirely sure what might be causing that; but it seems like it's having some issues with sending messages back and forth between different parts of the app.

Would you be able to try changing the "Browser Source Port" in the Settings to another number (it can even be just up or down 1 number), just in case that port is being used by something else, then try restarting things and seeing if there's any difference?

Hey, I think this is fantastic. I have one small request. Please can you make hot keys for custom bonks or a way to integrate with streamer.bot. I want to set up it Streamer Bot that 1 redeem is throw stuff at me. But depending what you type will be the type of throw, and Certain throws I want to add extra effect (Like Blood on my model for weapons redeem) etc. If possible, thank you :)

Heyhey! I actually made a small hack a year ago that integrates Streamer.bot for hotkeys and chaining actions. I just patched my code into the most recent update and it still works. Maybe this could be officially added if more people are looking for this functionality?

This tool is fantastic, thanks for releasing it!

Is there anything to look out for on redeems? I have 2 redeems, one for the Emote Single (named Clonk), and one for the Emote Barrage (named ManyClonk).

Both detect the redeems correctly after doing "Listen". However only the Emote Barrage will activate correctly. The Emote Single will never show up even after being redeemed, even though the test screen works correctly.

Is there anything I should be looking for to fix this?

Hey there, thanks for this tool -- it's perfect!  I have a question about item weights though: I can't get it to work.  I have 7 items, and dropped the Weight for 2 of them to the lowest they can go, but both still show up ~1/7th of the time.  Item weight in this case should mean the frequency of appearance, right?  Or am I misunderstanding?


Thanks so much!

- Alanzi

Oh, sorry about that! The "weight" setting refers to the item's physical weight; that is, with how much force it will move your model. There's nothing in place to change the chances of a particular item being thrown at the moment, sorry!

Oh, that makes sense!  Thank you for the reply!

hi, im having an issue where no matter what i try kbonk wont connect to vtube studio and im stuck on "connecting to vtube studio". im so confused, i have everything set correctly, highth and width, port number, api is turned on and i dont know what to do, any ideas how i could fix this? i also redownloaded kbonk and set everything up again, i really wanna get this programm to work as its amazing from what ive seen.

I had this problem too but then I found out that I hat to enable API on vtube studio! see if this works for you

Hi! First, thank you for making this software. It is pretty light for my laptop and truly grateful for it!


However, I often encounter issue with the software plugin and VtubeStudio where it often disable by itself. The software struggle to reconnect with VTStudio after couple minutes running it. 


Regardless I use VTubeStudio non steam launcher or steam launcher. Is there a solution to it?

Hi, so I set everything back to default settings and the images themself are normal; but whenever I throw something the image are flat. This also applies to the default items as well. Do you know how to fix this?

Could you elaborate on what you mean by "flat"?

The image looks warped

Did you happen to resize the browser source in OBS by dragging the edges of the red box around? If so, could you try to reset the transform (should be under the right click > transform menu) in OBS and see if that helps?

If you need the browser source at a specific size, please make sure to do it by changing the size in the browser source's properties (there should be "width" and "height" properties that you can set)

Hello! Would it be possible for the software to be modified so it works on veadotube, as in letting us to calibrate the hitbox by ourselves without live2D.

Hello! First of all it's lovely you made this available! But I ran into a problem. The calibration seemed to work fine and sounds work, but all items thrown at my model are invisible. Can't find a solution for it

Thank you for using it! Would you be able to confirm that the bonker.html Browser Source in OBS is layered above, and has the same size and position as the VTube Studio source? (When you click on each of the two sources, the red box should cover the same area)

It wasn't any of that. I was being stupid and looking at Vtube studio even though of course the objects only show on OBS. Sorry this was my mistake entirely lol

Hi! I had your program work for me for a while however I am not encountering "Uncaught Exception: SyntaxError: Unexpected token" error when I open it. The program still opens however I am unable to click anything within it. I've redownloaded it again thinking I broke something but it remains like this. Any suggestions how I can further trouble shoot it? Thank you!

Sorry to hear that! Would you be able to take a screenshot of the error so I can take a look?

This is what pops up for me. Once I click ok it starts up the program anyways but it's non functional.
(1 edit)

Would you be able to open your search in Windows, type %appdata% and hit enter to bring up the AppData/Roaming folder, then go into the "karasubonk" folder?

There should be a "data.json" folder inside. Would you be able to send that to me privately (Twitter or Discord @typeou, email typeou@typeou.dev) so I can take a look and see if I can find anything that might be causing it?

In the mean time, if you move that file somewhere else, it will reset all your settings but it may also solve the problem. I'd rather you not have to lose your settings if possible, and I'd like to figure out why this happened, and being able to take a look at that file might help with both of those!

Sent! Again, thank you so much for looking into this!

Based on the file you sent, I think something did go very wrong with it somehow! It's just a bunch of empty characters instead of the normal data, so there'd be no way to salvage any data that you did have unfortunately.

So that's almost definitely the cause, so if you delete that file it should be able to regenerate it properly and start working again! Any files you uploaded will still be in the folder in AppData (throws, impacts, decals, windups) but you'd need to upload them again.

The data file must've somehow gotten corrupted, but I have no way of knowing how that happened at the moment. I'll keep note of it and see if anything comes up, though!

Knowing this, I should be able to add something to automatically make a backup to load instead if it has issues loading the normal data file.

When I stream I have a second model loaded in as an attachable. I was wondering if it will at all be possible to have the attachable model be the reactive one rather than my main model?

Due to how the VTube Studio API works, I don't believe it would be possible to specify which model reacts. I think the only way would be a separate VTS instance, so KBonk is only sending data to one, but if it's attached to your model then that might not work for your use case 😔

OMG I never thought of that! This works perfectly! You are a legend! Thank you so much <3

Hi! I don't think I am good enough with codes to find it on my own in the GitHub, so I'll just ask: Is there a way/username to whisper to KBonk commands directly without the rest of chat seeing them?

KBonk doesn't use a chatbot of any kind, so if you're unable to use redeems or the test buttons in the main app for your purposes then unfortunately public chat messages are likely what you'll need to use!

Can I ask what your specific use case is?

I was trying to set up a twitch channel point redeem that only works if the user has a certain rank in Mix It Up. My general idea was to make the redeem go through MIU, check for the rank there, and send a command to KBonk if the rank is sufficient. I hoped to make the command kind of "secret" so users can't just type the command instead of using the redeem.

I see! That wouldn't be possible at the moment, but I could try to make a small change that might be able to work. Assuming MIU has its own chatbot with mod privileges, would adding an option to make a command mod-only be sufficient?

If KBonk would be able to differenciate between commands from twitch mods and those of regular viewers, that would actually solve my problem! :D
I don't know if that function is sought after enough to warrant that extra work for you, though.

It should be pretty easy to do that! I'll try to find some time for it soon. There's at least one other thing I've got planned for the next update as well, so it's probably about time I try to get a few small changes done.

Ran into another problem (my own fault though, oof).
I can't get Kbonk back up. It's asking me to set up the API but I accidentally edited the Browser Source Port number to 8001. I don't remember the original one and can't find out how to reset it or find the number elsewhere. :(

Ah, that's the default VTS port so it might be running into an error trying to use it! The default one is 8080, can you try setting it back to that and refreshing the browser source?

Hi. I just set up my kbonk and deleted the default images (except the water bottle) and added my own. But when I test the bonks, nothing gets thrown but my model reacts and the sound effects occur. How do I fix this??? (Also tried to DM you on Twitter but messages won't send)

(+1)

Could you confirm that the Browser Source is visible and fully overlaps with the VTube Studio source in the scene in question? The Browser Source should have the same size & position as the VTube Studio source!

Got it, thank you!! <3 My viewers are interacting a little more because of the ability to chuck things at me haha~

(+2)

Hi, I'm sorry to bother you but I'm having a huge problem with the app. I've upgraded to the newest version and it's asked me to login (all fine) but I can't accept the Twitch Cookies and when I login it says 'Unsupported Browser'.


If I go into Developer Mode (from the View menu of your app) it says there is a GraphQL error. I've looked it up and all recommendations are like 'clear cookies', 'clear cache' and 'use incognito' - but I obviously can't use these as this is a native browser within KBonk.


Please help - I can't use this app at all now!

I believe this to be a Twitch-side issue, since I'm seeing some reports of the same issue outside of KBonk, but I'm looking into it. Sorry for the trouble!

I've updated KBonk with a different authentication method entirely, so you should be able to update and log in now!

Thank you so much! I really appreciate it and thanks for all the work you do on this app.

Thank you for letting me know of the issue, and thank you for using it!

Hello! thank you for this wonderful software! I have so much fun using it. However, I am having problem with the sounds. They don't hear it on stream even with adding audio source and turning monitor and output on in OBS.. Is there a way to fix this?

Sorry to hear that! Are you able to hear the sounds? Does it show activity on the monitor? Are any of its audio channels unchecked in the audio properties window?


It operates similarly to an alert box (they're both browser sources) so if you have one of those that's working, if the settings are the same they should act the same! Sometimes, OBS can just be a bit fickle and needs to restart to get some audio stuff to start working properly even if all the settings are correct.


If you're unable to sort it out, feel free to message me on Twitter in case this ends up needing a longer conversation!

thank you for your response! my alerts and sound alerts are working properly and their monitor are okay too but for kbonk it doesnt appear on the audio mixer, i tried adding audio source and even if there is a meter the kbonk still cannot be heard >,< the kbonk audio should be heard on stream cuz the checkbox on properties are checked and even monitor output is selected on the drop down.

Would you be able to screenshot the browser source properties as well as your audio properties window so I can have a look?

Hi typeou! I am updating my current version (v.1.17) to the latest one, and I just wanted to ask, which specific files do I need to keep from my old version to retain my settings? Thank you so much!!!

(+1)

Please just overwrite your old folder with the new one! Or, alternatively, you can copy over the "data.json" and "throws, impacts, windups," and "decals" folders.

If you've already opened the new version, you'll need to copy these to another location as well. If you open your start menu and search "%appadata%", it should open a folder containing files for various programs. You should be able to find one labelled "karasubonk" where you'll want to copy those files to.

This consistent data location means that data will always be saved between versions now, so you shouldn't need to worry about it anymore after this version!

I see! Thank you very much!!!

I'm not sure if this is by design, but I have to log in every time I restart KBonk. Is there a setting to remember my login?

That's an issue some users have been having that I'm not exactly sure the source of. Could you try logging out manually via the button and logging back in? That's usually helped!

(1 edit)

I just tried that, as well as reinstalling from a fresh download. I noticed someone mentioning that things work better in the C Drive? Maybe I'll try installing it there.

Edit: Unfortunately, fresh install to C Drive, disconnecting from Twitch Authorized Connections, and clearing some browser cache didn't help.

I'm sorry, I'll have to keep looking into things around this issue! It's been difficult to find time to work on KBonk lately, but hopefully I'll have some time sooner rather than later

I hope you don't mind, but I made a few modifications to make this work for me. I added a few lines to make the functions work through Streamer.bot to bypass the Twitch login.

That's perfectly fine! It's open-source anyway, so feel free to make any adjustments you like

This is a nice software, perfect for my 2D Vtuber but I found a little problem is when I try and my friend we try to adding a new image, that not work, we having the image but when we clic to test nothing is happen, but for the other all like to work perfectly for now!

(+1)

If you've recently installed a new version into a new folder rather than overwriting the old files, please make sure that the Browser Source in OBS is pointing towards the new folder! That should fix that, I think.

This is work! Thank you very much, this working perfectly! we said you thank you for your help and this software!

is there a way to have separate profiles? i use separate vtube studio instances for my scenes so one has my character large in the centre and the other in the corner. the tracking doesnt follow when i switch between scenes and i tried using different copies of the app but it still doesnt work

When you say separate VTube Studio instances, do you mean that you have two copies of VTube Studio running with separate sources, or just that the source in OBS is in a different position depending on the scene?

the source in obs is in a different position depending on scene

In that case, for now I would recommend applying the same position/scale offset that you've applied to your VTS source to the KBonk browser source for now! Items will appear out of thin air when thrown from certain directions, but the impact should be aligned with the model at least! I generally recommend creating a group for the browser source and VTS source to keep them aligned if you tend to move your VTS source around.

For best results, I do overall recommend keeping both VTS and the KBonk browser source covering the whole OBS screen and using hotkeys in VTS to change the position of your model depending on the scene. That's what I do!

I'll definitely consider some type of calibration profile option to help with this type of situation, but finding a good solution might take some time! Especially one that would be less cumbersome than just using model position hotkeys in VTS. Best case scenario, I'd be able to read scene info from OBS and change calibration profile automatically based off of that!

For now, thanks for using it, and keep an eye out to see if I'm able to figure something out!

thanks i'll test this out and see how it does ^^

the app works amazing! i did notice one thing, if you have the app running from a drive other than the C drive adding new items doesn't seem to work, not sure if it's something worth fixing or just documenting it somewhere. other than that i had no issues getting it to work

Thank you for letting me know! I'll definitely see if I can find a fix for that.

Is it possible to customize the number of bits thrown at you based on the type of bit cheers? E.g. throw 5 bits when someone used cheer 1, throw 50 bits when someone used cheer 100, etc.?

It's not able to be customized to that extent, currently it does its best to throw an accurate total number of bits through a combination of appropriate icons, but I'll consider this feedback for future updates!

I see this would be a great feature to do, as well as having customized Bonk Types for Subs and Gifted Subs (currently only Single and Barrage are available in Bonk Type select menu^^) similar to the Redeems :D Thank you so much for your reply and I hope you will consider also adding this in the future :D KBonk is so SUGOI DESU ðŸ¤©ðŸ¤©ðŸ¤©

(+2)

Oh, I never realized only single and barrage types were available for subs! That must've been leftover from the old version, thank you for bringing it to my attention! I'll definitely have that fixed next version. And thank you for using it!

This is amazing ðŸ¤©ðŸ¤©ðŸ¤©

Thank you so much for this. Its amazing! I was wondering how to update without losing all your settings! Unless im missing something ;w;

Hi! The versions you download here don't include your data file, so it's totally safe to overwrite the old folder with the new one directly from the .zip.

Just don't extract the new version, run it, then overwrite! It generates the data file on first launch, so that would end up overwriting your old settings.

I intend to make this functionality more clear and/or semi-automatic next update!

Oooh thank you so much! \o/

Im not sure if this is a bug but i'm running into this issue, when I disable event commands (the enable check box) it does not save the change.

Thank you for letting me know! That does indeed seem to be a bug. Looks like I missed something there. A fix will be included in the next update!

Awesome, Glad I could help!

Hello I still have the issue that when i want to disable a command then nothing is disabled...

how do i make it work with point redeems?

(1 edit)

After you create a redemption event (or when you wish to change an existing one), click the "Listen" button and then just use the channel point redeem in your channel! It'll automatically associate and should start working right away. There's some images showing the process on part 5 of the help page as well!

ohhh this looks so cool! I will try it!