Here is the current Readme:
Code: Select all
6/18/2012 UTSPFix RC5
These GameTypes are targeted at players who are adding Monsters to default UT games.
The amazing amount of errors and warnings in the log file that show up when ScriptedPawns, (Monsters), are
added to the default UT Gametypes have annoyed me for years.
Decided to do something about it.
I had determined a while ago that most of those problems could not be corrected via a mutator
without causing even more issues. Decided to try and just fix the default gametypes.
UTSPFIX adds the following new gametypes:
DeathMatch - SP Fix
Team DeathMatch - SP Fix
CTF - SP Fix
Assault - SP Fix
Domination - SP Fix
Configuration for all settings other than the new ones are done the same way as you have always done them
via the Practice Match config screens. Just pick one of the new gametypes and setup the game with the
settings you want as usual.
These gametypes include some extra options.
1. Bot may be more inclined to attack monsters if they encounter them.
2. Added 2 new config variables that add 3 scoring options when a monster is killed.
New config variables:
For AS_SP, DOM_SP and CTF_SP:
bScoreSPKills=True // If True, players score point for killing monsters.
bNegScoring=False // If True, players lose a point for killing monsters. (bScoreSPKills must be False)
For the AS_SP gametype only:
bScoreTeamKills=True // If True counts kills of other players or bots in the Team Score, as well as monsters.
(Default Assault makes no use of the team score....)
New options for the DM_SP gametype:
bScoreSPKills=True // Same as described above.
bNegScoring=False // Same as described above.
bScoreDeathsBySP=True // If True, players deaths is incremented if they are killed by a monster.
bMonsterTeam=True // If True game adds a Player named "The Monster Team" to the game. Will score a point whenever monster kills a bot or player.
bScoreSPvsSP=True // If True, and bMonsterTeam=True, "The Monster Team" will score a point when a monster kills another monster.
New options for the TDM_SP gametype:
bScoreSPKills=True // Same as described above.
bNegScoring=False // Same as described above.
bScoreTeamKills=True // Same as described above.
bMonsterTeam=True // Same as described above.
bScoreSPvsSP=True // Same as described above.
MonsterTeamNum=3 // Team number to put "The Monster Team" on. Valid range 0-3.
ForceTeamNum=255 // Team number for Human Players. Valid range 0-3. If 255, players can join any team.
bSpawnInTeamArea=True // Attempt to spawn players and bots in Team Area, if the map has PlayerStarts for that team.
bRandTeams=False // If True, The Monster Team will be on a random team between 0-3 each game.
// If True AND ForceTeamNum is NOT 255, Players will also be placed on a random team.
Note regarding MaxTeams.
The default setting for number of teams you can set during game config, will be used
for adding bots and players, and team balancing, if it is enabled. By setting some of the new variables, you can force
additional teams for human players and/or The Monster Team as you wish.
If The Monster Team is on any team, and that team wins, the game will announce that "The Monster Team" has won.
These new options may be accessed 2 ways.
1. Via the UT menu. Options - Advanced Options - Game Types*
2. Edit the new gametype sections in your UT.ini file.
2. After you play a game with one of the new gametypes, a new section should be appended to
you UnrealTournament.ini file.
Look for sections: [UTSPFix5.DM_SPGame], [UTSPFix5.CTF_SPGame] etc.
You can edit the settings there if you wish.
-------------
Installation:
Drop UTSPFix5.int and UTSPFix5.u into your UnrealTournament\System folder.
Select one of the new gametypes and play.
-------------
For servers, add UTSPFix5 to the ServerPackages section of your ini file.
uz file provided for your redirect.
You will need to be using a mapvote mutator that lets you specify the
GameType classes in its ini file.
Look for a section like this:
DMGameType=BotPack.DeathMatchPlus
TDMGameType=BotPack.TeamGamePlus
DOMGameType=BotPack.Domination
CTFGameType=BotPack.CTFGame
ASGameType=BotPack.Assault
Change it to this:
DMGameType=UTSPFix5.DM_SPGame
TDMGameType=UTSPFix5.TDM_SPGame
DOMGameType=UTSPFix5.DOM_SPGame
CTFGameType=UTSPFix5.CTF_SPGame
ASGameType=UTSPFix5.AS_SPGame
Enjoy !
*Credit to Dr.Flay over at UT99.org for the int file tweak that gives access to the
gametype settings in Advanced Options.
Note you must have OldSkool installed for the Advanced Options menu to be available.
**Update:
Note, this will not fix warnings specific to the types of monsters you are adding to your games.
Errors like this are problems with the monster class itself:
Code: Select all
ScriptWarning: Fly CTF-Face.Fly5 (State UnrealShare.Fly.TacticalMove:0019) Accessed None
ScriptWarning: Fly CTF-Face.Fly5 (Function UnrealShare.ScriptedPawn.TacticalMove.PickDestination:007A) Accessed None
ScriptWarning: Fly CTF-Face.Fly5 (Function UnrealShare.ScriptedPawn.TacticalMove.PickDestination:0082) Accessed None
These are the type of errors these gametypes are trying to eliminate:
Code: Select all
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.AssessBotAttitude:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.GameThreatAdd:0013) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.GameThreatAdd:0013) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ReduceDamage:003A) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.AssessBotAttitude:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ScoreKill:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.TeamGamePlus.IsOnTeam:0014) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.TeamGamePlus.IsOnTeam:0014) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.TeamGamePlus.IsOnTeam:0014) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.AssessBotAttitude:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.AssessBotAttitude:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.AssessBotAttitude:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ReduceDamage:0022) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ReduceDamage:003A) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ScoreKill:002C) Accessed None
ScriptWarning: CTFGame CTF-Face.CTFGame0 (Function Botpack.CTFGame.ReduceDamage:003A) Accessed None
*Edit - Decided after I posted this that it might be a good idea to see how it works online.
Put it on my DM/CTF server.
Seems to work very well in initial testing.
As expected, the massive reduction in script warnings and errors seem to have improved performance in a number of ways.
Primarily due to all the warnings that not longer being replicated from server to client I suspect. (Less channels etc)
I did see a handful of warnings on a 3rd party map during testing on my server, but nothing like the giant flood of accessed none
warnings it used to generate. Client side logs were looking fine.
Because this server starts up on a DM map, I made the following change in addition to the above changes to the gametype
classes in the servers UnrealTournament.ini file:
Code: Select all
[Engine.Engine]
DefaultServerGame=Botpack.DeathMatchPlus
Code: Select all
[Engine.Engine]
DefaultServerGame=UTSPFix4.DM_SPGame // Only needed for dedicated servers.