Wormbo's Homepage
UTPlus

Content


Related Links


Description

UTPlus is a collection of useful features with a common user interface.
Currently it consists of the following modules:

UTPlus mutator
This is the main mutator and the preferred way for dynamically enabling UTPlus on a server.
It enables the basic server-side features like logging player IDs and enabling the console commands for accessing these logs. The main mutator can also load other UTPlus components except for the AccessControl.
Options only requiring the main mutator are:
Enable colored death messages
Displays player names in death messages in their team colors and yellow for neutral players. (This option can also be added to the URL as bEnableColoredDeathMessages.)
Less lockdown
Decreases the "lockdown" effect, which would effectively prevent players from dodging or jumping while being hit e.g. with the linkgun. (This option can also be added to the URL as bLessLockdown.)
Fix shield bug
Changes the way shields absorb damage so the small shield's energy is not completely ignored while there's still big shield energy left. (This option can also be added to the URL as bFixShieldBug.)
Projectile simulation bugfix
This feature should get rid of the bug where rockets, grenades or flak shells seem to hit players without causing any damage. (This option can also be added to the URL as bEnableProjectileFix.)
Auto demo recording
When enabled, UTPlus will automatically record server-side demos when running on a dedicated server. Client-side automatic demo recording will always be available (independantly from this option) if the UTPlus client GUI is enabled. (This option can also be added to the URL as bAutoServerDemoRecording.)
UTPlus demos will start when the count down starts and stop a few seconds after the match (or round in Assault/Onslaught) ended. Each round in an Onslaught or Assault game is recorded as a separate demo.
The main UTPlus mutator itself will hopefully soon be white-listed at the masterserver, so it won't make your server non-standard unless one of the other mutators is enabled as well.
UTPlus AccessControl
The serverside-only UTP_AccessControl class can be used instead of UT2004's XAdmin.AccessControlIni to permanently enable UTPlus on a server.
Currently it only loads the UTPlus mutator and allows the UTPlus UTAN plugin to prevent players from connecting to a server altogether instead of having to kick them after they joined.
UTPlus UTAN v1.01 Plug-in
This so-called UTPlus Extension, a selectable plug-in, works like the UTAN ban manager ServerActor, except that it will not show up in the server details. As a UTPlus extension this module can be enabled through the URL via ?UTPExtension=UTPlusServerV1.UTP_UTANPlugin when the main mutator is enabled.
The UTAN plug-in will store the ban data in a separate data package in the Saves directory of your server. This way your server's INI file is kept clean and the ban database takes up less space.
When using the UTPlus AccessControl, the UTAN plug-in can not only kick players that are UTAN-banned, but it even prevents those players from joining the server in the first place.
UTPlus Advanced Movement mutator
This mutator (aka. MultiDodging) enables various movement options, like Boost Dodge, multiple wall-dodges and fast dodging.
UTPlus Player Visibility mutator
This mutator enables the force model and bright skin options.
UTPlus bright skins consist of two components: The actual player skin and a bright skin overlay. You can force the playerskin to be red, blue or neutral for enemies and team mates independently. The overlay color is a freely selectable RGB value for the red team, blue team, neutral players or on a friend/enemy basis.
The force model options allow you to select one model that will be used for yourself and your enemies and another model for your team mates. Note that your own model will always match your enemy model if you enable forced enemy models.
Various parts of the client-side options can be disabled by the server admin. There's also a server-side Skin Glow option that allows the admin to brighten up players in general, preventing the dark player models bug on e.g. DM-Compressed.
UTPlus Hit Sounds mutator
This mutator enables the UTPlus hit sounds.
Clients can assign different hit sounds to enemy hits, team hits, protected player hit, enemy vehicle hits and empty vehicle hits. The list of hit sounds can be edited individually by the clients and they can select, whether they want constant-pitch hit sounds or damage-based variable-pitch (aka. CPMA) hitsounds. This feature can be disabled by the serveradmin but is enabled by default on server and client. Also, the serveradmin can select, whether hit sounds are line-of-sight, i.e. require players to see their opponent.
UTPlus Ping Compensation mutator
This mutator is actually a two-in-one solution. It adjusts the visible player locations client-sidely based on the local player's ping. This adjustment tries to predict the player movement based on the ping and hopefully allows a more LAN-like gameplay feeling.
If combined with the InstaGib or Zoom InstaGib mutator or the InsaGib CTF gametype, real server-side ping compensation is enabled (Unlagged InstaGib) and clients can select the type of ping compensation they want to use.
On the client side players can select, whether they want client-side prediction, server-side compensation or none of these options. Also they can select, what to do if the preferred compensation type is not available:
Off
No ping compensation at all, whether compensation is available or not.
Prediction Only
Only client-side prediction should be used, even if server-side compensation is available. If prediction is not available, server-side compensation will be ignored.
Prediction Preferred
Client-side prediction is the preferred way for compensating ping. However, server-side compensation will be used if prediction is not allowed.
Server Preferred
Server-side ping compensation is preferred, but client-side prediction will be used if server-side compensation is not available. This is the default setting.
Server Only
Only server-side compensation will be used. Client-side prediction will be ignored, even if it's the only compensation type available.
UTPlus Spawn Grenades mutator
This mutator adjusts the number of Assault grenades each player starts with.
UTPlus No Double Damage mutator
This mutator removes the Double Damage pickup from the map.
UTPlus Q-Mode mutator
The Q-Mode mutator might provide an interesting change from standard UT2004 gameplay.
Changes:
Shields
Mini shield pickups (+5) instead of adrenaline pills.
No separate absorption logic for different shield types. They are all added into a single protection layer that absorbs 75%.
Maximum shield: 200
Health
Health and shield above 100 points drain at a rate of 1 point per second.
Ammo
Weapon pickups will always fill the ammo to its default amount if it's below that value. If the ammo amount is already at the default value or above it, only one ammo point is added.
Respawn Times
All health pickups (including big keg'o health) respawn after 35 seconds.
All shield pickups respawn after 25 seconds.
Ammo pickups respawn after 30 seconds.
Weapon respawn times are adjusted so they respawn after 25 (with weapon stay after 5) seconds. Weapon stay will be disabled for weapons that are affected by this setting. Super weapons respawn after 100 seconds.

Installation

If you downloaded the UT4MOD version of UTPlus, just doubleclick the UT4MOD file and the UT2004 installer should guide you through the setup process. If that doesn't work, see UnrealWiki: UMOD/Problems for help or simply get the plain ZIP version of UTPlus.

To install the plain ZIP version of UTPlus, extract the content of the ZIP file to your UT2004 directory. Make sure you preserver the ZIP files directory structure, that way all files will be extracted to their corresponding directories. If all you want to do is play UTPlus offline or on other people's servers, youre already done now. Start UT2004 and have fun!
When hosting a server, it might be a good idea to add the following line in the [Engine.GameEngine] section of your server's INI file:

ServerPackages=UTPlusClientV1

Depending on how you want to enable UTPlus, you then either add the main mutator to the startup commandline:

?mutator=UTPlusServerV1.MutUTPlus

...or replace the access control class in the [Engine.GameInfo] section of the server's INI file:

AccessControlClass=UTPlusServerV1.UTP_AccessControl

Important: Don't change the access control class for your UT2004 client, otherwise you might no longer be able to play on non-UTPlus servers!

If you want to upload files to a redirection server, please only compress and upload the following packages:

All other files will never be downloaded by clients and only waste space on the redirection server.


Server Configuration

The UTPlus configuration is entirely accessible through the webadmin interface and the clientside configuration menu (except for the UTAN plugin configuration), which is added to the ESC mid-game menu.
If for some reason (*cough*NGZ*cough*) you need to manually add the UTPlus configuration to your INI file, copy the INI sections below to your server's INI file:

[UTPlusServerV1.UTP_AccessControl]
bAddToServerPackages=False
bDisabled=False
PrivClasses=Class'XAdmin.xKickPrivs'
PrivClasses=Class'XAdmin.xGamePrivs'
PrivClasses=Class'XAdmin.xUserGroupPrivs'
PrivClasses=Class'XAdmin.xExtraPrivs'

[UTPlusServerV1.UTP_UTANPlugin]
UTANUserName=
UTANPasswordHash=
bQuickEnforceBans=False
bReceiveUTANBans=True
bReceiveGISPBans=True
bReceiveIPs=False
bReceiveAimbot=True
bReceiveAnnoyance=False
bReceiveSkinHack=True
bReceiveWallHack=True
bReceiveOther=True
bAllowTracking=True
bAllowKickReporting=True
bLoadExtension=False

[UTPlusServerV1.MutUTPlus]
bEnableProjectileFix=True
bEnableColoredDeathMessages=True
bEnableBrightPlayerSkins=False
bEnableHitSounds=False
bEnablePingCompensation=False
bEnableAdvancedMovement=False
bEnableSpawnGrenades=False
bDisableDoubleDamage=False
bLessLockdown=False
bFixShieldBug=False
bAlwaysEnableClientGUI=True
bShowIPsInWhois=False
bAutoServerDemoRecording=False
AutoServerDemoName=%d_%t_%g_%m
bCheckInputConsistency=True
bRestartMapWhenServerEmpty=True

[UTPlusServerV1.MutUTPlusBrightSkins]
bAllowDeRes=True
bAllowBrighterSkins=True
SkinGlow=96
TeamBeaconMaxDist=10000
TeamBeaconPlayerInfoMaxDist=1800

[UTPlusServerV1.MutUTPlusHitSounds]
bAllowVariableHitSounds=True
bLineOfSightHitSounds=True

[UTPlusServerV1.MutMultiDodging]
MaxDodgesPerJump=-1
bAlwaysAllowDodgeDoubleJump=True
bEnableBoostDodge=False
bFastDodging=True
bPawnsIgnoreTerminalVelocity=True

[UTPlusServerV1.MutUTPlusSpawnGrenades]
InitialGrenades=1

Note: The server-side components of UTPlus generate a random ID to allow multiple servers running from different INI files of the same installation to create their own data packages for the player ID and UTAN ban databases. Running multiple servers from the same INI file or not having write access to the UT2004/Saves directory will cause problems, i.e. neither player IDs nor the UTAN ban database can be stored to disk properly and will most likely be lost after server restart.
The INI section for this random ID looks as follows:

[UTPlusServerDataStorageV1.UTP_DataStorageID]
_Notice_= The ServerID will be appended to all UTPlus data storage packages to make them unique for every server run from this directory.
ServerID=1

Client Configuration

UTPlus adds a new tab to the mid-game ESC menu. If you happen to still have the MyMenu command from UTComp bound to a key, it will take you directly to this UTPlus tab. Otherwise just press ESC and select the UTPlus tab.
The upper part of the UTPlus tab contains a list of server settings. Use the mouse wheel to scroll this list, it usually contains a few more items than initially fit into the visible area. The logo in the lower left part was made by [BVA]flou`, many thanks for that. The lower right part contains the buttons "Player Visibility Settings", "Hit Sound Settings", "Misc Settings", "Server Settings", "Restart Map" and (in network games) "Admin Login". In network games you have to be logged in as an admin to change the server settings or restart the map.

On the UTPlus Player Visibility Options page you can toggle Epic Brightskins (i.e. skins with more team color for the original UT2003 models) and set forced team/enemy models, skin base color and skin overlay color.
In UTPlus player skins are composed of several components. The model's base skin, which is the regular skin texture that comes with the model, can be set to original, neutral, red or blue. The skin overlay color can be freely selected using the RGB color sliders in the lower right part of the page.
Selecting original as the base skin color causes the game to use the real team color to select a base skin. In this case UTPlus uses the corresponding skin overlay color for red team, blue team or neutral players.
When red, blue or neutral is selected as the base skin color, UTPlus will apply the enemy or team skin overlays colors to the player. You will have to manually match the overlay colors to the selected base skin color.
The Apply only to this map checkbox does exactly what it tells you: The settings will only be used when you play on this map. Neither the special settings for other maps, nor the global settings are affected.

UTPlus comes with numerous hit sound samples and allows you to assign them to five different types of hit sounds: enemy player, team mate, protected player, enemy vehicle, empty vehicle.
On the UTPlus Hit Sound Options page you have five sliders to select hit sound samples for the different types of hit sounds, another slider to adjust the hit sound volume and a check box for enabling damage-based variable-pitch hit sounds for enemy hits. (This is what some players refer to as CPMA hit sounds.) You can not only use the default UTPlus hit sounds, but also create your personal list of hit sounds. For details on creating sound packages for UT2004 see the documentation on the UnrealWiki.

The UTPlus Misc Configuration Options page contains all options that didn't fit elsewhere: DeRes settings, match documentation settings, sound settings, ping-related settings and a few other things.
The DeRes options control, "how players die". Instant DeRes immediately starts the fade-out effect when a player dies. Rising DeRes causes the deres-ing body to float upwards, ignoring gravity. Team-colored DeRes changes the default green of the deres effect to the player's team color. (the skin overlay color, actually) The linkgun death effect (aka. leave body effect) is the short animation freeze when a player is killed with the linkgun beam.
Constant crosshair size prevents the crosshair from changing its size when the player picks up items. No damage indicators disables the red screen flashes that indicate the direction when you take damage.
The automatic end-game screenshot and demo recording will take a scoreboard screenshot and record a demo of the match respectively. The only filename placeholders available for now are those used in the default settings: %d = date, %t = time, %g = gametype, %m = map name.
The ping compensation types for players are explained in the introduction above already. Client-side ping prediction can also be applied to shock projectiles and will only adjust their visible location. The connection status display is the new HUD element below the Adrenaline status. The larger (hopefully green) number is the ping, the smaller number is packet loss. When the status display starts flashing you are experiencing connection problems. This usually happens after connecting, when the match starts and right before a map change. The UTPlus ping is calculated separately from the UT2004 ping and can often display different values than F6 or the scoreboard. Ping display smoothing will take a few of the UTPlus ping results and combine them in a way that allows the final result to adjust to the real ping much faster than with UT2004's method. Ping values are always inaccurate in the game, so a moderate amount of smoothing is neccessary to get useful results. The smoothed value will be displayed in the HUD and used for client-side ping prediction. Setting the ping smoothing value too low can make prediction too inaccurate becasue of the ping spikes that are always there, while setting it too high can make the prediction inaccurate when your ping is not stable.
The Play own footsteps option can be used to disable the own footstep sounds. Play own landing sound can be used to also turn off the sound when you land after a jump or dodge. The Rolloff factor tells the game, how quickly a sound's volume falls off with distance. With lower values sounds played further away are louder than with the default setting of 0.5.
Log UTPlus console activity will write the output of the Server Player ID DB console commands to the file UTPlus_Client_Console.log in the UT2004\UserLogs directory. Please ignore the Enable client player ID DB setting for now, it's not yet implemented.


Console Commands

The main UTPlus mutator adds the following console commands:

Mutate UTP ShowIDs [-names]
Displays a list of players with their GUIDs. Add the -names parameter to list alias names with the players.
Mutate UTP WhoAmI
Displays your own GUID and IP.
Mutate UTP WhoIs [#uid|nick] [-allips]
Displays the specified player's GUID and alias names. When specifying a UID, the player doesn't need to be online. The -allips parameter will casue the WhoIs command to list data for all players with that GUID. (For the UTPlus player ID DB a player is a unique combination of GUID and IP.)
Mutate UTP Restart
Soft-restarts the current map without reloading it. This command is currently only available to admins.
Mutate UTP HUDShot
Forces clients to take an in-game screenshot with the HUD. This command is only available to admins. Sceenshots taken through this command are called 'UTPAutoShot(number)...' and contain the UTPlus logo text.

As a spectator you can bind a key to the command ToggleDemoCamera to, well, toggle the demo camera. Note that you have to bind the command to a key. It won't have any effect when entered at the console.

During demo playback or when enabling the demo camera as a spectator, the following command (again: these must be bound to a key!) can be used:

Fire / DemoViewNextPlayer
Switch to the next player. This will also work in client demos as long as the player's data is available.
AltFire / ToggleBehindView
Switches between the different camera view modes: first person, fixed third person, free third person, chase cam, free flight.
Use / ViewNextProjectile
Switch to projectile chase view as soon as the spectated player fires a projectile. Pressing Fire or AltFire will return to the player, pressing Use again will switch to the next projectile fired after pressing the key.
CenterView
Centers the view rotation for free behind view and free-flight view.

Free behindview and free-flight view interpret movement input on their own. The camera reaction might differ from the movement in regular spectator view.
During demo playback and as a spectator, forced team colors are ignored. Additionally, demo playback ignores forced models by default. To change this behavior or to tweak the camera's reactions to movement input, copy the following lines to your UT2004\System\UTPlusClientSettings.ini:

[UTPlusClientV1.UTP_DemoPlaybackSettings]
Player3rdPersonOffset=(X=-250.000000,Y=0.000000,Z=80.000000)
Player3rdPersonViewOffset=(X=50.000000,Y=0.000000,Z=20.000000)
Free3rdPersonViewTurnRate=100.000000
Free3rdPersonViewPitchRate=100.000000
MaxChaseCamSpeed=1500.000000
PlayerChaseSpeedFalloff=2.000000
ChaseCamAcceleration=2000.000000
ChaseCamPlayerRepulse=500.000000
PlayerChaseOffset=(X=-300.000000,Y=0.000000,Z=100.000000)
PlayerChaseViewOffset=(X=50.000000,Y=0.000000,Z=20.000000)
MaxProjectileCamSpeed=3000.000000
ProjectileChaseSpeedFalloff=3.000000
ProjectileCamAcceleration=5000.000000
ProjectileChaseOffset=(X=-150.000000,Y=0.000000,Z=50.000000)
ProjectileChaseViewOffset=(X=50.000000,Y=0.000000,Z=0.000000)
ProjectileImpactSwitchDelay=0.500000
FreeFlightAxisSpeeds=(X=800.000000,Y=800.000000,Z=800.000000)
FreeFlightTurnRate=100.000000
FreeFlightPitchRate=100.000000
VelocityFadeTime=0.200000
bVerticalUpDown=True
bForceRegularModels=True
bForceRegularSkins=True
DemoPlaybackMenu=Class'UTPlusClientV1.UTPGUI_DemoPlaybackMenu'
bFadeOnViewChange=True
DumpFrameRatePreset=(Presets=(15,20,24,25,30,50,60),LastValue=30)

It is woth mentioning, that you can use the DumpFrameRatePreset variable to adjust the default frame rate and the values listed in the combo box of the frame dumping page to your likings. Since the game does not write configuration changes to INI files during demo playback, these value will never change on their own.

While you have the INI file open, I'd like to direct your attention to two other setting not available from within the game: bCalcPathsDuringGame and bDrawPathStatus in the [UTPlusClientV1.UTP_ClientSettings] section. These affect the path calculations for the player chase cam and projectile chase cam. These paths will be calculated on clients during demo playback and while spectating a match. On larger maps this process may require a considerable amount of time and may cause a short freeze once in a while when the intermediate path data is saved to disk. Becasue of this you should definately keep bCalcPathsDuringGame set to false, otherwise path calculation would not stop when you enter the match. bDrawPathStatus is mainly for information. When set to true, the status of the path calculation process is displayed at the bottom of the screen while spectating or playing back demos. This display will not show up when frame-dumping demos or when playing. Note that the path calculation process will not affect the quality of the dumpframes output, but the chase cams might not work as desired as long as the camera paths are not complete.
The results of the cam path calculations are stored in your UT2004\Saves directory. Depending on the size of a map, the data packages' sizes can vary from a few hundred kB to several MB. For some larger Assault and Onslaught maps, the path data may take up 50MB or even more.


Valid XHTML 1.0! Site design by Wormbo © 2002-2007 Valid CSS!