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.
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.
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.
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?
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.
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.
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.
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?
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.
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?