UT2kX Re : Freon V2 + TAM V4 + Team DeathMatch V2

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

rejecht

Attention Micronians
Jun 15, 2009
511
0
16
.no
sites.google.com
Re adds reworked versions of the popular game types Team ArenaMaster, Freon, and Team DeathMatch to Unreal Tournament 2004 (v3369).

The reworked versions fix bugs, add optimizations and new features to these game types.

Download Now!
This is the final release and includes the source files.

Project Home Page
https://sites.google.com/site/rejecht/re/

Features

Freon v2 / Team ArenaMaster v4 / Team DeathMatch v2
  • Log Chat Messages
  • Score Recovery
  • Spawn Protection is shown with a distinct visual effect and with a counter for the player.
  • The HUD is no longer stretched at wider resolutions thanks to the aspect ratio corrected HUD contributed by Azarael!
  • Players under spawn protection ignore momentum from weapon damage.
  • Team Radar shows teammate positions. Position and size the radar with MoveRadar <X> <Y> and SizeRadar <Size>. Toggle with ShowRadar. Reset with ResetRadar.
  • Centered Damage Indicators surround the crosshair. This feature can be toggled and prevented from being used by a server administrator.
  • Standard Damage Indicators can be disabled.
  • Log Match Statistics (HTML) if the server administrator allows it.
  • Country Code support to have the scoreboard and HUD show the flag to all players.
  • Damage Numbers can be sown on the HUD. Toggle with the command ShowDamage or through [Esc] and the HUD tab.
  • Separate Color Control over symbols or names and character skins.
  • Improved Camper Detection Logic will only punish camping players if they are camping far away, or have not been seen by their opponents because they are hiding.
  • Camper Location can be revealed to all and shown on the HUD.
  • Enemy/Team Info can be changed in size and the number of enemies/teammates drawn can be changed independently.
  • EnemyBoost scales weapon damage momentum applied to enemy players. Tweak how far a player gets thrown around from weapon damage.
  • OwnDamageScale scales the amount of damage players take from hurting themselves with their own weapons. Don't want players to take any damage from their own weapons? Set it to 0.0.
  • OwnBoost scales weapon damage momentum applied to players when they hurt themselves with their own weapons. If used in combination with OwnDamageScale, players can jump around with weapon projectiles without taking any damage, or take less damage. A good value to try is 1.5.
  • (Reduced Network Traffic) Data sent to clients has been reduced by 150+%. Spectators no longer receive the extra team health and position (100% reduction). Players no longer receive the team health and position of their opponents, or for their own character (50+% reduction).
  • (Adrenaline Combo Control) Disable any adrenaline combo through the UT2004.ini file by entering the key combo. For example, DenyAdrenalineCombo=BBFF to disable a back-back-forward-forward combo.
  • Keybind Any Adrenaline Combo with the UseCombo <KeyComboString> command. For example, set input F5 UseCombo BBFF will trigger that combo on hitting F5.
  • Spectate Enemies when you are out if allowed by the server administrator.
  • Current Location Name is shown in the upper left part of the HUD and can be toggled through [Esc] and the HUD tab.
  • Ping & P/L can be drawn on the HUD and toggled using the command ShowNet or toggled through [Esc] and the HUD tab..
  • Packet Loss Tracking shows the packet loss number in a different color on the scoreboard when any player has experienced packet loss during the match. This means that players can quickly see if someone else has suffered from packet loss without having to pay close attention to numbers changing on the scoreboard.
  • Custom Team Names for Red and Blue teams can be set through WebAdmin. The command SetTeamName <TeamIndex> <NewTeamName> can be used by administrators to change the names during a match. Leaving out <NewTeamName> will reset the team name to its default.
  • Team Resources are shown on the HUD. In a match where players have limited respawns, the total number of respawns are shown for each team on the HUD. In normal Team DeathMatch games, it shows how many players are on each team. Separate symbols are used for each of context. This option can be toggled with ShowResources or through [Esc] and the HUD tab.
  • Players have their screens fade in from their selected team color when spawning.
  • Slow-motion ragdoll activated on the final death of a round or match.
  • Rage Quit gets announced to all when a player quits shortly after getting killed.
..and a lot of minor and major fixes.

Team DeathMatch v2
  • Team Adrenaline Combos are now supported.
  • Camper Check is now supported. Instead of calling a draw, players will instead be left with at least 1 health.
  • Team Change Adrenaline Reset can now be controlled by server administrators. When a player leaves a smaller team for a bigger team, a previously hard-coded rule in Team DeathMatch would reset the adrenaline of that player.
  • Pickup Broadcast Shows who picked up the super items on the map. If Weapon Stay is disabled, who picked up the weapon is also broadcast.
  • Reverse Friendly Fire (RFF) is now supported.
  • Damage Bonus is now supported.
  • Administrators can now control whether a team killed player should be able to respawn in a match with finite lives (MaxLives > 0). This was previously a hard-coded rule in Team DeathMatch. It's disabled by default so it acts as seasoned players know it.
  • Weapon Toss option to control whether players toss their weapons on death.
Freon v2 / Team ArenaMaster v4

These team games use modified weapons and track more stats.
  • (Join from Spec) Players can join directly from a spectating slot. No more quitting and rejoining.
  • Disable Teleports until the round starts.
  • Players no longer lose their adrenaline when switching from a smaller team to a bigger team.
  • Delayed Damage Immunity when a round ends. Players can die if they go all guns blazing on the last player.
  • Draw Detection on camper penalty and overtime penalty. The round will be reset if all players would have died during either pass.
  • Arced Lightning is now tracked in the Lightning Gun statistics.
  • Shock Rifle statistics added for Stand Combos, Stolen Shock Combos, and Head Shot Hits.
  • Bio Rifle statistics added for single globs and charged globs separately.
  • Longest Head Shot Distance gets tracked in statistics if a hit is logged that's over 10 meters and applies to the Shock Beam and the Lightning Gun.
  • Flak Cannon statistics added for Flak Chunk (Primary) and Flak Shell (Secondary) as well as separately logging stray flak chunks from a flak Shell.
  • Shield Gun statistics added for Shield Impacts.
  • Keep Super Items such as the Double Damage, Super Health Pack, Super Shield Pack, or Redeemer if the map has those pickups. The pickups are spawned in their usual place.
  • Several novelty awards have been added and are shown in statistics.
  • Neutral Colored Random Pickups show as black and white icons instead of the confusingly team colored blue icon.
  • Improved Round Best Summary compares at least two players if they share the same score, and preferably from opposing teams.
  • Text announcement when a team scores.
Freon v2
  • Players who thaw teammates are not considered camping.
  • Players can be shattered to pieces at the end of a round on taking weapon damage, or from environmental factors, however, a slight nudge with the Shield Gun impact was left in for the lava pusher society.
  • Fully thawing a teammate can optionally reward ammunition.
  • Frozen/Thawing players have an ambient dripping sound.
  • Frozen players thawed by lava get a steaming effect and sizzling sound effect.
  • Message warning when you are about to thaw and view lock when close to thawing.
  • The message You THAWED is shown as usual, however, if others helped thaw a teammate, all get You HELPED THAW. The thawed player gets You were thawed by PlayerName if only one teammate help thaw, or You were thawed by N teammates if more players helped.
  • Scoreboard shows how many times a player has been awarded for thawing a teammate (Thawed) and how many times a player has frozen (Chilled).
 

rdy2bz

New Member
May 10, 2009
29
0
1
That's great! Thanks for this mod, I will put it on my LAN servers.

After a quick test: does this have compatibility issues with OLStats? As soon as I switch to TAM game mode my server crashes like this:
Code:
OLStats: ----------------------------------------
OLStats: OLStats Loading...
Log: Opening user log ..\UserLogs\Stats_7777_2014_07_25_22_05_51.log
OLStats: OLStats 3.00 loaded!
OLStats:   Author: OverloadUT
OLStats:   Email: Overload@planetunreal.com
OLStats:   Web: www.apartment167.com
OLStats: ----------------------------------------
WebAdmin: Loading Available Maps
WebAdmin: UT2Vote61.UT2VoteWebAdmin Initialized on port 8777
Critical: AFileLog::execLogf
Critical: (OLLocalGameStats DM-Campgrounds2004-G1E.OLLocalGameStats @ Function OLStats.OLLocalGameStats.Logf : 0071)
Critical: UObject::ProcessEvent
Critical: (ReTAM DM-Campgrounds2004-G1E.ReTAM, Function Re.ReTeamGame.PostBeginPlay)
Critical: BeginPlay
Critical: UGameEngine::LoadMap
Critical: LocalMapURL
Critical: UGameEngine::Browse
Critical: ServerTravel
Critical: UGameEngine::Tick
Critical: Level Campgrounds2004-G1E
Critical: UpdateWorld
Critical: UServerCommandlet::Main
Exit: Executing UObject::StaticShutdownAfterError
Exit: Exiting.
 

rejecht

Attention Micronians
Jun 15, 2009
511
0
16
.no
sites.google.com
That's great! Thanks for this mod, I will put it on my LAN servers.

Cool! Be sure to check out Known Issues at the bottom of this page from time to time. I post about any issues as I discover them.

does this have compatibility issues with OLStats? As soon as I switch to TAM game mode my server crashes like this:

As your log shows, the engine crashes on the Log function. It's an engine function used to write text to files. If it gets a string that's somewhere around 1024 characters or more, it goes boom, or worse, tick tick boom (crashes later on garbage collection).

See if you can reduce the data passed to OLStats, like checking if some mutators can be removed, some settings can be removed, etc. Eventually it will work.

Some other guy who experienced this:
http://www.apartment167.com/forum/viewtopic.php?f=20&t=339

Code:
Critical: AFileLog::execLogf
Critical: (OLLocalGameStats DM-Campgrounds2004-G1E.OLLocalGameStats @ Function OLStats.OLLocalGameStats.Logf : 0071)

The AFileLog::execLogf and Logf are the ones to blame. Anything that uses the Log function has to split the data up in smaller parts, unfortunately.
 

rdy2bz

New Member
May 10, 2009
29
0
1
Hi rejecht,

thanks for you answers. During the past weeks I've tried several things to solve the problem. I am still willing to use ReTAM on my servers, but still didn't manage to work this out.

I tried several things with the length of the command line by reducing the number of mutators, options etc. Didn't help. Playing around with OLStats settings didn't work, neither did trying the OLStats 3.07 patch. So in the end I went back to the roots:
1. I downloaded an untouched dedicated server
2. patched the server to the latest version 3369.3
3. installed the latest OLStats 3.01 (cahnged GameStatsClass in UT2004.ini)
4. installed Re (added Re to ServerPackages in UT2004.ini)
5. start the server with command line
Code:
ucc.exe server DM-Deck17.ut2?Game=XGame.xDeathMatch?GameStats=True?AdminName=XXXXX?AdminPassword=XXXXX -log=server.log -lanplay
This works perfectly. The server runs, I can connect and play.

6. start the server with command line
Code:
ucc.exe server DM-Deck17.ut2?Game=Re.ReTAM?GameStats=True?AdminName=XXXXX?AdminPassword=XXXXX -log=server.log -lanplay
No Mutators at all, nothing fancy, just ReTAM+OLStats. This crashes again. Here's the full server.log
Code:
Log: Log file open, 12/06/14 16:38:03
Init: Name subsystem initialized
Init: Detected: Microsoft Windows NT 6.1 (Build: 7601)
Init: Version: 3369 (128.29)
Init: Compiled: Sep 13 2008 22:53:31
Init: Command line: DM-Deck17.ut2?Game=Re.ReTAM?GameStats=True?AdminName=XXXXX?AdminPassword=XXXXX -log=server.log -lanplay
Init: Character set: Unicode
Init: Base directory: O:\UT2004Server\System\
Init: Ini:UT2004.ini   UserIni:User.ini
Init: Build label:  Build UT2004_Build_[2005-11-23_16.22]
Init: Object subsystem initialized
Log: Executing Class Engine.ServerCommandlet
Log: Browse: DM-Deck17.ut2?Name=Player?Class=Engine.Pawn?Character=Jakob?team=255?Game=Re.ReTAM?GameStats=True?AdminName=XXXXX?ADMINPASSWORD=XXXXX
Log: Collecting garbage
Log: Purging garbage
Log: Garbage: objects: 30882->30863; refs: 495429
Log: Game class is 'ReTAM'
Log: Bringing Level DM-Deck17.myLevel up for play (35) appSeconds: 2.883000...
Log: (Karma): Autodetecting CPU for SSE
Log: (Karma): Using SSE Optimizations
Log: (Karma): StaticMesh (Grating1) with empty Karma KAggregateGeometry.
Log: (Karma): StaticMesh (grate123) with empty Karma KAggregateGeometry.
Log: (Karma): StaticMesh (grate123) with empty Karma KAggregateGeometry.
ScriptLog: SetAdminFromURL called
ScriptLog: GameInfo::InitGame : bEnableStatLogging True
ScriptLog: Using: NavigationPointList
Re: SpawnPoints: 260
ScriptLog: TeamGameEventsClass: <Re.TeamGameEvents>
ScriptLog: PlayerRegionClass: <Re.PlayerRegion>
Re: Compiled: 20140714
Re: Version: 1.0
Re: Mode: NM_DedicatedServer (1)
Re: Map: <Deck 17>
Re: Map: bHasPathNodes: True
Re: Map: bPathsRebuilt: True
Re: Map: DefaultGameType: <XGame.xDeathMatch>
Re: Map: PreCacheGame: <xGame.xDeathMatch>
Re: TeamSummaryTickerClass: <Re.TeamSummaryTicker>
OLStats: ----------------------------------------
OLStats: OLStats Loading...
Log: Opening user log ..\UserLogs\Stats_7777_2014_12_06_16_38_05.log
OLStats: OLStats 3.00 loaded!
OLStats:   Author: OverloadUT
OLStats:   Email: Overload@planetunreal.com
OLStats:   Web: www.apartment167.com
OLStats: ----------------------------------------
ScriptLog: UdpServerQuery(crt): Port 7787 successfully bound.
Log: Resolving master0.gamespy.com...
ScriptLog: MasterServerUplink: MasterServerGameStats not found - stats uploading disabled.
Log: Defaulting to false
Log: Defaulting to false
Log: Resolving ut2004master1.epicgames.com...
ScriptLog: Webserver is not enabled.  Set bEnabled to True in Advanced Options.
Critical: FArray::Realloc
Critical: 0*2
Critical: AFileLog::execLogf
Critical: (OLLocalGameStats DM-Deck17.OLLocalGameStats @ Function OLStats.OLLocalGameStats.Logf : 0071)
Critical: UObject::ProcessEvent
Critical: (ReTAM DM-Deck17.ReTAM, Function Re.ReTeamGame.PostBeginPlay)
Critical: BeginPlay
Critical: UGameEngine::LoadMap
Critical: LocalMapURL
Critical: UGameEngine::Browse
Critical: UGameEngine::Init
Critical: UServerCommandlet::Main
Exit: Executing UObject::StaticShutdownAfterError
Exit: Exiting.
Log: FileManager: Reading 0 GByte 82 MByte 753 KByte 874 Bytes from HD took 0.390999 seconds (0.314000 reading, 0.077000 seeking).
Log: FileManager: 0.043000 seconds spent with misc. duties
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 12/06/14 16:38:07

The point is: I have some other mods that work together with OLStats (Jailbreak, ChaosUT, deathball, Virus, 3SPN, U4E3, CTF4, Betrayal). It's only Re that crashes, so I can't help but blame Re to be the bad guy in this issue.

Can't you take one more look into that and fix it? That would be greatly appreciated!
 

rejecht

Attention Micronians
Jun 15, 2009
511
0
16
.no
sites.google.com
Can't you take one more look into that and fix it? That would be greatly appreciated!

I looked into this today.

The Re game types have more options, causing OLStats to create a longer string of text, which it attempts to log to a file, which causes the crash.

It's an engine error. I discovered it when doing HTML logging. I had to make a function that would split the string into chunks less than 1000 bytes or so, then write it to the file. OLStats does no such thing.

In short, the fix must be applied to OLStats Logf calls.


You can check the length of the string generated by enabling bDebug mode in OLStats.ini. Note that the Log function will do a line break on the string, so be sure to count the next line as part of the whole.

Open OLStats.ini, then add the following:
Code:
[OLStats.OLLocalGameStats]
bDebug=True

Re options are quite verbose.

I have underlined the relevant text:
OLStats: OLStats v3.07 by OverloadUT www.Apartment167.com
OLStats: 0.00 NG 2015-4-2 23:19:5 0 DM-Rankin Rankin Sjoerd De Jong Re11.ReTDM Team DeathMatch v2 Mutators=Re11.ReTDM_Mutator|OLStats.MutOLGameStats
OLStats: 0.00 SI UT2004 Server 0 \ServerMode\dedicated\AdminName\\AdminEmail\\ServerVersion\3369\GameStats\True\MaxSpectators\2\MapVoting\true\KickVoting\false\Mutator\MutOLGameStats\MinPlayers\1\EndTimeDelay\4.00\GoalScore\60\TimeLimit\20\Translocator\False\WeaponStay\True\ForceRespawn\False\BalanceTeams\True\PlayersBalanceTeams\True\FriendlyFireScale\0%\Re - Version\1.1\ÿbTeamCombos\False\ÿbPublicMatchStatistics\False\ÿbLogMatchStatistics\False\ÿbAllowTrackingDamageIndicators\True\ÿbDamageBonus\False\ÿbCampingCheck\False\ÿbCampingCheckSendLocation\True\ÿbDenySuicide\False\ÿbPickupNotifications\False\ÿbDisableBerserkCombo\False\ÿbDisableBoosterCombo\False\ÿbDisableInvisibleCombo\False\ÿbDisableSpeedCombo\False\ÿbDisablePintsizedCombo\False\ÿbDisableCamouflageCombo\False\ÿbCountTeamKills\False\ÿbPlayersCanSpectateEnemies\False\ÿbReverseFriendlyFire\False\ÿbTeamChangePreservesAdrenaline\Fal
OLStats: se\ÿMinNetTeamPlayersReady\1\ÿEnemyBoost\0.80\ÿOwnBoost\1.00\ÿOwnDamageScale\1.00\gamedifficulty\2.00\shortname\UT2 Server
^ The garbled characters are the color codes. They do not cause any crash.

Compare this to standard TDM:
OLStats: OLStats v3.07 by OverloadUT www.Apartment167.com
OLStats: 0.00 NG 2015-4-2 23:26:39 0 DM-TENSHI Tenshi Dan 'Green' Rozanski XGame.xTeamGame Team DeathMatch Mutators=UnrealGame.DMMutator|OLStats.MutOLGameStats
OLStats: 0.00 SI UT2004 Server 0 \ServerMode\dedicated\AdminName\\AdminEmail\\ServerVersion\3369\GameStats\True\MaxSpectators\2\MapVoting\true\KickVoting\false\Mutator\MutOLGameStats\MinPlayers\1\EndTimeDelay\4.00\GoalScore\60\TimeLimit\20\Translocator\False\WeaponStay\True\ForceRespawn\False\BalanceTeams\True\PlayersBalanceTeams\True\FriendlyFireScale\0%\gamedifficulty\2.00\shortname\UT2 Server


Is anyone maintaining OLStats?
Check the source code to Re for a workaround:
LineLog.uc
MatchLog.uc (LogString breaks the string up into 1022 character chunks)
 

rdy2bz

New Member
May 10, 2009
29
0
1
Dr. Lex kindly contributed a fix to OLStats that solves the problem. I think he will release it soon on his own page (v3.09).

So finally no more crashes :)

Happy fragging!