Dynamic Game Password mutator for UT2004 v0.99d

Released: 3/20/2004
by: <<-Strider->>, stelcontar@stelcontar.net

Other places to find me:
http://www.stelcontar.net/ - my soon to be website
http://www.fragilicious.com/ - excellent UT2004 server
Str1der on irc.gamesurge.net in #UnrealEd, #Cove, or #UnrealOps


Additional credits:

-[GO]Doc and the [GO]Team (team-go.com) for the original dynamic password idea.
-Blitz & crew in #UnrealEd on irc.gamesurge.net (irc.progameplayer.com) for
help in unreal scripting.


DESCRIPTION:

This mutator will set a server's game password according to player load. There
are two limits PLimit1 and PLimit2. If enabled, Password1 will be required for
a player to connect after PLimit1 is reached and Password2 will be required
after PLimit2 is reached. If the player load drops below PLimit2 Password1 will
be in effect. If the player load drops below PLimit1 the game password will be
removed. If bTournamentMode is set it will override the current password and
set its own. Changes made through web admin can take effect without restarting
the server.


INSTALLATION:

DynamicGP can be installed three different ways.

Methods 1&2 support configuration through webadmin and it will react virtually
instantaneous to player load changes. However it is possible the mutator's
entry could get dropped from the ucc.exe command line by web admin or mutators
that change the server level.

Method 3 does not support webadmin and could take up to 1 sec to react to load
changes but will always be loaded by the server.

To install:

Methods 1&2&3: Place MutDynamicGP.u, MutDynamicGP.int, and DynamicGP.ini into
your <GameDir>\System directory. (A default DynamicGP.ini will be created if
it isn't found.)


Method 1 only: Add ?mutator=MutDynamicGP.DynamicGP to your ucc.exe command
line. If running more than one mutator from the command line separate them
by commas. Be sure to have only one "?mutator=" entry. Ex:

ucc.exe ...?mutator=MutDynamicGP.DynamicGP,XGame.MutNoAdrenaline?difficulty=6

Thats all for method 1.


Method 2 only: In web admin select the "current" tab then "mutators" on the
left hand side then check "Dynamic Game Password Mutator". Click "Set selected
mutators" at the bottom then "restart level" on the left

Thats all for method 2.


Method 3 only: Add the following line to your server's .ini at the bottom of
the [Engine.GameEngine] section:

ServerActors=MutDynamicGP.DynamicGP 

Thats all for method 3.


INI FILE / WEBADMIN SETTINGS

NOTE: Shut down the server before editing AutoMapSelect.ini directly otherwise
your changes may not be saved. If DynamicGP was installed using method 1 or 2
web admin can be used to change these values. If "Dynamic Game Password
Mutator" is currently checked under "mutators", DynamicGP web admin features
should be enabled. To get to them, under the defaults tab select "DynamicGP"
from the left hand column. If the mutator was installed using method 3 and
"Dynamic Game Password Mutator" is checked in web admin, two instances of the
mutator will load and likely interfere with each other.


Default values are shown for each setting below.


PLimit1=-1

This is the player limit required for Password1 to be in effect. Setting this
to -1 disables it. Setting it to 0 would cause this password to always be
required (unless PLimit2 is enabled and was reached or bTournamentMode is on).


PLimit2=-1

This is the player limit required for Password2 to be in effect. Setting this
to -1 disables it. PLimit2 must be greater than PLimit1 (only if PLimit1 > -1
and PLimit2 > -1) or both PLimit1 and PLimit2 will be disabled.


Password1=

The password required to connect if PLimit1 has been reached. Not case-
sensitive.


Password2=

The password required to connect if PLimit2 has been reached. Not case-
sensitive.


TPassword=

The password required to connect if bTournamentMode is set to true. Not case-
sensitive.


bDGPEnabled=true

When set to true the Dynamic Game Password feature will be enabled. That is,
player limits and passwords will be set according to PLimit1, PLimit2,
Password1 and Password2. (bTournamentMode overrides this setting.)


bTournamentMode = false

When set to true, TPassword will be required to connect to the server
regardless of player load (Password1 and Password2 will not be required).


bDebug = false

Sends extra info to the server log (ucc.log).


bLiveUpdate = false

Leave as is. Used by the script to detect changes made through WebAdmin.


bConfigExists = true

Leave as is. Used by the script to detect if the .ini file exists.


TODO:
-Future versions may support additional Tournament Mode actions such
 as kicking certain players, server parameter changes, etc.
-More password levels may be added.


