TimeScaler Mutator

  • Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/
  • Weve updated the Tripwire Privacy Notice under our Policies to be clearer about our use of customer information to come in line with the EU General Data Protection Regulation (GDPR) rules that come into force today (25th May 2018). The following are highlights of our changes:


    We've incorporated the relevant concepts from the GDPR including joining the EU and Swiss Privacy Shield framework. We've added explanations for why and how Tripwire processes customer data and the types of data that we process, as well as information about your data protection rights.



    For more information about our privacy practices, please review the new Privacy Policy found here: https://tripwireinteractive.com/#/privacy-notice

-=THOR=-

FNG / Fresh Meat
Sep 20, 2011
1,050
50
0
This mutator allows to scale these parameters:

Territory:
-Round time limit
-Lockdown time
-Minimum time to capture a zone.
-Axis/Allies delay between reinforcements waves
-Delay between commander-forced respawn

Firefight:
-Round time limit*
-Axis/Allies delay between reinforcements waves

Countdown:
-Objective time limit
-Minimum time to capture an objective Zone.

*In this case special case, the time limit can only be set to a value, it cannot be scaled.

PROFILES
You can create as many scaling profiles as you want in the config file. A profile contains these settings:

  • ID [TE/FF/CD] MANDATORY
    Identifies a profile. Any alphanumerical value is accepted (case insensitive).
  • AbsoluteTimeLimit [TE/FF/CD] (default: false)
    Set to true if you want to use an absolute time limit, or false if you want to use a scaling factor.
  • TimeLimit [TE/FF/CD] (default: 1.0)
    Absolute time in seconds, or scaling factor. For FF, it HAS to be an absolute time.
  • LockDownTime [TE] (default: 1.0)
    Scaling factor for the lockdown timers.
  • MinimumCaptureTime [TE/CD] (default: 1.0)
    Scaling factor for the time required to capture a zone/objective
  • AxisReinforcementDelay [TE/FF] (default: 1.0)
    Scaling factor for the time between the axis reinforcements waves.
  • AlliesReinforcementDelay [TE/FF] (default: 1.0)
    Scaling factor for the time between the allies reinforcements waves.
  • InstantRespawnInterval [TE] (default: 1.0)
    Scaling factor for the delay between commander-forced respawn.

Whenever a parameter is not specified, the default value is used.

Here's the default configuration file:

Code:
[TimeScaler.TimeScaler]
bEnableLogging=false
ScalingProfileList=(ID="Race",TimeLimit=0.75,LockDownTime=0.75,MinimumCaptureTime=0.75,AxisReinforcementDelay=0.75,AlliesReinforcementDelay=0.75,InstantRespawnInterval=0.75)
ScalingProfileList=(ID="Epic",TimeLimit=2.0,LockDownTime=2.0,MinimumCaptureTime=2.0,AxisReinforcementDelay=2.0,AlliesReinforcementDelay=2.0,InstantRespawnInterval=2.0)

Note that when the mutator is active, a default scaling profile is always used, unless a profile ID is specified.

To understand how to use mutator, consider this example, where you want to use the epic profile:
Code:
?mutator=TimeScaler.TimeScaler?TimeScaler_ID=Epic

?TimeScaler_ID=Epic means the the Epic profile will be used.

?mutator=TimeScaler.TimeScaler is used to enable the mutator. You need to include it everytime you use the mutator. If you have many mutators active, line them up like this:
Code:
?mutator=TimeScaler.TimeScaler,OtherMutator.OtherMutator,AnotherOne.AnotherOne ...

OVERRIDE
Any of the parameters defined in the active profile can be overriden by an option in the URL. Basically, to override a parameter, just put ?TimeScaler_<param_name>=<param_value> in the URL.

Consider these examples:

You want to use your use the default profile, but want the lockdown timers to be twice longer:
Code:
?mutator=TimeScaler.TimeScaler?TimeScaler_LockDownTime=2.0

You want to use the Epic profile, but it's a FF map, which means that you need to set an absolute time limit.
Code:
?mutator=TimeScaler.TimeScaler?TimeScaler_ID=Epic?TimeScaler_AbsoluteTimeLimit=true?TimeScaler_TimeLimit=900

INSTALL
1. The zip file is attached to this thread (see below), download it and extract the files.
2. In the server directory, put defaulttimescaler.ini and ROTimeScaler.ini under ~\rogame\config\
3. In the server directory, put TimeScaler.u under ~\rogame\cookedpcserver\
4. If you use a redirect for your server, put TimeScaler.u at the root.

SPECIAL THANKS TO...
-Mad_Fred for helping me to test the mutator.
-Ducky for sharing his mutators, and answering many questions.
-Mekhazzio for taking me out of big troubles.
-worluk for helping me to setup a development environment.
 

Attachments

  • TimeScaler_v1.0.zip
    5.8 KB · Views: 1
  • defaulttimescaler_ini.txt
    391 bytes · Views: 1
  • ROTimeScaler_ini.txt
    391 bytes · Views: 1
  • TimeScaler_u.txt
    21.8 KB · Views: 1
Last edited:

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
I like that profile part. Will make it very easy for an admin to select different settings without having to dive into the ini file.

Nice job!!!
 

-=THOR=-

FNG / Fresh Meat
Sep 20, 2011
1,050
50
0
I like that profile part. Will make it very easy for an admin to select different settings without having to dive into the ini file.

Nice job!!!

Thanks! Btw, if you look carefully at the structure of the file, you'll probably recognize the DynamicMapRotator structure :), it helped me a lot.
 

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
Thanks! Btw, if you look carefully at the structure of the file, you'll probably recognize the DynamicMapRotator structure :), it helped me a lot.

Well that is why I made my mutators open. Then others can get an idea on how things can be done.

Thanks for sharing your code too :)
 

-=THOR=-

FNG / Fresh Meat
Sep 20, 2011
1,050
50
0
I tried to download it twice. When trying to unzip I am getting the error that it is damaged.

Anyone else having this issue?

I zipped the files with 7-zip. But anyway, I just uploaded the files individually. Just remove the .txt extensions, and replace the underscores by dots.
 

Cat_in_da_Hat

FNG / Fresh Meat
Dec 11, 2006
1,749
115
0
Does this allow you to modify the time for each map or is it across the entire game server?

Would be great to have more control over the time setting for each map. Classic mode seems to favour defenders greatly so it would be great to be able to tweak it so the fights are closer.
 

-=THOR=-

FNG / Fresh Meat
Sep 20, 2011
1,050
50
0
Does this allow you to modify the time for each map or is it across the entire game server?

Would be great to have more control over the time setting for each map. Classic mode seems to favour defenders greatly so it would be great to be able to tweak it so the fights are closer.

Yes, all you'd have to do is to add an option in the URL of the map (with DynamicMapRotator). It would be great for Classic on some maps, but it is also for CD, which we are using with great results in the Public 1vs1 Rifleman Tournament.

However the version of this mutator that I submitted to TWI has never been white-listed. The last news I got from them, were that TWI was "concerned about the potential changes to the gameplay without players being aware of it when joining the server".

I'd probably have to review it to see if everything still works fine after the update. But I'm not wasting any more time on it as long as TWI doesn't show a real interest into going through the white-listing process.
 
Last edited: