Reformat config file for better readability
1. It's much easier to find information relevant to a particular feature (fix), if it's description follows after it's section definition, i.e. [Acedia.FixAmmoSelling]. 2. Descriptions rewritten for more clarity to the end user.
This commit is contained in:
parent
c2942b6323
commit
686b042647
@ -1,49 +1,116 @@
|
|||||||
; When zed time activates, game speed is immediately set to
|
[Acedia.FixDualiesCost]
|
||||||
; 'zedTimeSlomoScale' (0.2 by default), defined, like all other variables,
|
; This feature fixes several issues, related to the selling price of both
|
||||||
; in 'KFGameType'. Zed time lasts 'zedTimeDuration' seconds (3.0 by default),
|
; single and dual pistols, all originating from the existence of dual weapons.
|
||||||
; but during last 'zedTimeDuration; 0.166' seconds (by default 0.498)
|
; Most notable issue is the ability to "print" money by buying and
|
||||||
; it starts to speed back up, causing game speed to update every tick.
|
; selling pistols in a certain way.
|
||||||
; This makes animations look more smooth when exiting zed-time;
|
|
||||||
; however, updating speed every tick for that purpose seems like
|
|
||||||
; an overkill and, combined with things like
|
|
||||||
; increased tick rate, certain maps and raised zed limit,
|
|
||||||
; it can lead to noticable lags at the end of zed time.
|
|
||||||
; This fix limits amount of actual game speed updates, alleviating the issue.
|
|
||||||
;
|
;
|
||||||
; As a side effect it also fixes an issue where during zed time speed up
|
; Fix only works with vanilla pistols, as it's unpredictable what
|
||||||
; 'zedTimeSlomoScale' was assumed to be default value of '0.2'.
|
; custom ones can do and they can handle these issues on their own
|
||||||
; Now zed time will behave correctly with mods that change 'zedTimeSlomoScale'.
|
; in a better way.
|
||||||
[Acedia.FixZedTimeLags]
|
|
||||||
autoEnable=true
|
autoEnable=true
|
||||||
; Maximum amount of game speed updates upon leaving zed time.
|
; Some issues involve possible decrease in pistols' price and
|
||||||
; 2 or 3 seem to provide a good enough result that,
|
; don't lead to the exploit, but are still bugs and require fixing.
|
||||||
; i.e. it should be hard to notice difference with vanilla game behavior.
|
; If you have a Deagle in your inventory and then get another one
|
||||||
; 1 is a smallest possible value, resulting in effectively removing any
|
; (by either buying or picking it off the ground) - the price of resulting
|
||||||
; smooting via speed up, simply changing speed from
|
; dual pistols will be set to the price of the last deagle,
|
||||||
; the slowest (0.2) to the highest.
|
; like the first one wasn't worth anything at all.
|
||||||
; For the reference: on servers with default 30 tick rate there's usually
|
; In particular this means that (prices are off-perk for more clarity):
|
||||||
; about 13 updates total.
|
; 1. If you buy dual deagles (-1000 do$h) and then sell them at 75% of
|
||||||
maxGameSpeedUpdatesAmount=3
|
; the cost (+750 do$h), you lose 250 do$h;
|
||||||
; [ADVANCED] Don't change this setting unless you know what you're doing.
|
; 2. If you first buy a deagle (-500 do$h), then buy
|
||||||
; Compatibility setting that allows to keep 'GameInfo' 's 'Tick' event
|
; the second one (-500 do$h) and then sell them, you'll only get
|
||||||
; from being disabled.
|
; 75% of the cost of 1 deagle (+375 do$h), now losing 625 do$h;
|
||||||
; Useful when running Acedia along with custom 'GameInfo'
|
; 3. So if you already have bought a deagle (-500 do$h),
|
||||||
; (that isn't 'KFGameType') that relies on 'Tick' event.
|
; you can get a more expensive weapon by doing a stupid thing
|
||||||
; Note, however, that in order to keep this fix working properly,
|
; and first selling your Deagle (+375 do$h),
|
||||||
; it's on you to make sure 'KFGameType.Tick()' logic isn't executed.
|
; then buying dual deagles (-1000 do$h).
|
||||||
disableTick=true
|
; If you sell them after that, you'll gain 75% of the cost of
|
||||||
|
; dual deagles (+750 do$h), leaving you with losing only 375 do$h.
|
||||||
|
; Of course, situations described above are only relevant if you're planning
|
||||||
|
; to sell your weapons at some point and most players won't even
|
||||||
|
; notice these issues.
|
||||||
|
; But such an oversight still shouldn't exist in a game and we fix it by
|
||||||
|
; setting sell value of dualies as a sum of values of each pistol.
|
||||||
|
; Yet, fixing this issue leads to players having more expensive
|
||||||
|
; (while fairly priced) weapons than on vanilla, technically making
|
||||||
|
; the game easier. And some people might object to having that in
|
||||||
|
; a whitelisted bug-fixing feature.
|
||||||
|
; These people are, without a question, complete degenerates.
|
||||||
|
; But making mods for only non-mentally challenged isn't inclusive.
|
||||||
|
; So we add this option.
|
||||||
|
; Set it to 'false' if you only want to fix ammo printing
|
||||||
|
; and leave the rest of the bullshit as-is.
|
||||||
|
allowSellValueIncrease=true
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixAmmoSelling]
|
||||||
|
; This feature addressed an oversight in vanilla code that
|
||||||
|
; allows clients to sell weapon's ammunition.
|
||||||
|
; Due to the implementation of ammo selling, this allows cheaters to
|
||||||
|
; "print money" by buying and selling ammo over and over again.
|
||||||
|
autoEnable=true
|
||||||
|
; Due to how this fix works, players with level below 6 get charged less
|
||||||
|
; than necessary by the shop and this fix must take the rest of
|
||||||
|
; the cost by itself. While it's _highly_ unreliable and can only provide
|
||||||
|
; a minuscule benefit this can potentially be abused by cheaters.
|
||||||
|
; To decrease the amount of value they can get from it, this fix can be
|
||||||
|
; allowed to decrease players' money into negative values.
|
||||||
|
; The trade off is a small chance that there is a bug in this fix and
|
||||||
|
; an unlucky circumstances can lead to regular players
|
||||||
|
; to have negative dosh values.
|
||||||
|
; Both situations are highly unlikely and whichever one you chose probably
|
||||||
|
; doesn't matter, but the option is there.
|
||||||
|
allowNegativeDosh=true
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixInventoryAbuse]
|
||||||
|
; This feature addressed two issues with the inventory:
|
||||||
|
; 1. Players carrying amount of weapons that shouldn't be allowed by the
|
||||||
|
; weight limit.
|
||||||
|
; 2. Players carrying two variants of the same gun.
|
||||||
|
; For example carrying both M32 and camo M32.
|
||||||
|
; Single and dual version of the same weapon are also considered
|
||||||
|
; the same type of gun, so you shouldn't be able to carry
|
||||||
|
; both MK23 and dual MK23 or dual handcannons and golden handcannon.
|
||||||
|
; But cheaters do. But not with this fix.
|
||||||
|
autoEnable=true
|
||||||
|
; How often (in seconds) should we do inventory validation checks?
|
||||||
|
; You shouldn't really worry about performance, but there's also no need to
|
||||||
|
; do this check too often.
|
||||||
|
checkInterval=0.25
|
||||||
|
; For this fix to properly work, this array must contain an entry for
|
||||||
|
; every dual weapon in the game (like pistols, with single and dual versions).
|
||||||
|
; It's made configurable in case of custom dual weapons.
|
||||||
|
dualiesClasses=(single=class'KFMod.SinglePickup',dual=class'KFMod.DualiesPickup')
|
||||||
|
dualiesClasses=(single=class'KFMod.Magnum44Pickup',dual=class'KFMod.Dual44MagnumPickup')
|
||||||
|
dualiesClasses=(single=class'KFMod.MK23Pickup',dual=class'KFMod.DualMK23Pickup')
|
||||||
|
dualiesClasses=(single=class'KFMod.DeaglePickup',dual=class'KFMod.DualDeaglePickup')
|
||||||
|
dualiesClasses=(single=class'KFMod.GoldenDeaglePickup',dual=class'KFMod.GoldenDualDeaglePickup')
|
||||||
|
dualiesClasses=(single=class'KFMod.FlareRevolverPickup',dual=class'KFMod.DualFlareRevolverPickup')
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixInfiniteNades]
|
||||||
|
; This feature fixes a vulnerability in a code of 'Frag' that can allow
|
||||||
|
; player to throw grenades even when he no longer has any.
|
||||||
|
; There's also no cooldowns on the throw, which can lead to a server crash.
|
||||||
|
autoEnable=true
|
||||||
|
; Setting this flag to 'true' will allow to throw grenades by calling
|
||||||
|
; 'ServerThrow' directly, as long as player has necessary ammo.
|
||||||
|
; This can allow some players to throw grenades much quicker than intended,
|
||||||
|
; therefore it's suggested to keep this flag set to 'false'.
|
||||||
|
ignoreTossFlags=false
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixDoshSpam]
|
||||||
; This feature addressed two dosh-related issues:
|
; This feature addressed two dosh-related issues:
|
||||||
; 1. Crashing servers by spamming 'CashPickup' actors with 'TossCash';
|
; 1. Crashing servers by spamming 'CashPickup' actors with 'TossCash';
|
||||||
; 2. Breaking collision detection logic by stacking large amount of
|
; 2. Breaking collision detection logic by stacking large amount of
|
||||||
; 'CashPickup' actors in one place, which allows one to either
|
; 'CashPickup' actors in one place, which allows one to either
|
||||||
; reach unintended locations or even instantly kill zeds.
|
; reach unintended locations or even instantly kill zeds.
|
||||||
;
|
;
|
||||||
; It fixes them by limiting speed, with which dosh can spawn, and
|
; It fixes them by limiting speed, with which dosh can spawn, and
|
||||||
; allowing this limit to decrease when there's already too much dosh
|
; allowing this limit to decrease when there's already too much dosh
|
||||||
; present on the map.
|
; present on the map.
|
||||||
[Acedia.FixDoshSpam]
|
|
||||||
autoEnable=true
|
autoEnable=true
|
||||||
; Highest and lowest speed with which players can throw dosh wads.
|
; Highest and lowest speed with which players can throw dosh wads.
|
||||||
; It'll be evenly spread between all players.
|
; It'll be evenly spread between all players.
|
||||||
@ -63,6 +130,35 @@ doshPerSecondLimitMin=5
|
|||||||
criticalDoshAmount=25
|
criticalDoshAmount=25
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixSpectatorCrash]
|
||||||
|
; This feature attempts to prevent server crashes caused by someone
|
||||||
|
; quickly switching between being spectator and an active player.
|
||||||
|
autoEnable=true
|
||||||
|
; This fix will try to kick any player that switches between active player
|
||||||
|
; and cooldown faster than time (in seconds) in this value.
|
||||||
|
; NOTE: raising this value past default value of '0.25'
|
||||||
|
; won't actually improve crash prevention, but might cause regular players to
|
||||||
|
; get accidentally kicked.
|
||||||
|
spectatorChangeTimeout=0.25
|
||||||
|
; [ADVANCED] Don't change this setting unless you know what you're doing.
|
||||||
|
; Allows you to turn off server blocking.
|
||||||
|
; Players that don't respect timeout will still be kicked.
|
||||||
|
; This might be needed if this fix conflicts with another mutator
|
||||||
|
; that also changes 'numPlayers'.
|
||||||
|
; This option is necessary to block aggressive enough server crash
|
||||||
|
; attempts, but can cause compatibility issues with some mutators.
|
||||||
|
; It's highly recommended to rewrite such a mutator to be compatible instead.
|
||||||
|
; NOTE: fix should be compatible with most faked players-type mutators,
|
||||||
|
; since this it remembers the difference between amount of
|
||||||
|
; real players and 'numPlayers'.
|
||||||
|
; After unblocking, it sets 'numPlayers' to
|
||||||
|
; the current amount of real players + that difference.
|
||||||
|
; So 4 players + 3 (=7 numPlayers) after kicking 1 player becomes
|
||||||
|
; 3 players + 3 (=6 numPlayers).
|
||||||
|
allowServerBlock=true
|
||||||
|
|
||||||
|
|
||||||
|
[Acedia.FixFFHack]
|
||||||
; This feature fixes a bug that can allow players to bypass server's
|
; This feature fixes a bug that can allow players to bypass server's
|
||||||
; friendly fire limitations and teamkill.
|
; friendly fire limitations and teamkill.
|
||||||
; Usual fixes apply friendly fire scale to suspicious damage themselves, which
|
; Usual fixes apply friendly fire scale to suspicious damage themselves, which
|
||||||
@ -70,7 +166,6 @@ criticalDoshAmount=25
|
|||||||
; In oder to avoid that, this fix allows server owner to define precisely
|
; In oder to avoid that, this fix allows server owner to define precisely
|
||||||
; to what damage types to apply the friendly fire scaling.
|
; to what damage types to apply the friendly fire scaling.
|
||||||
; It should be all damage types related to projectiles.
|
; It should be all damage types related to projectiles.
|
||||||
[Acedia.FixFFHack]
|
|
||||||
autoEnable=true
|
autoEnable=true
|
||||||
; Defines a general rule for chosing whether or not to apply
|
; Defines a general rule for chosing whether or not to apply
|
||||||
; friendly fire scaling.
|
; friendly fire scaling.
|
||||||
@ -119,134 +214,37 @@ alwaysScale=Class'KFMod.DamTypeZEDGunMKII'
|
|||||||
;neverScale=Class'KFMod.???'
|
;neverScale=Class'KFMod.???'
|
||||||
|
|
||||||
|
|
||||||
; This feature fixes a vulnerability in a code of 'Frag' that can allow
|
[Acedia.FixZedTimeLags]
|
||||||
; player to throw grenades even when he no longer has any.
|
; When zed time activates, game speed is immediately set to
|
||||||
; There's also no cooldowns on the throw, which can lead to a server crash.
|
; 'zedTimeSlomoScale' (0.2 by default), defined, like all other variables,
|
||||||
[Acedia.FixInfiniteNades]
|
; in 'KFGameType'. Zed time lasts 'zedTimeDuration' seconds (3.0 by default),
|
||||||
autoEnable=true
|
; but during last 'zedTimeDuration * 0.166' seconds (by default 0.498)
|
||||||
; Setting this flag to 'true' will allow to throw grenades by calling
|
; it starts to speed back up, causing game speed to update every tick.
|
||||||
; 'ServerThrow' directly, as long as player has necessary ammo.
|
; This makes animations look more smooth when exiting zed-time.
|
||||||
; This can allow some players to throw grenades much quicker than intended,
|
; However, updating speed every tick for that purpose seems like
|
||||||
; therefore it's suggested to keep this flag set to 'false'.
|
; an overkill and, combined with things like
|
||||||
ignoreTossFlags=false
|
; increased tick rate, certain open maps and increased zed limit,
|
||||||
|
; it can lead to noticable lags at the end of the zed time.
|
||||||
|
; This fix limits amount of actual game speed updates, alleviating the issue.
|
||||||
; This feature addressed an oversight in vanilla code that
|
|
||||||
; allows clients to sell weapon's ammunition.
|
|
||||||
; Moreover, when being sold, ammunition cost is always multiplied by 0.75,
|
|
||||||
; without taking into an account possible discount a player might have.
|
|
||||||
; This allows cheaters to "print money" by buying and selling ammo over and
|
|
||||||
; over again ammunition for some weapons,
|
|
||||||
; notably pipe bombs (74% discount for lvl6 demolition)
|
|
||||||
; and crossbow (42% discount for lvl6 sharpshooter).
|
|
||||||
[Acedia.FixAmmoSelling]
|
|
||||||
autoEnable=true
|
|
||||||
; Due to how this fix works, players with level below 6 get charged less
|
|
||||||
; than necessary by the shop and this fix must take the rest of
|
|
||||||
; the cost by itself. While for unreliable and for minuscule benefit,
|
|
||||||
; this can potentially be abused by cheaters.
|
|
||||||
; To decrease the amount of value they can get from it, this fix can be
|
|
||||||
; allowed to decrease players' money into negative values.
|
|
||||||
; The trade off is a small chance that a some bug in this fix and
|
|
||||||
; an unlucky circumstances can lead to regular players
|
|
||||||
; having negative dosh values.
|
|
||||||
; Both situations are highly unlikely, but the option is there.
|
|
||||||
allowNegativeDosh=true
|
|
||||||
|
|
||||||
|
|
||||||
; This feature attempts to prevent server crashes caused by someone
|
|
||||||
; quickly switching between being spectator and an active player.
|
|
||||||
[Acedia.FixSpectatorCrash]
|
|
||||||
autoEnable=true
|
|
||||||
; This fix will try to kick any player that switches between active player
|
|
||||||
; and cooldown faster than time (in seconds) in this value.
|
|
||||||
; NOTE: raising this value past default value of '0.25'
|
|
||||||
; won't actually improve crash prevention.
|
|
||||||
spectatorChangeTimeout=0.25
|
|
||||||
; [ADVANCED] Don't change this setting unless you know what you're doing.
|
|
||||||
; Allows you to turn off server blocking.
|
|
||||||
; Players that don't respect timeout will still be kicked.
|
|
||||||
; This might be needed if this fix conflicts with another mutator
|
|
||||||
; that also changes 'numPlayers'.
|
|
||||||
; However, it is necessary to block aggressive enough server crash attempts,
|
|
||||||
; but can cause compatibility issues with some mutators.
|
|
||||||
; It's highly preferred to rewrite such a mutator to be compatible.
|
|
||||||
; NOTE: it should be compatible with most faked players-type mutators,
|
|
||||||
; since this fix remembers the difference between amount of
|
|
||||||
; real players and 'numPlayers'.
|
|
||||||
; After unblocking, it sets 'numPlayers' to
|
|
||||||
; the current amount of real players + that difference.
|
|
||||||
; So 4 players + 3 (=7 numPlayers) after kicking 1 player becomes
|
|
||||||
; 3 players + 3 (=6 numPlayers).
|
|
||||||
allowServerBlock=true
|
|
||||||
|
|
||||||
|
|
||||||
; This feature fixes several issues related to the selling price of both
|
|
||||||
; single and dual pistols, all originating from the existence of dual weapons.
|
|
||||||
; Most notable issue is the ability to "print" money by buying and
|
|
||||||
; selling pistols in a certain way.
|
|
||||||
;
|
;
|
||||||
; It fixes all of the issues by manually setting pistols'
|
; As a side effect it also fixes an issue where during zed time speed up
|
||||||
; 'SellValue' variables to proper values.
|
; 'zedTimeSlomoScale' was assumed to be default value of '0.2'.
|
||||||
; Fix only works with vanilla pistols, as it's unpredictable what
|
; Now zed time will behave correctly with mods that change 'zedTimeSlomoScale'.
|
||||||
; custom ones can do and they can handle these issues on their own
|
|
||||||
; in a better way.
|
|
||||||
[Acedia.FixDualiesCost]
|
|
||||||
autoEnable=true
|
autoEnable=true
|
||||||
; Some issues involve possible decrease in pistols' price and
|
; Maximum amount of game speed updates upon leaving zed time.
|
||||||
; don't lead to exploit, but are still bugs and require fixing.
|
; 2 or 3 seem to provide a good enough result that,
|
||||||
; If you have a Deagle in your inventory and then get another one
|
; i.e. it should be hard to notice difference with vanilla game behavior.
|
||||||
; (by either buying or picking it off the ground) - the price of resulting
|
; 1 is a smallest possible value, resulting in effectively removing any
|
||||||
; dual pistols will be set to the price of the last deagle,
|
; smooting via speed up, simply changing speed from
|
||||||
; like the first one wasn't worth anything at all.
|
; the slowest (0.2) to the highest.
|
||||||
; In particular this means that (prices are off-perk for more clarity):
|
; For the reference: on servers with default 30 tick rate there's usually
|
||||||
; 1. If you buy dual deagles (-1000 do$h) and then sell them at 75% of
|
; about 13 updates total (without this fix).
|
||||||
; the cost (+750 do$h), you lose 250 do$h;
|
maxGameSpeedUpdatesAmount=3
|
||||||
; 2. If you first buy a deagle (-500 do$h), then buy
|
; [ADVANCED] Don't change this setting unless you know what you're doing.
|
||||||
; the second one (-500 do$h) and then sell them, you'll only get
|
; Compatibility setting that allows to keep 'GameInfo' 's 'Tick' event
|
||||||
; 75% of the cost of 1 deagle (+375 do$h), now losing 625 do$h;
|
; from being disabled.
|
||||||
; 3. So if you already have bought a deagle (-500 do$h),
|
; Useful when running Acedia along with custom 'GameInfo'
|
||||||
; you can get a more expensive weapon by doing a stupid thing
|
; (that isn't 'KFGameType') that relies on 'Tick' event.
|
||||||
; and first selling your Deagle (+375 do$h),
|
; Note, however, that in order to keep this fix working properly,
|
||||||
; then buying dual deagles (-1000 do$h).
|
; it's on you to make sure 'KFGameType.Tick()' logic isn't executed.
|
||||||
; If you sell them after that, you'll gain 75% of the cost of
|
disableTick=true
|
||||||
; dual deagles (+750 do$h), leaving you with losing only 375 do$h.
|
|
||||||
; Of course, situations described above are only relevant if you're planning
|
|
||||||
; to sell your weapons at some point and most people won't even notice it.
|
|
||||||
; But such an oversight still shouldn't exist in a game and we fix it by
|
|
||||||
; setting sell value of dualies as a sum of values of each pistol.
|
|
||||||
; Yet, fixing this issue leads to players having more expensive
|
|
||||||
; (while fairly priced) weapons than on vanilla, technically making
|
|
||||||
; the game easier. And some people might object to having that in
|
|
||||||
; a whitelisted bug-fixing feature.
|
|
||||||
; These people are, without a question, complete degenerates.
|
|
||||||
; But making mods for only non-mentally challenged isn't inclusive.
|
|
||||||
; So we add this option.
|
|
||||||
; Set it to 'false' if you only want to fix ammo printing
|
|
||||||
; and leave the rest of the bullshit as-is.
|
|
||||||
allowSellValueIncrease=true
|
|
||||||
|
|
||||||
|
|
||||||
; This feature addressed two inventory issues:
|
|
||||||
; 1. Players carrying amount of weapons that shouldn't be allowed by the
|
|
||||||
; weight limit.
|
|
||||||
; 2. Players carrying two variants of the same gun.
|
|
||||||
; For example carrying both M32 and camo M32.
|
|
||||||
; Single and dual version of the same weapon are also considered
|
|
||||||
; the same gun, so you can't carry both MK23 and dual MK23 or
|
|
||||||
; dual handcannons and golden handcannon.
|
|
||||||
[Acedia.FixInventoryAbuse]
|
|
||||||
autoEnable=true
|
|
||||||
; How often (in seconds) should we do our inventory validations?
|
|
||||||
; We shouldn't really worry about performance, but there's also no need to
|
|
||||||
; do this check too often.
|
|
||||||
checkInterval=0.25
|
|
||||||
; For this fix to properly work, this array must contain an entry for
|
|
||||||
; every dual weapon in the game (like pistols, with single and dual versions).
|
|
||||||
; It's made configurable in case of custom dual weapons.
|
|
||||||
dualiesClasses=(single=class'KFMod.SinglePickup',dual=class'KFMod.DualiesPickup')
|
|
||||||
dualiesClasses=(single=class'KFMod.Magnum44Pickup',dual=class'KFMod.Dual44MagnumPickup')
|
|
||||||
dualiesClasses=(single=class'KFMod.MK23Pickup',dual=class'KFMod.DualMK23Pickup')
|
|
||||||
dualiesClasses=(single=class'KFMod.DeaglePickup',dual=class'KFMod.DualDeaglePickup')
|
|
||||||
dualiesClasses=(single=class'KFMod.GoldenDeaglePickup',dual=class'KFMod.GoldenDualDeaglePickup')
|
|
||||||
dualiesClasses=(single=class'KFMod.FlareRevolverPickup',dual=class'KFMod.DualFlareRevolverPickup')
|
|
Reference in New Issue
Block a user