Bandwidth Fix

Discuss and provide feedback on Maps.
Post Reply
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Bandwidth Fix

Post by pooty »

Too bad we didn't come up with this multiple years ago, I think we could've retained a lot more players. The lag was frustrating as hell.
Are others in UT2004 community aware of this? Its pretty amazing that no one found this 10 years ago...or maybe they did but bandwidth wasn't there...
1.2 - Add option to set MaxClientRate/MaxInternetClientRate, default is true
I'll get it on the server.

Should I set it up so that it sets up netspeed for all the clients? I think right now its false, but time to open the floodgates... I'll put a note in the MOTD as well.

Although looks like most at least on this match, were up to 20000 netspeed: https://www.omnipotents.com/utstats/mat ... match=4220
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Bandwidth Fix

Post by Anonymous. »

captainsnarf wrote: Mon Apr 03, 2023 7:37 am That was more work than it should have been lol. Apparently IpDrv.TcpNetDriver is not exposed via script in anyway. Trying to change it caused crashes. I had to use ConsoleCommand() to do it.
Thanks :)
pooty wrote: Mon Apr 03, 2023 8:45 am Are others in UT2004 community aware of this? Its pretty amazing that no one found this 10 years ago...or maybe they did but bandwidth wasn't there...
I thought it was CPU lag too until I discovered it on accident when I was playing around with my test server and noticed extreme lag (similar to omni before the fix with many players) out of nowhere despite low CPU usage after changing the default MaxPlayers from 16 to 32. I looked in stat net and noticed the "in" value never went above 10000 when it was easily hitting 50000 before. I changed it back to 16 and the lag was gone, "in" value going above 10000. I did some searching and found this thread: https://miasma.rocks/index.php?topic=1499.0
Snarf said SoL recently changed their MaxPlayers=16 after having 20 for a long time. TUS also has 16 players, but I don't know if that's deliberate or coincidental. I also found this https://forums.epicgames.com/unreal-tou ... post772472, so I think it's just lost knowledge and most admins from that era moved on before the infrastructure caught up.
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Bandwidth Fix

Post by pooty »

Bandwidth Fix 1.2 on server.

[BandwidthFix.MutBandwidthFix]
MaxPlayers=32
ClientNetSpeed=40000
bSetClientNetSpeed=true
bPersistClientNetSpeed=false
bSetMaxClientRate=true
MaxClientRateValue=100000

[IpDrv.TcpNetDriver]
MaxClientRate=80000
MaxInternetClientRate=40000

[UTCompOmni.MutUTComp]
MinNetSpeed=9300
MaxNetSpeed=40000

Only Issue is that on your local client favorites don't work right with faster netspeeds (> 10000), this is an OpenSpy issue/ Engine issue. That is your favorites list won't populate at netspeed 10000 or higher, you can still click on a server to see it/connect, but you don't get the stats on the whole list.
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Bandwidth Fix

Post by Anonymous. »

It doesn't appear the mutator is setting MaxClientRate. I set my IpDrv.TcpNetDriver MaxClientRate=10000, and upon joining the server it stayed the same. However, Engine.Player ConfiguredInternetSpeed=100000 ConfiguredLanSpeed=100000, which were 10000 before so that worked, but NetSpeed cannot go above MaxClientRate so my NetSpeed was unchanged. The statsdb also reflects it https://omnipotents.com/utstats/matchst ... match=4236. Is it possible to change it via a "set" command similar to how the master server was replaced for us?
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Bandwidth Fix

Post by captainsnarf »

Anonymous. wrote: Tue Apr 04, 2023 12:39 am It doesn't appear the mutator is setting MaxClientRate. I set my IpDrv.TcpNetDriver MaxClientRate=10000, and upon joining the server it stayed the same. However, Engine.Player ConfiguredInternetSpeed=100000 ConfiguredLanSpeed=100000, which were 10000 before so that worked, but NetSpeed cannot go above MaxClientRate so my NetSpeed was unchanged. The statsdb also reflects it https://omnipotents.com/utstats/matchst ... match=4236. Is it possible to change it via a "set" command similar to how the master server was replaced for us?
Hmm, that's odd. I verified it works on my LAN. It uses a set command.

Code: Select all

       if(bSetMaxClientRate && !bSetMaxClientRateCompleted)
        {
            log("Updating UT2004.ini -> MaxClientRate to "$MaxClientRateValue);
            //IpDrv.TcpNetDriver is not exposed via script, need to use console to access it
            ConsoleCommand("set IpDrv.TcpNetDriver MaxClientRate "$MaxClientRateValue);
            ConsoleCommand("set IpDrv.TcpNetDriver MaxInternetClientRate "$MaxClientRateValue);
            class'MutBandwidthFix'.default.bSetMaxClientRateCompleted=true;
            class'MutBandwidthFix'.static.StaticSaveConfig();
        }
It only does this once. It uses another config variable 'bSetMaxClientRateCompleted' to check if it's already been set. Did you change MaxClientRate after already joining the server once?

I tested again on the omni server. It's working for me.
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Bandwidth Fix

Post by Anonymous. »

captainsnarf wrote: Tue Apr 04, 2023 4:59 am I tested again on the omni server. It's working for me.
I tried with the 32 bit client and it works, but again tried with 64 bit and it doesn't work.
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Bandwidth Fix

Post by captainsnarf »

Hmm, that's really odd. I'm not sure why that would happen. Are they different ini files? I wonder if the set console command only works on one of them.

Find the BandwidthFix section in your ini file and make sure bSetMaxClientRateCompleted is false also.
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Bandwidth Fix

Post by Anonymous. »

Ah ok yes, bSetMaxClientRateCompleted was set to true. I tried again and it worked. Yes, x64 uses ut2004-win64.ini, but set command works the same. So how come all these people still have <30000 netspeed?
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Bandwidth Fix

Post by captainsnarf »

Not sure. Maybe it's not reading the mutator's MaxClientRateValue correctly when setting it for them? Pooty change it from 20k to 40k on the server. It should change them to 40k when they join but maybe that's not happening. I'm at work now but I can test when I get off.
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Bandwidth Fix

Post by Anonymous. »

captainsnarf wrote: Tue Apr 04, 2023 7:38 am Not sure. Maybe it's not reading the mutator's MaxClientRateValue correctly when setting it for them? Pooty change it from 20k to 40k on the server. It should change them to 40k when they join but maybe that's not happening. I'm at work now but I can test when I get off.
When I tested each time (with MaxClientRate=10000) it was putting me at 30k netspeed and I had to set netspeed manually to get it to 40k. Perhaps it's only set to 30000 on the server?
Post Reply