Class ServerPerksMutSE extends ServerPerksMut Config(ServerPerks); var globalconfig int DataPortRangeStart, DataPortRangeEnd; var transient int LastDataPortUsed; var globalconfig int BufferSize; var globalconfig bool bBroadcastFTPDebug, bBroadcastFTPErrors, bBroadcastToAdminsOnly; var byte MidSaveCountDown; var localized string strVersion; static final function string GetVersionStr() { local String msg, s; local int v, sub_v; msg = default.strVersion; v = default.VersionNumber / 100; sub_v = default.VersionNumber % 100; s = String(int(v%100)); if ( len(s) == 1 ) s = "0" $ s; if ( sub_v > 0 ) s @= "(BETA "$sub_v$")"; ReplaceText(msg, "%n", s); s = String(v/100); ReplaceText(msg, "%m",s); return msg; } function Mutate(string MutateString, PlayerController Sender) { if ( MutateString ~= "VERSION" ) Sender.ClientMessage(default.FriendlyName @ GetVersionStr()); super.Mutate(MutateString, Sender); } function PostBeginPlay() { if ( DataPortRangeEnd < DataPortRangeStart) { warn("DataPortRangeEnd > DataPortRangeStart!"); DataPortRangeEnd = DataPortRangeStart + 99; } LastDataPortUsed = DataPortRangeStart-1; BufferSize = clamp(BufferSize, 32, 4096); super.PostBeginPlay(); } function RespawnNetworkLink() { if( Link!=None ) Link.Destroy(); if( bUseFTPLink ) { Link = Spawn(Class'FTPTcpLinkSE'); FTPTcpLinkSE(Link).Mut = Self; } else { Link = Spawn(Class'DatabaseUdpLink'); DatabaseUdpLink(Link).Mut = Self; } Link.BeginEvent(); } function SaveStatsSE() { local int i, c; local ClientPerkRepLink CP; for( i=0; i 0 ) { if ( --MidSaveCountDown == 0 ) { Log("Mid-game stats save @ wave " $ KFGT.WaveNum,Class.Outer.Name); SaveStatsSE(); } } else if( MidGameSaveWaves>0 && KFGT!=None && KFGT.WaveNum!=LastSavedWave ) { LastSavedWave = KFGT.WaveNum; if( ++WaveCounter>=MidGameSaveWaves && KFGT.WaveNum <= KFGT.FinalWave ) { WaveCounter = 0; MidSaveCountDown = 3; // wait a bit before saving - maybe game is ending atm } } Sleep(1.f); } CheckWinOrLose(); Log("End-game stats save",Class.Outer.Name); SaveStatsSE(); } defaultproperties { DataPortRangeStart=19400 DataPortRangeEnd=19499 BufferSize=250 bBroadcastFTPErrors=True bBroadcastToAdminsOnly=True strVersion="v%m.%n" VersionNumber=91600 bEnableWebAdmin=False FriendlyName="ScrN Server Veterancy Handler" }