ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Discussions about UT99
Post Reply
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Wises »

ok.. just wondering which is best for servers to run and/or do they all do the same thing?


ServerCrashFix1.1
Spoiler
Readme wrote:##############################################################################
# ServerCrashFix v1.1 #
# by AnthraX #
##############################################################################

1) What is it?
--------------

ServerCrashFix is a mod that will protect your server against servercrash/DoS
exploits that were released after the latest UTPG patch (v451).

In particular it will protect you against these exploits:
* Malformed String Exploits
* Fake Player DoS
* Malformed Join Request DoS

Whenever a player attempts to crash the server, ServerCrashFix will temporarily
blacklist the player's ip so all further requests from that IP will be ignored
until the end of the map.

ServerCrashFix replaces the earlier patches implemented in AnthChecker v1.38.
When ServerCrashFix is installed on a server with AC v1.38, it will disable AC's
patches and use it's own.

ServerCrashFix works on both Linux servers and Windows servers although some
Linux admins might have to update their server's Core.so file with the one
included in the LinuxFix folder of this package.

New features since ServerCrashFix v1.1:

* Exec fix: fixes crashes caused by mods that execute "get Engine.GameEngine
ServerPackages" or "get Engine.GameEngine ServerActors" consolecommands
heavily modded servers. These crashes usually happen during server startup.
Mods that are affected by these problems include AnthChecker, IpToCountry,
NexGen, ASC, ...

* Malloc fix: makes the UEngine memory manager thread-safe. This fixes
seemingly random crashes (although they usually happen during server startup)
on servers that use multiple threads. One case in which a server uses multiple
threads is when it's resolving hostnames (eg for the masterserver uplinks or
irc reporterbots)

* Crashlog fix: this is a linux-only fix that installs custom signal handlers.
These custom signal handlers will output a lot of useful information into the
serverlog when the server terminates unexpectedly

* Tickrate fix: this is not a crashfix but rather a stability fix. This fix
has different functionality on Windows and Linux.


On windows this fix can:
- Request a high resolution timer, this will stabilise the tickrate
- Replace the appSeconds() function by a multicore safe function

On linux this fix can:
- Switch the default timing method from appSeconds() to appSecondsSlow()
On some servers the latter can return more accurate timing information.

* Affinity fix: This fix can force the server process to run on one specific
CPU Core. This can stabilise the tickrate on multicore servers.

Do not use this fix if you run a windows server with the timing fix enabled!
ServerCrashFix.ini wrote:[ServerCrashFix_v11.SCFActor]
bEnabled=true
bFixNetDriver=true
bFixExec=true
bFixMalloc=true
bFixHandlers=true
bFixAffinity=false
CPUAffinity=0
bFixTimer=True
bFixTickRate=True
Server.ini wrote:ScriptLog: +----------------------------------------+
ScriptLog: | ServerCrashFix v1.1 - (c) 2009 AnthraX |
ScriptLog: +----------------------------------------+
ScriptLog: [SCF] DynamicLoadObject hooked: True
ScriptLog: [SCF] UNetDriver hooked: True
ScriptLog: [SCF] exec hooked: True
ScriptLog: [SCF] GMalloc hooked: True
ScriptLog: [SCF] Signal handlers installed: False
ScriptLog: [SCF] High resolution timer requested: True
ScriptLog: [SCF] appSeconds() hooked: True
XC_GameEngine
Spoiler
Documentation.txt wrote:- ToggleTimingFix - TimingFix
Toggles the timing fix on/off.
Timing fix is enabled by default and is saved in [XC_Engine.XC_GameEngine] config entry.
XC_GameEngine Settings.txt wrote:[XC_Engine.XC_GameEngine]
bDisableTimingFix=False // Why not bEnableTimingFix=Bool?
bFasterUpload=True
Edit: wrote:Read another post here regarding this one;
higor wrote: In short, it's an engine extension that fixes some problems and adds some new features to the game.
I'm updating from time to time as new ideas/bugs come up.

Some highlights:
- Works on any post 432 version, on both clients and servers.
- Loads the moving brush tracker on dedicated servers.
- Enhances some native and uscript functions (ex: GetWeapon, GetMapName) without modifying the packages.
- Experimental, timing fix for some multi-speed cpu's.
- More info/commands given to mod developers, greatly enhance debugging.
- Players don't lose their inventory if they rejoin on a Coop game. (I can publish this code if you guys wish)
XC_GameEngine Settings.txt wrote:- Disable the Timing Fix if you're running TickFix, SCF or a custom launcher that fixes timing.
TickFix2
Spoiler
Readme wrote:TickFix 2
=========

1) Introduction
---------------

Based on the original TickFix by TNSe. This small mod lowers the timer
resolution and makes timing CPU-independent. This should make the tickrate more
stable and eliminate lag effects on multicore processors and laptops.
.
.
http://www.unrealadmin.org/forums/forum ... .php?f=177

-- AnthraX
Server.ini wrote:Log: TickFix2 -> Timer Caps: 1 msec min - 1000000 msec max
Log: TickFix2 -> Timer resolution set to 1 msec
Log: TickFix2 -> Timer hook installed
Last edited by Wises on Thu Feb 19, 2015 10:51 am, edited 4 times in total.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Higor »

Best for server = SCF
Best for client (because there's no alternative HUEHUEHUE) = XC_GE
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Wises »

Higor wrote:Best for server = SCF
Best for client (because there's no alternative HUEHUEHUE) = XC_GE
so is the client_Side XC_GameEngine a replacement for;

Dualcore Patch (Clientside)
MultiCore Patch (Clientide)

or does it function with these Patches?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Higor »

No.
The dual core patch solves a different issue, like the game becoming unstable and having it run at insane speeds.
Once patched, you may still have the speed issue and then use XC_GE on clients.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Chamberly »

Voting on this is completely pointless because each mod that is created as you mention serve a purpose for such thing. Either you do something with them dynamically or just pick something and stick with it.

You are missing out on Launch as well. http://coding.hanfling.de/launch/
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Wises »

Chamberly wrote:Voting on this is completely pointless because each mod that is created as you mention serve a purpose for such thing. Either you do something with them dynamically or just pick something and stick with it.

You are missing out on Launch as well. http://coding.hanfling.de/launch/
good call on poll , stupid idea.. as for the link , ty.

never seen it before.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Higor »

Those launchers look cool, I wonder if anyone tried joining ACE servers with those.
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Chamberly »

Higor wrote:Those launchers look cool, I wonder if anyone tried joining ACE servers with those.
I did, no problem. :)
Image
Image
Image Edit: Why does my sig not work anymore?
User avatar
anth
Adept
Posts: 257
Joined: Thu May 13, 2010 2:23 am

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by anth »

ACE has a client-side timing fix built in too. And yes, I purposely allow those custom launchers because while in game, ACE pretty much takes over their jobs.
SC]-[WARTZ_{HoF}
Adept
Posts: 426
Joined: Tue Feb 21, 2012 7:29 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by SC]-[WARTZ_{HoF} »

Welcome back anth. Long time no hear. Talking about ACE, Do you plan to continue your work anytime soon?
If so are you gonna have select server admins beta test like before? Feel free to PM me at anytime.
Image
Image
Image
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by sektor2111 »

Bump after doing a research closer to chapter timer which seems pretty solid compared with tick when you piss of 300-400 monsters - IN SERVER.
However I'm not asking what's the deal with TickFix. Is fixing timer or is fixing tick ? TICKFIX seems to fix TIMER. TICK is another story.
Looking at UScript clocking options. ServerActors=... class bellow
Spoiler
class Ticker expands actor;

var float NowTime, OldTime, LastSpeakTime;
var int SpTime, Ticks, FRate;
var bool bDisabled;
var string ANote;

event PostBeginPlay()
{
if ( Level.NetMode == NM_DedicatedServer )
{
log (Self$" > Initialization in next 2 seconds...");
SetTimer(2.00,False);
}
else
{
log ( Self$" doesn't run in this environment. Expecting > Dedicated Server.");
bDisabled = True;
Disable ('Tick');
return;
}
}

event Timer()
{
log ("Ignited TickSpy... Attempt to get Configured TickRate...");
GetTickInterval();
}

function GetTickInterval()
{
FRate = int(ConsoleCommand("GET XC_IPDRV.XC_TCPNETDRIVER NETSERVERMAXTICKRATE"));
if ( FRate <= 0)
FRate = int(ConsoleCommand("GET IPDRV.TCPNETDRIVER NETSERVERMAXTICKRATE"));
if ( FRate <= 0 )
{
log (Self$" > Cannot retrieve TickRate");
Disable('Tick');
bDisabled=True;
return;
}
if ( FRate > 0 )
{
Ticks = FRate;
FRate = (1000*Level.TimeDilation)/FRate; // 1000ms/30
log ( Self$" > Detected TickRate set at "$Ticks );
log ( Self$" > Ideal Tick Interval has been computed at "$FRate );
}
}

event Tick(float DT)
{
if (!bDisabled)
{
NowTime = Level.TimeSeconds;
if ( NowTime > OldTime )
{
SpTime = int((1000*Level.TimeDilation)/(( NowTime-OldTime )*(1000*Level.TimeDilation)));
// log (SpTime);
OldTime = Level.TimeSeconds;
}
if ( LastSpeakTime + 3 < Level.TimeSeconds )
{
if ( SpTime <= Ticks*0.8 )
{
ANote="Tick went at "$SpTime$" from "$Ticks$" per second.";
BroadcastMessage( ANote,False,);
log ("TickRate went "$SpTime);
}
LastSpeakTime = Level.TimeSeconds;
}
}
}

defaultproperties
{
bHidden=True
bAlwaystick=True
}
I did not see regen affected when spawns a bunch or projectiles and you trigger more creatures in the same time. But I could see TICK going down pretty ugly - WARPING takes place - Read again WARPING. Happens when EVEN server goes under-resourced at a high load in a short time. If a mutator does a bunch of pawnlist checking things when 800...1000+ creatures are about to start fighting perhaps you'll figure which one causes lags: Server or Client ? Go figure.
I'm saying:
ServerActors=TickSpy.Ticker
Then dropping this inside System.
[attachment=0]TickSpy.zip[/attachment]

Note: I'm not bother to check this in Linux.
In other case, in DeathMatchPlus (as I have sorted stuff) I have never seen TickRate going down - a message shows on Screen when TickRate goes bellow 80% from TickRate configured; and neither in CTF I did not see any deviation under 80%. In MonsterHunt (my V2 especially) seems to slow-down randomly when Levels starts smoking and bleeding + slowing down several milliseconds when MapVote loads Levels but not under 80%. Code can be adjusted for a different check (95%) or a permanent log spam (I'm not sure if is the case) but anyway...
Attachments
TickSpy.zip
(3.17 KiB) Downloaded 104 times
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Higor »

For offline players and anyone hating on their dual-core patches, etc; feel free to test my alpha UT launcher.
http://www.unrealkillers.com/showthread ... post116855

It comes with its own FPS limiter and is more friendly to advanced users.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by sektor2111 »

Cannot download it from outside.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: ServerCrashFix , TF2 or XC_GameEngine for Timing fix?

Post by Higor »

Mirror:
Attachments
MiniLauncher_test2.7z
(37.04 KiB) Downloaded 93 times
Post Reply