SRCDS Steam group


stable 1000fps hl engine without pb possible?
#1
Hi,

i heard that some customers do some shit and marketing gags with gameservers without pingboost and laughing 1000stable FPS > is that true?
I think they can do that with a special per-lib like srcds, but in my opionion its the same link using pingboost and it has no different between both. What do you think about it?
Pingboost its pushing the sleepmode down to 1ms normally 10ms > if you dont use it you need to chance the sleep with a lib (e.g.) down to 1ms > then you got the same result? or is that wrong .... hopefully distant, monk, behartesetwas could help ... other people are also welcome :-D
Is there an other posibility to got this result without pb and lib?

-p
Reply
#2
Theres several ways to do this (cheating the fpsmeter for example). I don't know how to do it, but ive seen several of my friends doing this
Slå den med jeres fiberforbindelser...

[Image: 1308107839.png]
Reply
#3
without pingboost hlds waits 1ms after each frame, not 10ms. so it should be possible. the question is what you understand under "stable". if you expect the engine to output only 1000.0 fps and no different numbers, I have to disappoint you. that stability (even if reached with pingboost or whatever) is completely fake. if hlds renders the frames faster than with 1000.0 fps, it will nevertheless display 1000.0 in the stats command. in reality it is completely impossible to reach that kind of stability. the wakeup latencies from the sleep command (whatever sleep command is used - that depends on the pingboost) will never vanish regardless of your configuration. and they will directly lead to fps variations, there is no way around it. putting the fps slightly beyond 1000.0 (e.g. by using pingboost 3 and an appropriate setting of sys_ticrate, or by some other means like a lib or whatever) cannot change this. this is only done by ISPs to impress their customers. apart from that there is no positive effect, on the contrary the game will run slightly faster.

btw: "host_speeds 1" in console will show you the real fps. this works only if you have direct access to the console, not via rcon. write "host_speeds 0" to stop the output.

also: those tiny variations are not important. it's only important that the fps are constantly > 800fps or so.
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#4
mh

ok but how can i reach 1000fps without pingboost? with a special pre-lib like srcds?
Is it better so use a gameserver without?

-p
Reply
#5
with hrtimer enabled in kernel and sys_ticrate > 1000 hlds should run with 1000fps already without any pingboost or lib. maybe on some systems you have to set kernel HZ to 1000 and disable dynamic ticks.
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#6
Modifying the game's internal engine to display different FPS from what is normally called without LD_PRELOADING is cheating, in my opinion. Lying to customers is the reason why you have 5,000,000 idiots running around trying to sell libraries that do 20,000FPS

The engine expects sleep to return whenever, and people subtract the difference to get more FPS.
http://leaf.dragonflybsd.org/~gary

“The two most common elements in the universe are hydrogen and stupidity.”








Reply
#7
Monk: thats true and its my opinion too, but what do you think about it? could i run stable 1000 fps (i know thats bulshit) but the customers want that > without pb/lib? yes? how?
Reply
#8
@monk: that's not the point of the discussion here. but you are wrong. it would be cheating if the fps were not real. nevertheless it's useless, the server don't get any better.

back to the topic: hlds can run with > 1000 fps without any LD_PRELOAD, simply by using pb3 and some high sys_tickrate. but this is not what you want usually, because the game runs too fast then.

let me ask some question back: why do you want to achieve 1000 fps without any pingboost?
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#9
its only a discussion > because one customer (i dont want to tell the name^^) tell it to their customers that their servers are without any pingboost. Thats why i ask for? is that true? i think they are lieing, because noone can check this. I can tell those guys our server is running with a 1000% optimized counterstrike kernel > thats the same its only advertise and noone can check this.

I want to know the true! thats all...and if its not possible to get 1000FPS stable without pb > then they are lieing and thats very bad ...
Reply
#10
Do you mean the 1000fps 100% all the time? Or a value close to it? So far I had a very close value without pb3 with a recompiled debian kernel. I took the sources and changed some things in the kernel config.
At the moment I prefere the ck patches for 2.6.3x kernels. Will give you ~970-980 without pb and 1000 with pb3@sys_ticrate ~1010
Reply
#11
but it doesn't matter how you reach your 1000fps. the pingboost doesn't have any negative impact on the server. it only changes how the server waits between the frames. usually it calls usleep(1000) to sleep 1000 microseconds, but with pingboost this behaviour is changed. nothing more.
so in principle (in it's original meaning!) it doesn't matter if you use a pingboost option, some LD_PRELOAD library or some changed kernel settings or even a hack in the kernel, to change the amount of time hlds waits after each frame. the optimum is to wait exactly that long that the whole frame time (= calculation time + sleep time) is exactly one millisecond. if it's shorter the game will run faster, if it's longer the interpolation will not be so precise (due to the change in ping).
no magic about it.
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#12
(04-15-2010, 10:11 PM)BehaartesEtwas Wrote:  @monk: that's not the point of the discussion here. but you are wrong. it would be cheating if the fps were not real. nevertheless it's useless, the server don't get any better.

back to the topic: hlds can run with > 1000 fps without any LD_PRELOAD, simply by using pb3 and some high sys_tickrate. but this is not what you want usually, because the game runs too fast then.

let me ask some question back: why do you want to achieve 1000 fps without any pingboost?


I am not wrong. Modifying the lower end to return earlier is CHEATING. Sorry if you don't see it that way, it doesn't take a brain surgeon to realize it is indeed cheating.
http://leaf.dragonflybsd.org/~gary

“The two most common elements in the universe are hydrogen and stupidity.”








Reply
#13
I don't see "lying" part of cheating. As I said, the server runs at those FPS in reality.
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply
#14
I don't think so. Do you have another source to measure how much it's really generating? I can show you a screenshot of a server running about 500,000,000FPS.

Does it really run at 500mfps? No. Why? Because my machine would sit there and not be able to do anything at all, because of the sheer amount of syscalls being generated.

Why is it running at 500m? It's not. It's called making sleep return early. It's making the engine subtract the remaining wakeup time and it gets added to the rcon stats number.. What you fail to realize is the engine is not to be trusted when it comes to things like time etc, because it's guessing what the system tells it is accurate and it doesn't have another source of 'time' to interpolate from.
http://leaf.dragonflybsd.org/~gary

“The two most common elements in the universe are hydrogen and stupidity.”








Reply
#15
as a matter of fact I do. I have created an LD_PRELOAD lib that calls gettimeofday at the end of the sleep function (also at the beginning to find the source of deviations from nominal fps). you can tell I am lying as well, as I could have written that LD_PRELOAD lib to lie. but then I will say, do it yourself Toungue it's not so difficult, if you know a little C. (if you don't know how to do that, you don't know what you are talking about here...)

regarding the server running at 500Mfps (btw: it's M not m, m would be milli Toungue): a screenshot is made easily, just run host_framerate 500000000 at server console. but on the other hand I actually can imagine that a server runs at 500Mfps, if you replace usleep with sched_yield. the server will then run as fast as possible using as much CPU time as it can get. this doesn't make it better, but there is again no lying about the fps. if you really don't do anything else then replacing usleep (esp. if you don't tamper with gettimeofday, host_framerate etc.), the server will run with the fps the stats command shows.

I don't say there are no methods of faking high fps. But if the server is actually playable stats is most likely correct. This is due to the fact that the value stats returns is used to calculate the elapsed time since the last frame. if that is incorrect the server will run slower or faster. e.g. if you use host_framerate 2000 to fake 2000 fps (or some similar means e.g. like changing gettimeofday) but the server runs actually with 1000 fps, it will run with half the speed (in gameplay). everyone will notice that the moment he joins the server...
http://www.fpsmeter.org
http://wiki.fragaholics.de/index.php/EN:Linux_Optimization_Guide (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)