StreamingModule — Twitch Drops & Live Integration for Minecraft
Turn every Twitch stream into a reward for your viewers — and a growth engine for your streamer. StreamingModule connects Twitch and your Minecraft server (Spigot, Paper, Purpur, BungeeCord, Velocity), letting chatters earn real in-game drops just for watching, while streamers get live announcements, Twitch chat in-game, and channel point rewards that trigger actual server commands.
Twitch doesn't support native "Drops" for Minecraft the way it does for other games — StreamingModule closes that gap so your community gets the same hype without needing Twitch's Drops API.
What StreamingModule does
- Twitch Viewer Drops — viewers watching a configured streamer have a chance to receive a reward, executed as any Minecraft command. Give items, money, ranks, crate keys, or anything a plugin can run — the drop itself has no limits.
- Offline Drop Queue — viewers who are watching the stream but aren't online on the server don't miss out. Drops are saved and delivered automatically next time they join.
- Twitch Chat inside Minecraft — each streamer can see their own Twitch chat directly in-game, no alt-tabbing required.
- Twitch Chat Commands — define custom chat commands that respond with live PlaceholderAPI data, right inside Twitch chat.
- Channel Point Rewards — connect Twitch Channel Points to Minecraft commands. Positive or negative effects, your choice.
- Live Announcements — automatic broadcast in-game and via Discord webhook the moment a streamer goes live, with zero manual steps.
- Live Tag via PlaceholderAPI — show who's currently streaming anywhere PlaceholderAPI is supported (tab list, chat, scoreboards, holograms).
- Watch Time Tracking — tracks how long each viewer has watched a streamer since installation, so you can gate rewards or chat commands behind a minimum watch time.
- Multi-Streamer Support — run drops, settings, and chat integration for several streamers at once, each with independent configuration.
- Configurable Drop Chance — fine-tune odds per streamer or globally to match your community size and economy.
- Cross-Platform — works on single Spigot/Paper/Purpur servers as well as BungeeCord and Velocity proxy networks, version-safe across Minecraft releases.
- No OAuth Required — all core features work without you needing to generate or manage a Twitch OAuth token.
Why streamers and server owners use it
Streamers get free promotion every time a viewer wants in-game drops badly enough to check out the server. Server owners get a built-in growth loop — viewers become players, players become community members, and the stream itself becomes a recurring event worth tuning in for.
Requirements
- SMLib (required dependency)
- Java 11+
- Open HTTPS port for outgoing requests
- The StreamingModule Twitch bot account must be set as a moderator in your channel
- Optional: PlaceholderAPI for the live tag feature
If /online throws an HTTP(S) error, your server is likely blocking outgoing connections — check your firewall/port settings.
Setup
Full step-by-step installation guide: Setup Wiki
Quick overview:
- Install SMLib and StreamingModule
- Start the server once to generate config files
- Add your Twitch channel name(s) in
streamer.yml - Mod the StreamingModule bot in your Twitch chat (
/mod StreamingModule) - Configure drops, rewards, and chat commands to taste
Want more?
The Premium version adds per-streamer drop lists, Twitch Events (Follow, Sub, GiftedSub, Bits, Raid, Poll), follow-bot protection, custom branding, and more — see the full Feature Overview for a side-by-side comparison.
Known incompatibilities
- Matrix Anti-Cheat (may cause issues, not guaranteed)
Support
- Run
/sm reportin-game to generate a support file with the info needed to help you fast - Join the Discord server — support is available in English and German
- Full documentation: GitHub Wiki
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 |
- Changed name in messages.yml (Status -> Messages)
- Performance update and refactoring
- Changed currentTimer
- Changed database connection
- Added new placeholders for PlaceholderAPI
- > %sm_mcchatmessages%
- > %sm_chatcolor%
- > %sm_twitchmessage%
- > %sm_dropfromownstream%
- > %sm_commandfilter%
- > %sm_botcommand%
- Fixed a bug, when using twitch rewards without user input
- Fixed twitch reward button placeholders
- Fixed missing twitch chat messages
- Fixed bStats error on startup
- Bug fixes for bungeecord
- Some internal changes
- Fixed BungeeCord Support
- Fixed BungeeCord Commands
- Fixed some permissions
- Some internal changes
- Fixed "/twitchsettings" on velocity and "/twitch"
- Added commands to "/sm help"
- Changed some internal functions
- Fixed broadcast message in velocity
- Fixed no drops on velocity (only offline drops)
- Added new option to "/twitchsettings" -> "twitchmessage" to enable or disable messages from the bot in twitch chat
- Reworked "@Username" in twitch reward messages
- Performance changes for "OnJoinEvent"
- Fixed Minecraft name change
- Added UseChatColor for "/twitchsettings" command
- Added formatting into OnJoinList
- Added title for "/sm chatbot <streamer>"
- Fixed spelling in default messages
- Added "useAlwaysCommands" in DropOptions
- Added "alwaysCommands" for command list
- Added "dropsOnlyForFollower" in DropOptions
- Added ModuleKey to admin command "/sm chatbot <twitch name>"
- Added tab suggestion for "/sm chatbot <twitch name>"
- Added Tab-Complete for Velocity
- Changed tab suggestion for "/sm streamer add <twitch name>"
- Changed some internal handling and functions
- Important - old versions are deactivated so that only version 5.0.0 or higher can be used. Please update to continue using the functions.**
- Added new command /chatbot
- Added ModuleKey (see wiki: [Setup ModuleKey](https://github.com/morelaid/StreamModule/wiki/Setup#enable-twitch-chatbot-messages--modulekey))
- Fixed placeholder with offline tag
- Added new messages
- Added database version for auto upgrade
- Added new admin command "/sm viewers <streamer>"
- Fixed global timer problems with "/sm reload force"
- Fixed Minecraft 1.18.X error message
- Fixed typo in "/sm help" for "/sm timer"
- Changed library handling
- Changed Null Pointer Exception for getDropsAmount
- Changed internal timer
- Added Velocity support (Beta)
- Fixed placeholder in messages.yml
- Added new config for proxy commands
- Added placeholderAPI replace in twitch chat
- Changed some internal changes for background tasks after using "/sm reload force"
- Added new option "onlineStreamerFormat" for formating "/online" output
- Added default value for SQL driver in settings.yml
Please note that as of version 3.0.0 of StreamingModule, the “SMLib” plugin is also required. This has no function for you as a user, but is required by StreamingModule in order to continue to function.
So please also install SMLib!
[Download SMLib](https://cdn.modrinth.com/data/xsmVEWIb/versions/hxBzfM02/SMlib-1.0.jar)
- Changed Helix API for GlobalStreamerTag and live status
- Using SMLib
- Faster live / offline detection
- Refresh live status on using /sm reload force
- Fixed error, when using "/twitchsettings" while this streamer is not a streamer on the server
- Fixed performance issues by using the placeholderapi values
- Internal changes from maven to gradle (just background)
- Removed shaded jars - downloading on server start
- Added "blacklistTwitchChannel" to block twitch connection
- Removed Premium settings from freemium version
- Softdepend PlaceholderAPI (before: depend)
- Fixed database save
- Fixed permission typo
- Some internal changes
- Added BungeeCord Support (Beta)
- Changed file name
- Changed PlaceholderAPI handling
- Changed handling, for not existing users in database
- Changed "/sm streamer [add / remove]" command. A reload ("/sm reload") is no longer necessary
- Added info message for the user, when joining to use "/twitch <your twitch channel>". This will be send after 10s
- Removed GlobalStreamerTag "enable" option - its active for every streamer
- Fixed missing drops by using DropChance under 100%
- Added "/smrandomdrop [streamer] [twitchUser;twitchuser2]" for a randomdrop out if the interval
- Changed default values
- Added new streamer option for Twitch chat command filter in streamer twitch chat (twitch to minecraft)
- Fixed SendTwitchDrop error, when using the command with less parameters