Home›Java›Mods›KickEvents KickStreaming MultiStreamer | Channel Reedemptions, Subs gifted, Kicks gifted
KickEvents KickStreaming MultiStreamer | Channel Reedemptions, Subs gifted, Kicks gifted
ModsJava

KickEvents KickStreaming MultiStreamer | Channel Reedemptions, Subs gifted, Kicks gifted

Java mod listed for Minecraft 1.20–26.x. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
[​IMG]
[​IMG]

KickEvents​

Bring your Kick stream directly into Minecraft.

KickEvents is a Paper and Folia plugin that listens to official Kick webhooks and turns channel activity into Minecraft console commands. Channel reward redemptions, gifted subscriptions, and gifted KICKs can trigger announcements, rewards, effects, minigames, server events, or practically any action that can be executed through a command.

The plugin includes its own lightweight web server, OAuth callback page, and webhook receiver. You do not need to develop or host a separate website or external bot. Simply configure the IP and port, connect your public domain or tunnel, create your Kick application, and authorize your channel with /ke login.

Versions supported: 1.20 - 26.2


Main features

How it works

KickEvents creates a connection between Kick and your Minecraft server:

  1. A streamer authorizes the plugin using /ke login.

  2. Kick redirects the streamer to the callback page hosted by the plugin.

  3. KickEvents securely stores the authorization token.

  4. The plugin automatically subscribes the channel to the supported Kick events.

  5. Kick sends signed webhook requests whenever a configured event occurs.

  6. KickEvents validates the webhook and finds matching rules in rewards.yml.

  7. Every command in the matching rule is executed from the Minecraft console.
For example, a channel reward can give an item to a player, start a server event, change the weather, summon a mob, broadcast a message, or call commands from another plugin.

Supported events

Channel reward redemptions

Event name:

Code (Text):
channel.reward.redemption.updated
This event is received whenever a viewer redeems a channel reward or its status changes. Rules can be filtered by the exact reward title, streamer, and redemption status.

Kick reward redemptions may arrive as pending and later be updated to accepted or rejected. In most cases, using statuses: [accepted] is recommended so the action only runs after the redemption has been accepted.

Code (YAML):
- event : channel.reward.redemption.updated
streamer
: ""
reward-title
: "Give me a diamond"
statuses
: [accepted ]
commands
:
- "give {user} diamond 1"
- "broadcast {user} redeemed {reward}
: {input } "
{input} contains the optional text entered by the viewer. If the reward does not request text or Kick sends null, the placeholder becomes an empty value.

Gifted subscriptions

Event name:

Code (Text):
channel.subscription.gifts
This event allows commands to run when someone gifts subscriptions. You can require a minimum amount and create different rewards for different milestones.

Code (YAML):
- event : channel.subscription.gifts
streamer
: ""
minimum-amount
: 5
commands
:
- "broadcast {user} gifted {amount} subscriptions on {streamer}!"
- "weather thunder"
Gifted KICKs

Event name:

Code (Text):
kicks.gifted
This event reacts to gifted KICKs. Rules can filter by gift name, streamer, and minimum amount.

Code (YAML):
- event : kicks.gifted
streamer
: ""
gift-name
: ""
minimum-amount
: 100
commands
:
- "broadcast {user} sent {amount} KICKs using {gift}!"
Leaving an optional filter empty makes the rule match any value.

Multistreamer support

KickEvents can connect multiple Kick channels to the same Minecraft server. This is useful for creator servers, events, SMP communities, and networks where several streamers play together.

Enable multistreamer mode and authorize every additional streamer:

Code (Text):
/ke multistreamer enable
/ke multistreamer login
Rules can then target one specific streamer:

Code (YAML):
- event : channel.reward.redemption.updated
streamer
: "pepito"
reward-title
: "Spawn a zombie"
statuses
: [accepted ]
commands
:
- "summon zombie"
Another streamer can use a different reward name and completely different commands. If streamer is empty, the rule can match events from any connected channel.

Remove a connected streamer with:

Code (Text):
/ke multistreamer remove
KickEvents removes the locally stored connection and its webhook subscriptions.

Available placeholders

KickEvents replaces these values inside every configured command:

Code (Text):
{streamer} | Kick channel that generated the event
{user} | Viewer who redeemed the reward or sent the gift
{reward} | Channel reward title
{status} | Reward status: pending, accepted, or rejected
{gift} | Gift name included in the Kick event
{input} | Optional text entered during a reward redemption
{amount} | Number of subscriptions or KICKs associated with the event
Placeholders that do not apply to the current event are replaced with an empty value or the event's default amount.

Custom variables

Reusable variables can be created in config.yml:

Code (YAML):
variables:
server-name
: "My Minecraft Server"
discord
: "https://discord.gg/example"
website
: "https://example.com"
They can then be used in any event command:

Code (YAML):
commands :
- "broadcast Welcome to {server-name}! Join us at {discord}"
Any key added under variables becomes available using {variable-name}. These values are intended for public reusable text and should never contain passwords, tokens, or secrets.

PlaceholderAPI support

PlaceholderAPI is supported as an optional dependency.

Code (YAML):
commands :

- "broadcast {user} activated a reward while %server_online% players were online!"
The expansion that provides each placeholder must also be installed. Because Kick webhooks are processed as console events, placeholders that require a specific online Minecraft player may not have player context. Server-wide, global, and console-compatible placeholders are the best fit.

KickEvents placeholders use braces, such as {user}. PlaceholderAPI placeholders normally use percent signs, such as %server_online%. Both formats can be used in the same command.

Creating the Kick application

  1. Open Kick Developer Settings.

  2. Select Create application.

  3. Enter an application name and description.

  4. Add the redirect URL used by KickEvents.

  5. Enable webhooks and add the public webhook URL.

  6. Select the scopes required for user/channel information, channel rewards, and event subscriptions.

  7. Create the application.

  8. Copy the Client ID and Client Secret into config.yml.
Example production URLs:

Code (Text):
Redirect URL:
https://YOUR-DOMAIN/kickevents/callback

Webhook URL:
https://YOUR-DOMAIN/kickevents/webhook
The redirect URL registered on Kick must exactly match oauth.redirect-url, including the protocol, domain, port, and path.

Web server configuration

KickEvents hosts the callback page and webhook endpoint itself:

Code (YAML):
web-server:
bind-address
: "0.0.0.0"
port
: 8080
public-base-url
: "https://YOUR-DOMAIN"
callback-path
: "/kickevents/callback"
webhook-path
: "/kickevents/webhook"
For localhost testing, a public HTTPS tunnel such as Cloudflare Tunnel or ngrok can forward traffic to the plugin's local port. For production, place a reverse proxy or secure tunnel in front of KickEvents and configure TLS, firewall rules, rate limiting, and DDoS protection there.

KickEvents provides the application endpoints; domain registration, DNS, certificates, tunnel configuration, and infrastructure protection remain under the server owner's control.

Basic configuration

Code (YAML):
enabled : true
multistreamer
: false

oauth
:
client-id
: "YOUR_CLIENT_ID"
client-secret
: "YOUR_CLIENT_SECRET"
redirect-url
: "https://YOUR-DOMAIN/kickevents/callback"

web-server
:
bind-address
: "0.0.0.0"
port
: 8080
public-base-url
: "https://YOUR-DOMAIN"
callback-path
: "/kickevents/callback"
webhook-path
: "/kickevents/webhook"
After saving the configuration, use:

Code (Text):
/ke reload
/ke login
Open the generated authorization link and approve the application. The player who requested the login receives visual and sound feedback when authorization and webhook subscription finish successfully.

Commands and permissions

Main command: /kickevents

Alias: /ke

Permission: kickevents.admin

Code (Text):
/ke login | Authorize the main Kick channel and subscribe to events
/ke unlogin | Remove the current login and webhook subscriptions
/ke enable | Enable event command execution
/ke disable | Disable event command execution
/ke reload | Reload configuration and messages
/ke multistreamer enable | Enable multiple connected streamers
/ke multistreamer disable | Disable multistreamer behavior
/ke multistreamer login | Authorize another Kick streamer
/ke multistreamer remove | Remove a streamer and its subscriptions
All feedback messages can be customized in messages.yml using MiniMessage formatting.

Security notes

Webhook requests are treated as untrusted input. KickEvents validates Kick's signature, limits request body size, checks timestamp age, and deduplicates event message IDs before executing rules.

Keep these files private:

Only trusted administrators should receive kickevents.admin or filesystem access to rewards.yml, because configured actions run as console commands. HTTPS is strongly recommended for any public installation.

Requirements

KickEvents turns stream engagement into real gameplay: viewers interact through Kick, streamers can share the same server, and server owners remain in control of every rule and command.


Support:
Discord - 0x20x

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

KickEvents KickStreaming MultiStreamer | Channel Reedemptions, Subs gifted, Kicks gifted is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21, 26.1 and newer. Downloaded 15 times (via Spigot). Download it and open it directly in the game.

Explore more