PDA

View Full Version : Battlefield 2 Rate Fixes to try out!



ThE_MarD
02-03-2007, 11:23 PM
Heyyo,

A bud from a different server showed me some rate fixes that some of the really high up guys do to improve their hit registry, and I tried them out and they work amazing. I can run, prone, zoom and headshot and it registers them. No more puff clouds of deceit. :)

I highly reccomend even just tweaking these settings just a bit from low pingers to high pingers. The lower the ping the lower you should try the settings. The first set here work amazing for me at an average ping of 80.

now for these to work, go into your battlefield 2\mods\bf2\settings foler, and open up your usersettings.con file and try changing them to this first set (after doing changes save it and set "usersettings.con" to read only!)

rem
rem Settingsfile automatically saved by bf2
rem
SettingsManager.boolSet GSClPunkBuster 1
SettingsManager.floatSet GSDefaultLatencyCompensation 0.090000
SettingsManager.boolSet GSExtrapolateFrame 1
SettingsManager.U32Set GSExtrapolationTime 800
SettingsManager.U32Set GSInterpolationTime 70
SettingsManager.U32Set GSPerfLogAtPlayerCount 30
SettingsManager.stringSet GSPlayerName "***** INSERT NAME HERE *****"
SettingsManager.boolSet GSShowNetGraph 0
SettingsManager.boolSet GSUseObjectCache 1

I got it from probably the BEST infantry player in BF2--PeaceMaker. I changed it a bit from his because I always have like double his ping lol, but it gives you an outline of what you should be shooting for.

My registration is alot better than default, but far from "good", and I'm messing around with it alot.

EDIT: For comparison, the default UserSettings.con file reads:

rem
rem Settingsfile automatically saved by bf2
rem
SettingsManager.boolSet GSClPunkBuster 1
SettingsManager.floatSet GSDefaultLatencyCompensation 0.100000
SettingsManager.boolSet GSExtrapolateFrame 0
SettingsManager.U32Set GSExtrapolationTime 1200
SettingsManager.U32Set GSInterpolationTime 100
SettingsManager.U32Set GSPerfLogAtPlayerCount 30
SettingsManager.stringSet GSPlayerName "***** INSERT NAME HERE *****"
SettingsManager.boolSet GSShowNetGraph 0
SettingsManager.boolSet GSUseObjectCache 1

Peacemaker's is:

rem
rem Settingsfile automatically saved by bf2
rem
SettingsManager.boolSet GSClPunkBuster 1
SettingsManager.floatSet GSDefaultLatencyCompensation 0.050000
SettingsManager.boolSet GSExtrapolateFrame 1
SettingsManager.U32Set GSExtrapolationTime 1000
SettingsManager.U32Set GSInterpolationTime 90
SettingsManager.U32Set GSPerfLogAtPlayerCount 30
SettingsManager.stringSet GSPlayerName "***** INSERT NAME HERE *****"
SettingsManager.boolSet GSShowNetGraph 0
SettingsManager.boolSet GSUseObjectCache 1

With the right combination of settings, you could have 200 ping and still have decent-good registration. It's all about matching your UserSettings to your ping and to the server :)

this info was provided from otaku_for_life.

BlackflyCanada
02-14-2007, 02:31 AM
Hey guys the MarD is correct on this one here, these modifications actually work, they have improved my overall game play and kill/death ratio. Though you should note that depending on the connection you have you may need to tweak these numbers. And this doesn't mess with Punkbuster.

Ninja
02-15-2007, 08:33 PM
So...do you have any details on what each item means and what is the equation for determining the numbers from your ping?

ThE_MarD
02-18-2007, 10:44 PM
Heyyo,


So...do you have any details on what each item means and what is the equation for determining the numbers from your ping?
K, I can give you a bit of each one I know for sure...

now, for how the netcode works on bf2 is similar to the source engine (used for HL2, CSS, etc) is by interpolation. Clients send info to the server, server then sends info to clients.. but for clients to have such good lag compensation and ability to do well on both high and low pings they interpolate the data.. thus clients are always 10-40ms behind what is actually updated at the server. So it's your ping + your current interpolation settings. In order for the game to support a very broad amount of internet connections, they set the default rate/interpolation settings very high, which causes more inconsistency errors between the servers and the players, and that's why sometimes even though your bullets hit the enemies on your screen, the server doesn't register it as it might see him a few more inches to the left, or that your computer's lagging more, and thus is extrapolating.. which's where your computer's not getting updated info from the server, and then predicts where that guy is.. of course, extrapolation is the devil incarnate, and the more it happens, the worse your ability to do well in the server shall be.

As for lag compensation, the way interpolation netcode handles it is it saves a few mili-seconds behind what the server sees, and so once you shoot, your computer records the shots, and then the server simulates that point in time of were you supposedly shot that player.. but, if you have your lag compensation set higher on the clientside it actually seems to cause problems with the lag compensation.. actually making it worse for the server to record when you shot if you have a low ping. On higher pings leave lag compensation near default, if you ping around 60-80 try 0.09 or lower.. and just goes lower from there.

So yeah, increasing your computer's resonsiveness makes it easier for you to do well by keep your accuracy to the server higher and lowering your interpolation time.. which actually even gives you a slight advantage, cause if you run around the corner, you'll see them about 5ms before they see you, and that can help mean the difference between you landing shots, or you missing those bullets that keeps your player going.

BUT, vehicles don't interpolate well with the battlefield netcode (as seen in older versions of the game like BFV and BF42 were even though your bullets were no were near the vehicles like airplanes, the server records the shots, but if you shot directly at them the server would not register the hits).. using a rate fix can deteriorate your ability to fight aireal units, or using tv guided missiles from the helis.. as sometimes they might pass through the enemy's vehicles such as enemy helis.

using this setting instead of the above settings can help with vehicle hit registrations:


SettingsManager.U32Set GSInterpolationTime 400

So yeah... dunno if I cleared things up for you... if you want more specifics I can try to be more specific. I just find understanding the way the game's netcode works will help you figure out what settings you should play with. Never-the-less, I highly reccomend for all clanmates.. heck, ALL players, that they properly set their rates up it make a smoth as possible online experience for all players, cause increasing your rates does increase your responsiveness to the server, but if other players do theirs right too, they get the same style of benefits. :)

ThE_MarD
05-08-2007, 07:04 PM
Heyyo,

Otaku said he found new rate fixes from the BF2 CAL forums.. try these rates! :D

Latency Compensation set at 1/1000th of your ping +10
Interpolation set at your ping +10
Extrapolation is set at your interpolation multiplied by 12

For example... my ping on the "Durka Durka Mohamed Jihad" server is 80ms..


rem
rem Settingsfile automatically saved by bf2
rem
SettingsManager.boolSet GSClPunkBuster 1
SettingsManager.floatSet GSDefaultLatencyCompensation 0.0900000 // (80 + 90 / 1000 = 0.09)
SettingsManager.boolSet GSExtrapolateFrame 1 // (Make sure this is 1!)
SettingsManager.U32Set GSExtrapolationTime 960 // (80 * 12 = 960)
SettingsManager.U32Set GSInterpolationTime 90 // (80 + 10 = 90)

Shopvac
05-09-2007, 10:41 AM
My ping seems to change a lot from game to game, or server to server. How do you decide on what rate you're going to set you ping at for these rates? Do you get in the server then jump out, set your new rates, and jump back in? Or do you just stick to one server and set your rates based on your avrage ping there?

ThE_MarD
06-03-2007, 05:08 PM
Heyyo,


My ping seems to change a lot from game to game, or server to server. How do you decide on what rate you're going to set you ping at for these rates? Do you get in the server then jump out, set your new rates, and jump back in? Or do you just stick to one server and set your rates based on your avrage ping there?

You usually want to try and setup your rates to your average ping. Usually servers for me are 70+ so I try and average mine around a ping of 70.


These are my current ones I'm testing.. I'm starting to think for latency compensation that should stay 1.00 since in the source engine it leaves lag comp at 1.. For those interested why I refer to the source engine, it uses very similar netcode via the idea of interpolation. Here's a read that you guys should do up too:

http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking


SettingsManager.floatSet GSDefaultLatencyCompensation 0.100000
SettingsManager.boolSet GSExtrapolateFrame 1
SettingsManager.U32Set GSExtrapolationTime 1550
SettingsManager.U32Set GSInterpolationTime 55
SettingsManager.U32Set GSPerfLogAtPlayerCount 30

BTW, these rate fixes work for BOTH BF2142, BF2, and any mods for either game.

PiLL-Doc
06-03-2007, 07:54 PM
Mard, if that's the case why would you have the following if your average ping is 70:

SettingsManager.U32Set GSExtrapolationTime 1550
SettingsManager.U32Set GSInterpolationTime 55