ChaosMod
A Twitch Chaos Mod for VotV, let chat vote for random commands, send emails, and order from the shop! 80+ commands!
| Date uploaded | 2 years ago |
| Version | 1.0.2 |
| Download link | Moddy-ChaosMod-1.0.2.zip |
| Downloads | 155 |
| Dependency string | Moddy-ChaosMod-1.0.2 |
This mod requires the following mods to function
Thunderstore-unreal_shimloader
Thunderstore Mod Manager and r2modmanPlus support for RE-UE4SS.
Preferred version: 1.1.7NynrahGhost-Fusion
Fusion is an automated tool made to augment base game's DataTables with modded entries
Preferred version: 0.8108.3README
VotVChaosMod
Twitch Chaos Mod
Chaos Mod is an interactive mod that allows Twitch chat to vote on various in-game effects, send emails and shop for items! Experience Chaos with over 80 different commands to vote for!
This mod requires partial manual installation and will not work without the external Python program. Please read the instructions below for installation.
You need pyChaosMod installed in Win64 folder. Please read the instructions below for installation.
Features
-
Twitch chat voting system
-
Randomized chaos effects, including custom assets
-
Customizable voting duration and cooldown
-
Email system and Shop system for viewer interaction
-
Overlay display for voting and results
Community
Discord Thread
r2modman Setup
- Ensure you have the following dependencies installed:
-
Python 3.x
-
Pyglet library (pip install pyglet)
-
Install ChaosMod and unreal-shimloader
-
Download pyChaosMod.zip from GitHub releases
-
Navigate to active r2modman game directory, pa08_00**\WindowsNoEditor\VotV\Binaries\Win64\
-
Place folder pyChaosMod into Win64 directory
-
Get an OAuth bot token from https://twitchtokengenerator.com/
-
Edit
config.jsonwith your OAuth token and channel settings, changing settings as needed
Manual Setup
- Ensure you have the following dependencies installed:
-
Python 3.x
-
Pyglet library (pip install pyglet)
-
UE4SS (Unreal Engine 4 Scripting System)
-
Download VotV.zip from GitHub releases
-
Navigate to modded game directory, pa08_00**\WindowsNoEditor\
-
Place folder VotV folder into WindowsNoEditor directory
-
Ensure pyChaosMod is located in Win64 directory, if not, download pyChaosMod.zip from GitHub releases
-
Get an OAuth bot token from https://twitchtokengenerator.com/
-
Edit
config.jsonwith your OAuth token and channel settings, changing settings as needed
Configuration
Edit the config.json file to customize the mod settings:
{
{
"twitch": {
"server": "irc.chat.twitch.tv",
"port": 6667,
"oauth_token": "oauth:[your oath token]", - fill with info from https://twitchtokengenerator.com/
"bot_username": "[your bot username]",
"channel": "[your channel name]"
},
"voting": {
"duration": 30, - how long voting remains active
"cooldown_min": 60, - min cooldown time
"cooldown_max": 180, - max cooldown time, cooldown time is a random time inbetween the two
"num_options": 4, - number of options to vote for
"command_cooldown_rounds": 3, - how long a command is unavailable after winning
"reset_cooldown_after_rounds": 6, - reset all cooldowns after a certain # of rounds
"combine_commands_chance": 0.1 - how often commands will be combined with another command, 0.1 is 10% chance
},
"emails": {
"enabled": true, - set to false to completely disable email system
"user_cooldown": 180 - how often a single user can send emails
},
"chatShop": {
"enabled": true, - set to false to completely disable shop system
"minOpenInterval": 180, - min open interval
"maxOpenInterval": 600, - max open interval, open time will occur randomly between the two numbers
"openDuration": 30, - how long the shop should be open
"announcementMessage": "The shop is now open for {duration} seconds!", - the twitch broadcast chat message to let users know the shop is open
"userCooldown": 180 - how often a single user can shop for items
}
}
Do not change files section.
Usage
-
Start your game with UE4SS enabled, through r2modman or manual setup.
-
Run
run.batorpython ./main.pyinside pyChaosMod dir to start the overlay and Twitch integration. -
In-game controls:
-
F8: Toggle Chaos Mod on/off
-
F7: Manually trigger voting
-
F6: Clear active events, to allow saving and pausing if disabled
-
F3: Toggle email system (if enabled)
-
Twitch viewers can vote using numbers in chat during voting periods.
-
If enabled, viewers can use the
!emailcommand to send in-game emails. -
If the shop system is enabled, viewers can use the
!shopcommand to place orders when the shop is open. This will deduct Points.
Overlay
Overlay will not display over Fullscreen game. You will have to either run it in windowed mode (Ctrl+Enter to change) or rely on Overlay seen on OBS.
I think it would be better to run the game Fullscreen so you don't immediately see what people are voting for.
Add a new Game Capture and target "[python.exe] .\main.py", right click on it and go to properties and enable "Allow Transparency" and "Premultiplied Alpha", then add a Color Source behind the Overlay that's light grey or something with an alpha source of ~155
Configure OBS to pick up "[python.exe] .\twitchChaos.py" audio.
Showcase
https://github.com/user-attachments/assets/4adc4bad-de7b-4fab-8a11-432bc1a9cb42
Chaos Showcase
https://github.com/user-attachments/assets/9d8f602b-c36d-4a8f-b708-261537f7ef94
Twitch Chatter Email Showcase
https://github.com/user-attachments/assets/e9362855-1803-4733-a60d-bf4571f273f7
Twitch Shopping Showcase
Commands
Current List of Commands (spoilers)
-
500cigs
-
addEnergy
-
badSun
-
baseRave
-
bigKel
-
bigKerfurs
-
bigLakeFish
-
blackFog
-
breakRandomGenerator
-
breakRandomServers
-
caltropsTrap
-
deleteActiveSignal
-
doublePoints
-
drainSleep
-
evilEriePlush
-
explodeAllATVs
-
explodePlayer
-
fastTimeScale
-
fishSplosion
-
fixAllATVs
-
fixGenerators
-
forceServerMinigame
-
forceSleep
-
freeBattery
-
freeMoney
-
fullTummy
-
garbageDay
-
halfPoints
-
hulkMode
-
ignitePlayer
-
immortalForTime
-
insaneATVs
-
jellyFishTime
-
jumpscareComputer
-
kerfurYeet
-
killAllKerfurs
-
laserSpam
-
lowGravity
-
lsdEffect
-
madnessCombat
-
maxwellBomb
-
nauseaEffect
-
nextbotCharborg
-
nextbotGlorpFriend
-
nextbotJerma
-
nextbotWalter
-
normalATVs
-
ohFiddlesticks
-
orderBanana
-
orderCheese
-
orderDrives
-
orderPizza
-
orderRadio
-
orderShrimp
-
orderTV
-
pyramidTime
-
ragdollPlayer
-
randomDream
-
redSky
-
skyFallingEvent
-
smoke500cigs
-
smokeCig
-
spamFlashlight
-
spawnATV
-
spawnFunGuy
-
spawnKavotia
-
spawnKerfurs
-
spawnMaxwell
-
spawnMeatball
-
spawnMeatballFood
-
spawnSonicGun
-
spawnZeroGun
-
starvePlayer
-
superSpeed
-
takePicture
-
teleportRadioTower
-
teleportToBaseBalcony
-
teleportTopOfBase
-
teleportTurbine
-
tinyKel
-
tinyKerfurs
-
waspAttack
-
wispTeleport
CHANGELOG
3.5.1
- Updated to a09n
3.5.0
- Initial release for latest stable game version: a09j_0001
3.4.0
-
Fixed Nextbot AI
-
Nextbots can now be killed (not glorp)
-
5G Horse can now be destroyed
-
Added commands:
- Force Save
- Monochrome Pigs
- Too Many Visitors
3.3.0
-
Added OBS Browser Overlay
- The webserver runs locally and updates with voting information in real-time
- Access from http://localhost:3202/ or add an OBS Browser Source and point it to http://localhost:3202/
- Default stylized to match VotV, but can edit cfg/styles.css to user preference
-
Added The Big Red Button
- ChaosMod prop that runs Random Events or Chaos Effects when pressed
- Presser beware...
-
Modified several commands
- pyramidTime (again), Smoke500Cigs, Nextbots, waspAttack
-
Full Nextbot Rework with new AI
- They are pretty ruthless now shrugs
-
Added 2 new Nextbots
-
ChaosBot improvements
-
Added additional voting related hint/visibility settings
-
Removed OhFiddlesticks command
3.2.0
- Reworked ChaosBot to use TwitchAPI Python Library due to PubSub deprication
- Updated Config, Readme, etc for new OAuth.
3.1.5
- Fixed Lua command errors
- Changed WS hints to only send if debug enabled
3.1.3
- Updated to game version pa0082b_0004
- Enhanced websocketHandler AddHint debug output
3.1.2
- Updated to latest game version 0.8.2 pre-alpha
- Fixed Config menu Focus issue
- Fixed ChaosBot psutil dep bug
3.1.1
- Updated to latest game version pa0082_0011 (Test version, no longer available on twitch.io)
- Fixed Pyramic Time command (I swear)
- Removed Madness Combat command
- Converted more Lua commands to Blueprints for stability
- Updated list_store
3.1.0 (UP TO pa0081_0008)
Changed
-
Migrated away from "listen" text/json files for game communication to WebSocket server. Mod no longer supports 0.7.
- Hopefully resolves mysterious connection issues where game does not register votes, commands, etc.
- More info: https://discord.com/channels/1285223290520207411/1285223379598839899/1323558223755870208
-
Chat Shop now has an Order Queue
- Orders are placed every minute if queue available. If queue is above 8 items, the order will be placed within 15 seconds.
3.0.0
Added
-
Full channel points system with custom rewards
- Support for special system rewards (email/shop/hint redemptions)
-
Direct Mode with Online Control Panel for sending specific direct commands to players
-
Enhanced email support with simple format and improved message parsing
- Simple format: !email (email) - Subject will be Twitch Username, body is entire message
- Advanced format still available
- Added support for specific user email handling (e.g., Dr_Bao)
-
Enhanced shop system with item verification
-
Implemented new hint system
- !hint command, Hint channel point redemption
- Can specify hint type (error, warning, thought)
-
"Always On" mode for most systems, enhancing ease-of-use
-
Dynamic Config Reloader to reload, enable/disable subsystems on the fly
-
New custom console logging setup with color formatting
-
Automatic ChaosBot updating system
-
New configurable "Small Menu" displaying Chaos status during non-voting periods
-
1 random Glorp Friend Christmas event, 2 random Glorp Friend Random events (secrets)
Changed
- Updated to 0.8.1
- Config files moved to /cfg subfolder
- Listen files moved to /listen subfolder
- Enhanced voting status checks
- Simplified main Lua loop
- General code cleanup and optimization
- Enhanced error message clarity
- Setting inputs disable/enable based on other settings for clarity
- Moved 26 Lua scripts to Blueprints
Fixed
- ChaosBot is now launched as Admin to fix issues described by Mimi on Discord
- Fixed issues with incorrect voting options appearing during voting rounds (Thanks Mimi)
- Reduced websocket logging noise (stops logging of sensitive info)
- Added UTF-8 encoding for log files and created custom stream output for console, eliminating bugs from emojis
- Nextbots now follow player when on ATV
2.5.0
Even more overhaul work.
-
Added:
-
Offline Mode
- Offline mode runs without the external program and randomly executes commands based on configurable options, every set time period it has a chance of running a random command
-
Configurable voting and offline options
- Each command can now be individually toggled to appear during voting or in offline mode
-
Option to disable voting ticker sound
-
18 new commands!
-
Debug mode to trigger desired chaos commands manually
-
Automatic updating of ChaosBot
-
-
Changed:
- Twitch Bot rework, now uses TwitchIO library
- Improved Bot Logging
- Moved several Lua based commands to Blueprints, work will continue to migrate Lua to Blueprints for increased stability
-
Fixed:
- Voting issue where the lowest option would be picked regardless of number of votes
- Timescale issue, timers are now paused when sleeping or timescale is fast
- External Lua scripts not working, hopefully this issue did not affect the Lua Commands, but ExecuteCommand errors should be resolved
-
Removed:
- FastTimeScale command
2.0.0
Large overhaul.
Added:
- Built in-game UI, no longer based on pyglet, same with UI sounds
- In-game settings menu
- Ability to launch or download latest build from game main menu
- Optional pre-built exe
- In-game buttons for hotkey replacements, hotkeys still exist
- 2 new commands (fullSleep, healPlayer)
- Added the ability to disable hard commands (only 4 are deemed "hard" so far)
- DataTables for commands and options
- Punch sound for Charborg Nextbot
Changed:
- Fixed points commands, fullTummy, nextbots, and teleport commands
- Added a timer for pyramidTime to remove after 3-5 mins
- Renamed main.py to ChaosBot.py
- Added utils.py
- Hard coded twitch server info
- Process checks for multiple ChaosBots running, with warnings
- Wait for input before exiting to display errors
1.0.3
- Temporary fix for ATV disabling Chaos
1.0.2
- Fixed console window spam if UE4SS console not open
1.0.1
- Test command cleanup
1.0.0
- Initial Release