minimalistic lag stuttering on my server
Hey.
Im hosting the server, befen.se 100Mbit SWE, on this server a few people have complained that the server gives them a continous stuttering lag. where it could almost be described as a small packet loss.
As they describe it its as if every other packet goes missing and the server jumps between positions. They also claimed they had not experinced this on other servers.
The server is a 2.4Ghz quadcore machine with 5 Gb ram and a dedicated 100Mbit symmetrical line, ive hosted a few servers of different games before without this issue (such as Battlefield2, Crysis, etc).
The server is running windows 2003 (non-pirated and updated to latest version) during the game the server barely registers a load and the WAN port is below 1% of activity (this is with 4 peeps on the server)
What are some things i could do to remove this effect?
Thanks
/Befen
Im hosting the server, befen.se 100Mbit SWE, on this server a few people have complained that the server gives them a continous stuttering lag. where it could almost be described as a small packet loss.
As they describe it its as if every other packet goes missing and the server jumps between positions. They also claimed they had not experinced this on other servers.
The server is a 2.4Ghz quadcore machine with 5 Gb ram and a dedicated 100Mbit symmetrical line, ive hosted a few servers of different games before without this issue (such as Battlefield2, Crysis, etc).
The server is running windows 2003 (non-pirated and updated to latest version) during the game the server barely registers a load and the WAN port is below 1% of activity (this is with 4 peeps on the server)
What are some things i could do to remove this effect?
Thanks
/Befen
Comments
setPerfCounterEnable(0);
If it works, drop it in a file in autoexec.
i changed
$OneCPU = 0; // Set to 0 if you run this on a sever with more then 1 CPU
to 0 from 1
and put in console
setPerfCounterEnable(0);
seems to work, thanks, ill post again if the problem still resides
Thanks
when i tried to host a base server the stuttering was back
setPerfCounterEnable(0);
did not remove it, i made a file called autoexec.txt in the autoexec folder, and typed the command as the only line.
edit: today were at one point 7 people on the server, no processor core went above 2% of load, the internet line bandwidth usage was never above 1% either.
again this issue does not appear in meltdown2 mod.
There must be another command that can be entered or i havent entered the above mentioned one correctly.
This doesn't strike me as a system issue, but you could try using SMP seesaw pro to -isolate-the tribes2 executable to the 4th core, then add any other T2 related processes to that same CPU.
CPU usage is totally a non issue for any dedicated T2 server, if the hardware is under 3 years old, unless you have a serious load on the box.
Having 100 megabit ethernet connection does not mean that tou have a dedicated 100megabit connection. For example, I can connect my server to gig fiber, and use a Cisco 7600VXR router, and will still be limited by actual WAN bandwidth.
In the case of Metro E, there is a possibility of actual direct ethernet connectivity, but it is seldom possible to afford a 100 megabit uplink dedicated to a gaming server. In my area of the U.S., I can get a burstable 100 megabit Metro Ethernet line for a "mere" $1800 per month. Of course, if I did that, one can bet that I would be hosting servers to at least recoup that cost. At that point, I no longer have a 100 megabit connection to the server. I have:
A shared, burstable 100 megabit connection that ALL of my traffic, as well as any return traffic shares. Depending on what else is going on in the network, I could have horrible latency, and very little free bandwidth, and later, almost absolute perfection in connectivity.
If you have a free and clear, dedicated, 100 megabit connection to your server, I totally envy you. If you have 4 megabits dedicated, same deal!
It is connected through a 100Mbit switch which goes directly to the WAN.
Measurs on thoughput to different bandwidth measuring services has never given me an upload of less than 80Mbit and download of 90Mbit., usually they are both around 90Mbit
I have also connected my router to this switch. the router has a max wan thoughput of 10Mbit, so teknically the server has 70Mbit up and 80Mbit down under peak hours.
Ive downloaded things of the internet in excess of 12MB/sec
The 100Mbit costs 69Kr here in sweden, which is 8x69 USD. ;D
10Mbit is free with the apartment.. but I though that was to slow.
Im thinking that is whats happening
Found a link here:
http://www.softpedia.com/get/Tweak/CPU-Tweak/SMP-Seesaw-Pro.shtml
which im going to try, thanks.
I just dont think the program was successfull at keeping it on one core..
setPerfCounterEnable(1);
With 1 being enabled?
You can either do this manually with the Windows Task Manager and right clicking on the tribes2.exe and selecting affinity to one core, or, automatically using this guide: http://www.tribesnext.com/forum/index.php?topic=178.0
Only thing I can think of is things like DotNet framework 3, which occasionally ends up trashing I/O for no apparent reason, or maybe Diskeeper or similar disk analysis programs that tend to see low -CPU - utilization as an idle server, and time to play thrash the disk for virus/spyware/disk maintenance.
I have 10 megabits down/1 up, but i'm curious how you are getting 12 megabytes/second through a router capable of 10 megabits per second. Maybe i'm missing something. Either way, if you are getting 80 megabits -OUTBOUND- traffic, that's....wow. 80 megabits of INBOUND (download) isn't so uncommon at all.
In telecom/Networking there is a sticky term that nails guys like us all the time- CIR. Committed Information Rate. If you are not paying for guaranteed uptime, and 24/7 100 megabit throughput, then you are just another broadband user, and should be careful of your max server load. If you have a CIR, you'd know. It isn't cheap. I have NEVER failed to get 12 megabits of WAN speed down, and 1.1/1.2 up, but I am still subject to "best effort rules", when push comes to shove. Also, on non- CIR data lines, ISPs will oversell bandwidth. This can result in ISP loading during peak times. While you may be perfectly clean, your ISP may actually introduce latency, or ping spikes from high burst traffic that will interfere with high player count server play.
Some things to consider if you are serious about provide a high quality user experience. You seem to be aspiring to that, and spending for it.
setPerfCounterEnable(1);
and
setPerfCounterEnable(0);
The lag stuttering is still there =(
As for the connection, the setup looks like this
100Mbit internet
100Mbit Switch
10 Mbit Wan router ---- desktop PC's
|
|
Server
Yeah, of some sort.
Right off the bat I say you're crazy for running a single instance off a quad core. T2 dedicated server now runs 3 threads soon after startup (at start I see 4), one of wich is going to be the actual server or game loop thread. The rest are going to be dormant unless fullfilling a tn function, far as I can tell. So with an effectively single-threaded app, you have 4 cores with little to do, and the os may be trying to spread what little load it has around each core. Or who knows, it may be caused by a power saving effort by the chipset or os?
What are the exact system spec? Who made the cpu? What motherboard? Do you have energy saving measures like cool n quiet enabled?
Have you made sure all other apps are closed when running the server?
have you tried running the server with a number of apps running, so as to load the system a bit?
Have you tried upping the priority to high?
Have you opened media player and left it running minimised in the background, doing nothing? This forces the system to use the finest time interval it can, wich boost server frame rate, and usualy drops pings for client by 10ms or more. This is a common tactic in counter strike servers. This also has a beneficial effect in client machines if the run media player.
Something else to try is to set use pmtimer in boot.ini, wich youll find thusly: tools/ folder options/ view/ uncheck hide protected operating sys files/ click yes, apply, and go to your root drive. Look for boot.ini, and add this to the last line, with a space before the slant: /usepmtimer
so it looks like:
"WINDOWS="Windows Server 2003, Standard" /fastdetect /usepmtimer"
Ignore the server2003, replacing it with your own os of course.
Try the server after a reboot and see if that helps any.
Right click my computer, propteries, advanced, performance, advanced. click on adjust for best performance of background apps. That is if you run a M$ os.
I tried placing
setPerfCounterEnable(0);
in the autoexec folder in autoexec.cs and that dident work... however out of frustration i copied and pasted it 3x in the file.. and now there is no stuttering.
there is now a second befen server hosting base mod.
Thanks for all the help!