Chaos Fortress is just like normal TF2, but with a twist: instead of playing as one of the nine mercenaries, players step into the shoes of one of many custom characters, each with their own unique kit. Some of these characters are designed to function like suped-up versions of the nine mercenaries, while others act more as wildcards, going their own directions entirely. To top it all off, all of these characters have access to powerful Ultimate Abilities, which charge very slowly over time, or by meeting certain conditions such as dealing damage or healing allies. As for developers, CF is incredibly dev-friendly, coming packed with countless forwards and natives to make the creation of new custom characters a breeze.
- Install all of the prerequisites.
- Download the latest release Installation Build. (LINK PENDING)
- Extract the zip file directly to your server's
tffolder. - Chaos Fortress should now be installed on your server!
- Configure the game mode to your heart's content. (Optional)
- Download the latest release Update Build. (LINK PENDING) Alternatively, if you do not want to add any new characters that the update may include, download the latest release No-Characters Update Build. (LINK PENDING)
- Extract the zip file directly to your server's
tffolder. If you did not choose the no-characters build, you will notice these files:tf/addons/sourcemod/data/fake_particle_system/fakeparticles.cfgandtf/addons/sourcemod/data/pnpc/npcs.cfg. These files should be skipped, instead see step 3 to know how to handle them. These files do not exist in the no-characters build, so step 3 can be skipped if that is the build you chose. - Some updates will include new characters, and some of these new characters may add new "fake particles" and/or NPCs. When this is the case, if you have made any edits to your server's
fakeparticles.cfgornpcs.cfgfiles, simply add the new data from the update build's CFGs to your versions. Otherwise, if you have not made any edits, you may simply overwrite your current versions of these files with the new versions. - Chaos Fortress should now be updated on your server!
All of these are required for Chaos Fortress to function.
- SourceMod 1.12+ (1.13+ Recommended)
- TF2Attributes 1.7.0+
- TF2Items
- TF2 Econ Data
- TF2 Utils
- CollisionHook
- SteamWorks
- TF2 Custom Attributes
- Portable NPC System
- CBaseNPC
None of these are required for Chaos Fortress to function, but are nonetheless highly recommended for the features they provide.
- Halloween Cosmetic Enabler - Allows Halloween cosmetics to be used year-round, therefore allowing Halloween-restricted wearables to be used by characters, without needing to force Halloween mode to be active. TODO: Ask Mikusch for permission to port this to CF. If granted: remove from prerequisites, add Mikusch to credits.
- TF2 Weaponmodel Override - Used by some default characters for custom weapon models.
- Queue.inc - Not required to function, but is required to compile the plugin.
- FF2Rewrite's version of cfgmap.inc - Not required to function, but is required to compile the plugin.
- TF2 World Text Helper - Used by numerous characters for various custom damage/healing indicators, but is not required for base functionality.
- TF2 Move Speed Unlocker - Allows characters to move above TF2's default 520 HU/s limit.
- Fake Particle System - Used by some characters for VFX. Note that you will need to use the version of
data/fake_particle_system/fakeparticles.cfgwhich comes packaged with Chaos Fortress, and not the version included in the release build of the Fake Particle System.
Chaos Fortress comes with a number of pre-made custom characters, but what if that's not enough? What if you want more? Don't worry, because Chaos Fortress has you covered: if you know how to make a Freak Fortress boss, you'll know how to make a Chaos Fortress character! And even if you don't, don't worry; it's not very difficult to figure out if you're experienced with SourceMod development. Most of my experience as a SourceMod developer comes from making Freak Fortress bosses, and I knew most of the developers who might take an interest in this game mode would be similar, so I was very careful to keep the development process for Chaos Fortress characters as close to that of Freak Fortress characters as possible.
- Look at mercenary.cfg to see an example of a Chaos Fortress character CFG.
- This file doubles as a character CFG template. Feel free to use it to speed up the development of your characters!
- Look at cf_mercenary.sp to see an example of a basic Chaos Fortress character plugin.
- Look at cf_plugin_template.sp for a Chaos Fortress character plugin template to speed up the development of your characters!
- Character plugins MUST be placed inside of the
cf_subpluginssub-folder, and MUST use the.cf2file extension. - Please note that despite the similarities in their development process, FF2 plugins and configs will not work for Chaos Fortress characters.
- I HIGHLY recommend you refer to the Developer Forwards and Natives wiki page and follow its guidance if you intend to write character plugins.
- Ignoring this wiki page will not break Chaos Fortress, but it will harm your server's organization and may result in awkward issues stemming from plugin execution order. Ignore at your own peril!
Let's say you want to add or remove a character, or you have a handful of characters you want to be able to activate or deactivate on demand. This is exactly what the character packs system is for.
- Look at characters.cfg for an example of how to use the character packs system.
- All characters must be located in addons/sourcemod/configs/chaos_fortress.
- Sub-directories are allowed.
All configurable options specific to this game mode are described in and can be controlled in game_rules.cfg.
Having never tackled a game mode before, I encountered a lot of hurdles during the development of Chaos Fortress which, try as I might, I couldn't get over with my existing skill set. For these, I turned to a handful of fellow developers for a helping hand. Without those who are listed here, this mod may never have even been finished in the first place. Words cannot express my gratitude to these people.
Click to view programming credits.
- CookieCat, who provided a LOT of help with quality-of-life changes, as well as several bug fixes, and help with server/console commands.
- Artvin and Batfoxkid, the creators of TF2 Zombie Riot, which I borrowed code from at certain points. Additionally, Batfoxkid created Sensal, and Artvin created Zeina.
- jDeivid, the creator of Herlven.
- Zabaniya001, AKA Suza, for offering various tips and tricks, help regarding code cleanliness and performance, lots of help with unfamiliar coding territory.
- Jakub/ficool2, for consistently offering helpful advice on a range of topics.
- ...And of course, myself: Spookmaster (Lead Dev, Game Mode Creator)
Without a programmer, you don't have a game, but without the rest of the crew, you don't have a good game. As such, in making many of the default characters for Chaos Fortress, I made thorough use of TF2's long history of content mods to cover assets that couldn't be handled by the files available in base TF2. As such, I want to take a moment to give full credit to the original creators of all of the assets I repurposed for this project.
Click to view content credits.
- DannyBoi151 and stiffy360 (ported the Fruit Shop Fiend to TF2, which I used for Mercenary's assault rifle)
- Stachekip (Voice actor for the Mercenary from Open Fortress, whom CF's Mercenary gets his voice from)
- Vargskelethor, AKA Vinesauce Joel (Voice)
- The 14th Doctor (Creator of the Vinesauce Joel Over Soldier Voice Pack mod which I took specific sound clips from for dialogue)
- Kekas vas Normandy (Character Creator, link missing due to channel takedown)
- Badass (Created the team-colored skins)
- ichbinpwnzilla (Character Creator)
- Haau (Creator of The Kaiserfaust, a primary for the Sniper, which I removed the scope from to use for Kranz's primary)
- HairyPairy (Creator of the Nikolai Belinski as the Heavy voice pack, which I used as the source of Kranz's voice)
- Fred Tatasciore (Voice actor for Nikolai Belinski, the source of Kranz's voice)
This game mode is currently incompatible with 64-bit servers due to gamedata incompatibility. I am in the process of reducing gamedata usage so that everything will remain entirely functional when 32-bit is deprecated, but this will take some time. This notice will be deleted when compatibility issues are resolved.