ReduceTick mutator

Search, find and discuss about Mutators!
Buggie
Godlike
Posts: 1626
Joined: Sat Mar 21, 2020 5:32 am

ReduceTick mutator

Post by Buggie » Sat Jun 18, 2022 3:34 pm

Tiny and easy mutator.
Periodically check presence on server any player (spectator or regular player) and reduce server tick if there no players.

As result:
- Server eat less CPU which is can be important if you host few UT servers on one host.

Install:
1. Configure settings in ReduceTick.ini.
2. Add to mutator list ReduceTick.ReduceTick (or to ServerActors - preferred way)

Not need add it into ServerPackages.
ReduceTick.zip
You do not have the required permissions to view the files attached to this post.
Last edited by Buggie on Sat Jun 18, 2022 5:28 pm, edited 1 time in total.

User avatar
Berserker
Experienced
Posts: 86
Joined: Fri Sep 27, 2019 5:08 pm

Re: ReduceTick mutator

Post by Berserker » Sat Jun 18, 2022 4:55 pm

More of these amazing mutators please! HighTickRate is activated when there are players on the server right? Does HighTickRate overwrite original server tickrate configuration? Also, is CheckInterval in minutes?
Visit us on Discord:
https://discord.gg/fcRakgNCjR Image

Buggie
Godlike
Posts: 1626
Joined: Sat Mar 21, 2020 5:32 am

Re: ReduceTick mutator

Post by Buggie » Sat Jun 18, 2022 5:18 pm

HighTickRate is activated when there are players on the server, yes.
HighTickRate overwrite original server tickrate configuration, yes.
CheckInterval in seconds.

Eternity
Experienced
Posts: 106
Joined: Sat Nov 30, 2019 10:56 pm

Re: ReduceTick mutator

Post by Eternity » Sun Jun 19, 2022 1:20 am

If server has no redirect setup, there will be a side effect at low tickrates - files will be uploaded with lower throughput.
I tried to find a way at the script level to detect whether client is connected and downloading files, but found no way, so had to add an ini-configured value of delay that is applied (after level startup or after last player logout) before server enters an idle mode.

Automatically merged

Should it work if server uses XC_TcpNetDriver or some another alternative net driver? Or maybe need to use "ini:Engine.Engine.NetworkDevice" instead of "TcpNetDriver" in that case?

User avatar
sektor2111
Godlike
Posts: 5924
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ReduceTick mutator

Post by sektor2111 » Sun Jun 19, 2022 6:35 am

As far as I know plain UT 436 already has a low TickRate when server has Zero "NetConnection"s for some internal reason. TickRateFix by TNSE was intended to prevent fluctuations as much as possible. Next point, if server is empty, perhaps it doesn't have any stress unless is a lousy MH one with monsters starting a combat between themselves and taking resources, in this case due to a lower tick-rate and monsters you can earn a crash or a K.O. (I created a server with combat activity running empty, I could see the results after some hours...) - my two cents.
Shortly I don't think is recommended to mess with tick-rate dynamically, but I might be wrong.
When I was inspecting CPU graphs in my OLD machine and at NFoServers, those empty servers are taking under 1% CPU, an empty server usually is not taking more resources unless I can deliver a "map" educated for a permanent combat and 500 Monsters, and then we talk...

Buggie
Godlike
Posts: 1626
Joined: Sat Mar 21, 2020 5:32 am

Re: ReduceTick mutator

Post by Buggie » Sun Jun 19, 2022 7:03 am

Eternity wrote:
Sun Jun 19, 2022 1:25 am
If server has no redirect setup, there will be a side effect at low tickrates - files will be uploaded with lower throughput.
I tried to find a way at the script level to detect whether client is connected and downloading files, but found no way, so had to add an ini-configured value of delay that is applied (after level startup or after last player logout) before server enters an idle mode.

Automatically merged

Should it work if server uses XC_TcpNetDriver or some another alternative net driver? Or maybe need to use "ini:Engine.Engine.NetworkDevice" instead of "TcpNetDriver" in that case?
If you use <v469 server without .uz redirect - you already insane.

After last player wait no have sense. But after startup - possible have.

XC driver, AFAIK, extends TcpNetDriver, so any subclasses exists in runtime be affected too. So it must work with any know TCP drivers, until they use same fields for set TickRate.

Eternity
Experienced
Posts: 106
Joined: Sat Nov 30, 2019 10:56 pm

Re: ReduceTick mutator

Post by Eternity » Sun Jun 19, 2022 7:24 am

In v469, same as in older versions, uploading throughput is tickrate dependent.
Also, i don't recall any unresolvable problems with uploading in v436-v451 servers without redirect setup.

User avatar
sektor2111
Godlike
Posts: 5924
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ReduceTick mutator

Post by sektor2111 » Sun Jun 19, 2022 7:40 am

Buggie wrote:
Sun Jun 19, 2022 7:03 am
If you use <v469 server without .uz redirect - you already insane.
Yeah... but the insanity happiness goes to XC drivers sending files in high speed and here IS NOT mandatory any redirect. The reality is that 469 is using exactly this way which was written BEFORE 469 :mrgreen: .

Buggie
Godlike
Posts: 1626
Joined: Sat Mar 21, 2020 5:32 am

Re: ReduceTick mutator

Post by Buggie » Sun Jun 19, 2022 7:44 am

Eternity wrote:
Sun Jun 19, 2022 7:24 am
Also, i don't recall any unresolvable problems with uploading in v436-v451 servers without redirect setup.
Yea... it is depends what you call "unresolvable problem"... I recently try enter to one v451 server without redirect... it be awful. I not really know how long I "enter" to it. Maybe half-hour, maybe more.
Nobody from real players will wait so long. So if you try serve big custom packages - you simple get empty server.

20000 netspeed allow you transfer 68 MB in hour only. Pure data. So useful amount be less. Possible near 60 MB. So if your custom packages goes to 30 MB it is easy turn to half-hour.

Even on "LAN" speed.

But I often see players with speed 12000 nowadays. Even 8000. Because they not know numbers. They see "ISDN" in game choose, they use "ISDN". But modern ISDN is 10 times better from LAN from 2000 year.

Eternity
Experienced
Posts: 106
Joined: Sat Nov 30, 2019 10:56 pm

Re: ReduceTick mutator

Post by Eternity » Sun Jun 19, 2022 8:10 am

This kind of problem is up to particular servers that have not been set up properly...
There are also such servers that have redirect setup, but have UZ archive not up to date, so some files transfer with incredibly low speed anyway, which is also same kind of particular server-related problem.

In general, uploading speed problem in v436-v451 servers had available solutions... Even if server didn't use XC drivers, there was a 'trick' with "-lanplay" executable parameter...

User avatar
Barbie
Godlike
Posts: 2418
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: ReduceTick mutator

Post by Barbie » Sun Jun 19, 2022 9:58 am

sektor2111 wrote:
Sun Jun 19, 2022 6:35 am
Next point, if server is empty, perhaps it doesn't have any stress unless is a lousy MH one with monsters starting a combat between themselves and taking resources
Just as an info the load of my empty MH test server (without this mutator).
You do not have the required permissions to view the files attached to this post.
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett

User avatar
sektor2111
Godlike
Posts: 5924
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ReduceTick mutator

Post by sektor2111 » Sun Jun 19, 2022 10:15 am

Barbie wrote:
Sun Jun 19, 2022 9:58 am
Just as an info the load of my empty MH test server (without this mutator).
Hm... Linux... Interesting...

Buggie
Godlike
Posts: 1626
Joined: Sat Mar 21, 2020 5:32 am

Re: ReduceTick mutator

Post by Buggie » Sun Jun 19, 2022 11:15 am

Barbie wrote:
Sun Jun 19, 2022 9:58 am
sektor2111 wrote:
Sun Jun 19, 2022 6:35 am
Next point, if server is empty, perhaps it doesn't have any stress unless is a lousy MH one with monsters starting a combat between themselves and taking resources
Just as an info the load of my empty MH test server (without this mutator).
For absolute numbers has some meaning need say what tick rate server use, what power of one core.

Also need mention there used custom controller which alter default MH behavior and prevent monsters fight with each other. So it is not regular MH server.

So people not get wrong conclusion.

MH servers rare goes to server tick more then 50. On opposite side - DM, CTF servers often goes on Tick 100, or even maximal 120.

In any case, even all monsters on idle and do nothing, on each called Tick. And if it called 10 times per seconds, CPU load is lower in compare if it call 50 times per seconds or more. Simple math.

User avatar
sektor2111
Godlike
Posts: 5924
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ReduceTick mutator

Post by sektor2111 » Wed Jun 22, 2022 6:45 pm

One of things concerning resources used when server is empty in whatever time was to prevent any movement if game is not started - no patrols, no fight, nothing. By example a MonsterHunt server means some load running when is nobody there. What did I do ? Every single creature from map won't do anything. All are in GameEnded and just "Waiting". Believe me or not, server is receiving new comers smoother as oil.
When game starts, monsters are ignited like a fuse in series. In that moment things can go a bit loaded but later returning into normal state when all monsters are "Started". This sort of "cooling" from initialization stage will allow resources to be used for other purposes instead of processing useless actions, power is used mainly for patching maps, when this is needed. If 15 minutes are passed without players, monsters will never wake up, never spawning weapons or performing any task - and map will get changed to another random map.

User avatar
sektor2111
Godlike
Posts: 5924
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ReduceTick mutator

Post by sektor2111 » Mon Sep 12, 2022 8:06 am

To not forget something about tick and MH. I'm using 25, read again... 25, and I can play normally. Why not 20 as "recommended" in a few "original" tick related documents / ReadMe-s ?
Because for MonsterHunt and monster's replication concerning a damaging momentum things are going a bit ugly. Monster is not a "bIsPlayer" and Engine has other way in ticking this junk - visible in ramps and when you are firing minigun at a Boss monster, it starts an "image dropping" effect making you to aim a ghost replicated image and losing target. At 25-30 tick-rate this doesn't happen at all - at least not in a "Win-doze" server. And then ? And then NONE of the boys writing stories with 20 tick-rate didn't say a word about Monsters (Coop Servers, MH Servers, etc. other ScriptedPawn servers).
I was talking about this replication stuff concerning Non-Players but... I didn't see any participants at discussion - not even in XC subject.