SRCDS Tweaking

I know this “Help and Support” section is for problems while PLAYING Garry’s Mod, however, there’s no other appropriate section to place this thread in, if wrong, please tell me so

Previously I had a server from Elpishost, all my servers ran great and all, but we got downed from time to time by stupid 200 mbit/s DDoS attacks, because of our 100 mbit port not being able to handle it. This is our main reason that we bought a different server, with a better processor and connection, but my servers still seem to receive a lot of “lag”. I’m not even sure if it’s supposed to be called that, but just to make this thread easier to read I’ll just stick with “lag”.

Previous server specs:
Intel Xeon E3-1230v2 (8 (physical?) cores @ 3.3 Ghz with a turbo frequency of 3.7 Ghz)
16 GB of RAM
100 mbit port
Windows Server 2008 R2 x64

Current server specs:
Intel Xeon E3-1270v2 (8 (physical?) cores @ 3.5 Ghz with a turbo frequency of 3.9 Ghz)
16 GB of RAM
1000 mbit / 1 gbit port
Windows Server 2008 R2 x64

We assign all servers to their own core, for ease, we say that each core can hold 48 players, to prevent lag and such.
We actually thought we could run more players per server because of our 0.2 Ghz more we had, but now it seems we can actually hold less players than before.
The thing is, we run a Deathrun server, and with our first server it ran fine on 48 slots, atleast, it’d start getting lag spikes at 44 players. The Deathrun server has it’s own core. We set the affinity properly and we tried to set the priority to high and realtime. Realtime actually shows some more performance, even though it’s not recommended as said on Steam’s knowledgebase. Deathrun is not the only server we host. We also host 2 HL2RP servers, a Bunnyhop server, a Jailbreak server and a TTT server. All our servers have their own core, apart from HL2RP since both servers have 24 slots, together they’d be equal to the 48 slots per core.

When I started with our first dedicated server I was very unexperienced with hosting on a dedicated server. I found out running all servers on affinity <all cores> would lag all servers.

The strange thing is, all my servers, all running on other cores, seem to receive lagspikes constantly. CPU usage is below 20%.
This is our server graph:
Click, image is 1920x1080
Servers by cores:
Core 0: HL2RP 1, HL2RP 2 (20 players on 1, 0 on 2)
Core 1: Bunnyhop (24 online)
Core 2: Deathrun 1 (37 online)
Core 3: none
Core 4: TTT (29 online)
Core 5: Jailbreak (0 online)
Core 6: none
Core 7: none

As you can see, there’s a spike on core 3. At that moment, all 37 people spawned at the same time. The core usage didn’t go to 100%, yet the server lagged for about 10 seconds.
What happens during the lag is that player’s mics get cut off, they start moving while they are actually standing still, and this kind of strange behavior.

The RAM usage of the server is stable as what, never changes. The network usage changes from 3 to 7%, depending on how many players are on.

Here’s a our Deathrun’s command-line and server.cfg:
Command line


start /affinity 4 /realtime C:\Servers\Deathrun\orangebox\srcds.exe -console -game garrysmod -port 27015 -maxplayers 40 -ip 74.63.210.178 +fps_max 600 +map deathrun_marioworld_final +gamemode deathrun +rcon_password ****** +exec server1.cfg

server.cfg


hostname "CasualBananas.com | Deathrun #1" 

gamemode "deathrun"

sv_downloadurl "http://d1.usa.bananati.me/games/gmod"
sv_kickerrornum 0
sv_stopspeed 75
sv_friction 7
sv_accelerate 8
sv_airaccelerate 150
sv_gravity 800
sv_alltalk 1
sv_minrate 75000
sv_maxrate 75000
fps_max 60
sv_loadingurl "http://casualbananas.com/loading/" 	
sv_allowupload 0

The rates and such were recommended by our host at the time, but only if we could “spare the bandwidth”, apparently this makes the user able to send more requests to and receive more requests from the server.

I hope somebody here can help me to tweak my server’s settings so I can finally enjoy the game myself without being spammed because of the lagspikes. This is a serious thread and I’d like some serious replies. Don’t ask me to do stupid stuff, I’m here to look for help and trying to find a solution for my problem.

Still need help with his.

What tickrates are you using with your game servers?

/realtime sounds bad actually.

For HL2RP we tried some different tickrates, but all tickrates are at default at the moment.

I would try the deathrun at tickrate 33 and see if things improve.

I have tried Tickrate 33, right now no one can bunnyhop anymore on any of our servers. On both the Deathrun and the bunnyhop servers this is quite important…

You should have just upgraded to a 1Gbps port with me. The E3-1270 V2 is not much better then the E3-1230 V2. A 200Mhz difference that won’t matter in the slightest if you aren’t maxing the core(s) on the 1230.

Sorry to see that you’re having problems with the new node at LSN. Hopefully you’ll be able to figure it out, though.

I’d recommend removing realtime, letting windows manage affinity, disabling HT from the BIOS (turn off the four virtual cores) and check to see if you’re being hit with any kind of low level network attack which is what it sounds like to me.

Your command line and rates look fine.

The rates I have are from you, atleast, you recommended these to me. I have a 1 Gbps port now, but I don’t know if I have access to the BIOS to disable HyperThreading. If I do this, would I still be able to run as much servers as I have now?

Yes and those rates are fine.

You have access to BIOS with LSN.

Hyperthreading includes an extra set of CPU registers so the processor can act like it has two cores and use all parts of the processor in parallel. When two cores both need to use one component of the processor then one core ends up waiting.

So that could be the cause of this?

Limestone offers management level tickets with Limeaid. I’d suggest using them if you can’t figure it out.

But yes that could be the issue, as could power management on the processor, overheating processor, low level network attacks, tickrate, REALTIME affinity etc etc.

The joys of owning an unmanaged server.

I will try tomorrow, when all Americans are sleeping or at school, thanks for helping me untill now.

Just so you know, I left your hosting because we had bigger plans, but we’ve put them on hold for now, nothing else.