NavAdder mutator
Posted: Mon Jan 01, 2018 1:38 am
As first note I don't know if this is the right name for what is doing (or not doing) this thing - UT specific mutator.
NavAdder is not really a common mutator working in the same way for years, it is a dynamic one, it will support updates according to server needs because it do includes more or less packages.
Given the power of latest XC_Engine versions (20-21), we have the resources for creating paths in maps and tweaking them in order to work properly. Solution for me was not a HUGE mutator having 100 MB of content for download, solution is a small one but which is loading required files/needed content, when certain map is running and package-module is available. This mutator is aiming XC_Engine based servers not plain Vanilla type ones - plain servers are instantly crashing because original Engine doesn't support the usage of its own natives as "great" as it was claimed...
NavAdded it's loaded and declared ONCE in run-line or whatever priority mutators chain and that's all. Packages are dropped in System without writing nothing else in INI about them. Mutator during initialization stage will check map-name. Map-name is truncated to max 12 chars if such a package similar with map-name is found it will be loaded and started, package which has been started will operate alone Level tweaks and adds. NavAdder v2 does another type of search in first method, as long as we can have similar 12 chars in names for different maps having the rest of name different and confusing packages. Old 12 chars strategy is available because old plugins already made will need this way.
These tweaks can be:
- capturing all dead NavigationPoints from a map having them unlinked (new);
- removing all bad Navigation Network from a level (new);
- adding Bot Support;
- fixing Path-Net problems;
- modifying bad configured actors;
- replacing some bad inventories;
- replacing/removing nasty coded monsters;
- adding decorations - even for masking BSP problems which a map might have;
- covering bad zones with some "bridges" in order to reduce stupid difficulty;
- lightning tweaks - even more dynamic-like torches, new coronas out of render settings and without to mock visibility;
- adding a different load and difficulty in week-end times (latest patch files have that);
- etc.
All these operations are performed by required packages which are launched at this time by NavAdder. All packages loaded are useless and the mostly can do damage if are forced as permanent server-actors - this is NOT ADVISABLE. NavAdder knows when a package must be started and will do this task.
As conclusion, this mutator it's intended for current and future usage. If mutator is finding a package next month which initially was not done before, will load it without to modify nothing in configuration. All packages required by player are mapped dynamically (if they do exist). If a package is bad, can be removed when other map is running (not map in cause) without to even stop the server.
This sort of structure is entirely my concept because I think it's an easy job to "fix" some map without even to stop server and editing INI files, by just dropping 1-2 files in System folder and here we go, something will go changed at next map voting.
EDIT:
And now let's see how do this operate and even how do we have to Host this thing OUT, not related to a Game Server (Medor..).
We can create a folder called Dynamic_Mutators having a sub-folder named Navigation_Adder or such. Inside this we have a Main_Core folder including this basic file + a few initial demo files - all usable. - Initial mutator. - Mutator updated, compatible with all old modules and having a configurable option for preventing the load of patch files in a non-target map due to similar partial name used. E.G. MH-CrystalMine3 and MH-UM-CrystalMine3 both of them containing the common string CrystalMine3. In this case we need extra-options for the second map which won't need the same patch files. XC MH server hosted by HOF was up to date. Other explanations are in Archive and... Logs are relevant about how do this thing works. - NavAdder updated with a new patch hunting capabilities for preventing generic names and maps called the same even if are addressing other game-types: MH-Niven <-> CTF-Niven - all "Niven" should have their own patch files - not done yet for this particular case but definitely we won't mess with a Gothic.u file having 13 MB, for a patch file addressing DM-Gothic and requiring another Gothic.u file making a mess with maps requiring that already made plain-named package. All previous patch plugins can be loaded like before - if case of issues for older patch plugins we can switch to alternate naming method...
And then another folder called Optional_Components where we can drop or not depending on needs these module files: - works in map MH-(du)-Dormant - works in map MH-Antalius - works in map MH-CrystalMine3 - works in map MH-Krogaar - works in map MH-Detour. - works in map MH-brutality (or MH-Brutality if you like). - works in map MH-AfterDark[final]. Gen2 is a fix for some lost Server code crawling in client - this one will replace previous GEN1 with the glitch. - works in map MH-Deep(v2). - works in map MH-2MuchHP. - works in map MH-super_tomokoV2. - PostPatch modules which can be used on previous said map. This will activate another package during all week-end time. - works in map MH-UReal-v3. Contains some extra-creatures appearing in week-end times and having a random difficulty, they are bombing players sorting a random projectile when map is loaded. - works in map MH-TempleOfTheGods. - works in map MH-Tarnished - updated because of a Saturday glitch. - works in map MH-BoomBoomBridgeBE (aka BoonEdition) - works in map MH-SkyLand1-1. - works in map MH-CrystalMine2-2011. - works in map MH-Doomed-HELL-HTD+. - works in map MH-Minas_Tirith. - works in map MH-(AMLP)AnewHope. - works in map DM-Anatis. - works in Map MH-LandsOfNapali. - works in Map MH-Purgatorium[final]. - works in Map MH-LongCorridor_a. - works in Map DM-Curse][. - works in map DM-Conveyor. - works in map DM-Grit-TOURNEY. - works in map DM-1on1-Sph3res-v2. - works in map MH-ICRedone(Rex). - update which do looks required in XC_Engine V24 and CollisionHook Active preventing Second Start Location to go active right from beginning. I could not see this before (was disabled collision deal before because it had small but annoying glitches) - works in map MH-HCStorage. - works in map MH-Demons][. - works in map MH-Forbidden. - works in map CTF-300K-CastleFrag - requires NavAdder Update 2. - works in map DM-Stalwart - requires NavAdder Update 2 and XC_Engine V24. - works in map DM-StalwartXL - requires NavAdder Update 2 and XC_Engine V24. - works in map DM-Bishop - requires NavAdder Update 2 and XC_Engine V24. - plugins for map DM-Phobos - it's required NavAdder Update 2 and XC_Engine V24. - plugin for map DM-Codex - requires NavAdder Update 2 and XC_Engine V24.
Module type files are USELESS without NavAdder and XC_Engine. - plugin for map CTF-Fot-Dipolarity - requires NavAdder Update 2 and XC_Engine V24. - plugin for map CTF-Hydro16 - requires NavAdder Updated 2 and XC_Engine V24.
NavAdder is not really a common mutator working in the same way for years, it is a dynamic one, it will support updates according to server needs because it do includes more or less packages.
Given the power of latest XC_Engine versions (20-21), we have the resources for creating paths in maps and tweaking them in order to work properly. Solution for me was not a HUGE mutator having 100 MB of content for download, solution is a small one but which is loading required files/needed content, when certain map is running and package-module is available. This mutator is aiming XC_Engine based servers not plain Vanilla type ones - plain servers are instantly crashing because original Engine doesn't support the usage of its own natives as "great" as it was claimed...
NavAdded it's loaded and declared ONCE in run-line or whatever priority mutators chain and that's all. Packages are dropped in System without writing nothing else in INI about them. Mutator during initialization stage will check map-name. Map-name is truncated to max 12 chars if such a package similar with map-name is found it will be loaded and started, package which has been started will operate alone Level tweaks and adds. NavAdder v2 does another type of search in first method, as long as we can have similar 12 chars in names for different maps having the rest of name different and confusing packages. Old 12 chars strategy is available because old plugins already made will need this way.
These tweaks can be:
- capturing all dead NavigationPoints from a map having them unlinked (new);
- removing all bad Navigation Network from a level (new);
- adding Bot Support;
- fixing Path-Net problems;
- modifying bad configured actors;
- replacing some bad inventories;
- replacing/removing nasty coded monsters;
- adding decorations - even for masking BSP problems which a map might have;
- covering bad zones with some "bridges" in order to reduce stupid difficulty;
- lightning tweaks - even more dynamic-like torches, new coronas out of render settings and without to mock visibility;
- adding a different load and difficulty in week-end times (latest patch files have that);
- etc.
All these operations are performed by required packages which are launched at this time by NavAdder. All packages loaded are useless and the mostly can do damage if are forced as permanent server-actors - this is NOT ADVISABLE. NavAdder knows when a package must be started and will do this task.
As conclusion, this mutator it's intended for current and future usage. If mutator is finding a package next month which initially was not done before, will load it without to modify nothing in configuration. All packages required by player are mapped dynamically (if they do exist). If a package is bad, can be removed when other map is running (not map in cause) without to even stop the server.
This sort of structure is entirely my concept because I think it's an easy job to "fix" some map without even to stop server and editing INI files, by just dropping 1-2 files in System folder and here we go, something will go changed at next map voting.
EDIT:
And now let's see how do this operate and even how do we have to Host this thing OUT, not related to a Game Server (Medor..).
We can create a folder called Dynamic_Mutators having a sub-folder named Navigation_Adder or such. Inside this we have a Main_Core folder including this basic file + a few initial demo files - all usable. - Initial mutator. - Mutator updated, compatible with all old modules and having a configurable option for preventing the load of patch files in a non-target map due to similar partial name used. E.G. MH-CrystalMine3 and MH-UM-CrystalMine3 both of them containing the common string CrystalMine3. In this case we need extra-options for the second map which won't need the same patch files. XC MH server hosted by HOF was up to date. Other explanations are in Archive and... Logs are relevant about how do this thing works. - NavAdder updated with a new patch hunting capabilities for preventing generic names and maps called the same even if are addressing other game-types: MH-Niven <-> CTF-Niven - all "Niven" should have their own patch files - not done yet for this particular case but definitely we won't mess with a Gothic.u file having 13 MB, for a patch file addressing DM-Gothic and requiring another Gothic.u file making a mess with maps requiring that already made plain-named package. All previous patch plugins can be loaded like before - if case of issues for older patch plugins we can switch to alternate naming method...
And then another folder called Optional_Components where we can drop or not depending on needs these module files: - works in map MH-(du)-Dormant - works in map MH-Antalius - works in map MH-CrystalMine3 - works in map MH-Krogaar - works in map MH-Detour. - works in map MH-brutality (or MH-Brutality if you like). - works in map MH-AfterDark[final]. Gen2 is a fix for some lost Server code crawling in client - this one will replace previous GEN1 with the glitch. - works in map MH-Deep(v2). - works in map MH-2MuchHP. - works in map MH-super_tomokoV2. - PostPatch modules which can be used on previous said map. This will activate another package during all week-end time. - works in map MH-UReal-v3. Contains some extra-creatures appearing in week-end times and having a random difficulty, they are bombing players sorting a random projectile when map is loaded. - works in map MH-TempleOfTheGods. - works in map MH-Tarnished - updated because of a Saturday glitch. - works in map MH-BoomBoomBridgeBE (aka BoonEdition) - works in map MH-SkyLand1-1. - works in map MH-CrystalMine2-2011. - works in map MH-Doomed-HELL-HTD+. - works in map MH-Minas_Tirith. - works in map MH-(AMLP)AnewHope. - works in map DM-Anatis. - works in Map MH-LandsOfNapali. - works in Map MH-Purgatorium[final]. - works in Map MH-LongCorridor_a. - works in Map DM-Curse][. - works in map DM-Conveyor. - works in map DM-Grit-TOURNEY. - works in map DM-1on1-Sph3res-v2. - works in map MH-ICRedone(Rex). - update which do looks required in XC_Engine V24 and CollisionHook Active preventing Second Start Location to go active right from beginning. I could not see this before (was disabled collision deal before because it had small but annoying glitches) - works in map MH-HCStorage. - works in map MH-Demons][. - works in map MH-Forbidden. - works in map CTF-300K-CastleFrag - requires NavAdder Update 2. - works in map DM-Stalwart - requires NavAdder Update 2 and XC_Engine V24. - works in map DM-StalwartXL - requires NavAdder Update 2 and XC_Engine V24. - works in map DM-Bishop - requires NavAdder Update 2 and XC_Engine V24. - plugins for map DM-Phobos - it's required NavAdder Update 2 and XC_Engine V24. - plugin for map DM-Codex - requires NavAdder Update 2 and XC_Engine V24.
Module type files are USELESS without NavAdder and XC_Engine. - plugin for map CTF-Fot-Dipolarity - requires NavAdder Update 2 and XC_Engine V24. - plugin for map CTF-Hydro16 - requires NavAdder Updated 2 and XC_Engine V24.