Repository navigation
Server Setup
See the requirements in the README. Install everything that is not marked as compile only, or the plugin will not load.
- Download the zip for your SourceMod version from the releases page.
- Extract its folders into your server's
tfdirectory. You can leave outaddons/sourcemod/scripting/, which only holds the source code. - Restart the server.
The plugin adds the custom materials and shaders its effects use to the downloads table, so players download them when they connect. If you use FastDL, also upload the materials/ and shaders/ folders from the zip to your FastDL host.
Before updating, back up every file you changed, such as effects.cfg, visuals.cfg or chaos.phrases.txt. Extracting the new zip overwrites them, so merge your changes into the new files afterwards.
Set these in server.cfg or any other config your server executes. Type a ConVar's name in the server console to see its current value and default.
| ConVar | Purpose |
|---|---|
sm_chaos_enabled |
Turns the plugin on or off. Turning it off ends all active effects. |
sm_chaos_effect_interval |
Seconds between effect activations. 0 or less turns regular effects off. |
sm_chaos_effect_cooldown |
Cooldown for effects that don't set their own, counted in effect activations. |
sm_chaos_meta_effect_interval |
Seconds between meta effect rolls. 0 or less turns meta effects off. |
sm_chaos_meta_effect_chance |
Chance from 0 to 1 that a meta effect activates on each roll. |
sm_chaos_effect_update_interval |
Seconds between effect update calls, unless an effect asks for its own interval. |
sm_chaos_debug |
Logs extra detail about effect activation and refusal decisions. See Debugging. |
sm_chaos_version |
Shows the installed plugin version. Don't set it. |
The timers for new effects and meta effect rolls pause while waiting for players, during setup time and between rounds, and start over when each round begins. Effects that are already active keep counting down in the meantime.
| Command | Admin flag | Purpose |
|---|---|---|
sm_chaos_forceeffect <id> |
n (cheats) |
Starts the effect right away. |
sm_chaos_setnexteffect <id> |
n (cheats) |
Makes the effect the next one to activate, in place of a random pick. |
sm_chaos_expire <id> |
n (cheats) |
Ends an active effect early. |
<id> is the effect's section name in effects.cfg, not its display name, and it is case-sensitive.
Effects started with sm_chaos_forceeffect or sm_chaos_setnexteffect ignore the enabled key, cooldowns and conflicts. They end any active effect they conflict with, and restart if they are already running. An effect can still refuse to start if its own checks fail. See Debugging to find out why.
The commands do nothing while sm_chaos_enabled is 0.
visuals.cfg controls the timer bar that fills up until the next effect and the bar that drains next to each active effect in the effect list. Open the file to see the available keys.
To take an effect out of the random rotation, add "enabled" "0" to its entry in effects.cfg. Admins can still start it with the commands above. To remove an effect completely, delete its entry. See Effect Configuration for the other keys.
If you disable most effects, lower sm_chaos_effect_cooldown so enough effects stay off cooldown for the random pick.
One-shot effects don't undo their changes, so disable any effect whose changes you don't want on your server.
After editing effects.cfg or visuals.cfg, run sm plugins reload chaos or restart the server. Both end all active effects.
The plugin writes to the SourceMod logs in addons/sourcemod/logs/. Set sm_chaos_debug 1 to also log why effects were skipped or refused. Config and gamedata problems go to the SourceMod error log. Check it after editing effects.cfg, and after a TF2 update, when outdated gamedata can break some effects.
VScript errors print to the server console instead. If every VScript effect refuses to start, check that scripts/vscripts/ is installed.