Standard SV CVAR checks
Moderators: Forum moderators, developers
Here's my reasoning for limiting r_lodcurverror. Please correct me if I've said anything that is incorrect.
What it does: r_lodcurverror determines the distance (in units?) at which curved objects become broken down, ie a semi-circular archway becomes increasing angular until it is represented by the minimum of a triangle. In this case the effect is that the arch will become filled out, however in instances of terrain based objects the loss of curvature results in players being able to see through the edges. This is most readily demonstrated on the map Battery, click on thumbs to enlarge.
r_lodcurverror 1 at close range:
Furthest distance that triangles stay:
Proning at top of stairs:
r_lodcurverror 20
r_lodcurverror 30
Based on this I've elected to use r_lodcurveerror 60 as the minimum required setting as it will prevent the problem occuring at up to twice the distance possible on Battery, which should be enough should it occur on any custom maps. If it occurs at such range I doubt it will provide such advantage as it does in the confines of this part of Battery.
I'm not aware of any customs in competitive use that have many if any domed or radial constructions that may be susceptible to this exploit, however I'll keep an eye out for it whenever I'm looking at a custom and have the chance to test.
Note: All shots are taken with r_subdivisions 64, which is the highest value (lowest poly count) we allow due to this flaw in wall of Frostbite:
I hope that explains why we've chosen to use the settings, if anyone sees any reasons why they are unnecessary or ineffective please don't hesitate to discuss
What it does: r_lodcurverror determines the distance (in units?) at which curved objects become broken down, ie a semi-circular archway becomes increasing angular until it is represented by the minimum of a triangle. In this case the effect is that the arch will become filled out, however in instances of terrain based objects the loss of curvature results in players being able to see through the edges. This is most readily demonstrated on the map Battery, click on thumbs to enlarge.
r_lodcurverror 1 at close range:
Furthest distance that triangles stay:
Proning at top of stairs:
r_lodcurverror 20
r_lodcurverror 30
Based on this I've elected to use r_lodcurveerror 60 as the minimum required setting as it will prevent the problem occuring at up to twice the distance possible on Battery, which should be enough should it occur on any custom maps. If it occurs at such range I doubt it will provide such advantage as it does in the confines of this part of Battery.
I'm not aware of any customs in competitive use that have many if any domed or radial constructions that may be susceptible to this exploit, however I'll keep an eye out for it whenever I'm looking at a custom and have the chance to test.
Note: All shots are taken with r_subdivisions 64, which is the highest value (lowest poly count) we allow due to this flaw in wall of Frostbite:
I hope that explains why we've chosen to use the settings, if anyone sees any reasons why they are unnecessary or ineffective please don't hesitate to discuss
Okey dokey, here's my revised list of recommended cvar restrictions, take 27
These include restrictions on r_subdivisions and r_lodcurverror
2.56 & etpro 3.1.0 / 3.1.9
2.60 & etpro 3.1.12 or newer
The only thing I'm still not sure about is timenudge. SCDS_reyalP says not needed, however DG's site suggests that it has an effect on top of antilag and should be restricted to 0 when antilag is in use on the server (which I'd hazard a guess almost all would be).
These include restrictions on r_subdivisions and r_lodcurverror
2.56 & etpro 3.1.0 / 3.1.9
Code: Select all
command "sv_cvar rate IN 3500 25000"
command "sv_cvar snaps IN 1 20"
command "sv_cvar cg_bobup IN -0.005 0.005"
command "sv_cvar cg_errordecay EQ 100"
command "sv_cvar cg_fov IN 90 120"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cl_freelook EQ 1"
command "sv_cvar cl_maxpackets IN 20 100"
command "sv_cvar cl_pitchspeed IN 0 140"
command "sv_cvar cl_timenudge EQ 0"
command "sv_cvar cl_yawspeed IN 0 140"
command "sv_cvar m_pitch OUT -0.015 0.015"
command "sv_cvar m_yaw IN -0.022 0.022"
command "sv_cvar r_allowextensions EQ 1"
command "sv_cvar r_clampToEdge EQ 1"
command "sv_cvar r_colorMipLevels EQ 0"
command "sv_cvar r_detailtextures EQ 0"
command "sv_cvar r_drawentities EQ 1"
command "sv_cvar r_drawworld EQ 1"
command "sv_cvar r_ext_texture_filter_anisotropic EQ 0"
command "sv_cvar r_flares IN 0 1"
command "sv_cvar r_lightmap EQ 0"
command "sv_cvar r_lodcurveerror GE 60"
command "sv_cvar r_nv_fogdist_mode INCLUDE NV GL_EYE_RADIAL_NV"
command "sv_cvar r_primitives IN 0 2"
command "sv_cvar r_showmodelbounds EQ 0"
command "sv_cvar r_showtris EQ 0"
command "sv_cvar r_subdivisions IN 1 64
command "sv_cvar r_znear EQ 3"
2.60 & etpro 3.1.12 or newer
Code: Select all
command "sv_cvar rate IN 3500 25000"
command "sv_cvar snaps IN 1 20"
command "sv_cvar cg_bobup IN -0.005 0.005"
command "sv_cvar cg_fov IN 90 120"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cl_freelook EQ 1"
command "sv_cvar cl_maxpackets IN 20 100"
command "sv_cvar cl_timenudge EQ 0"
command "sv_cvar m_pitch OUT -0.015 0.015"
command "sv_cvar m_yaw IN -0.022 0.022"
command "sv_cvar r_allowextensions EQ 1"
command "sv_cvar r_clampToEdge EQ 1"
command "sv_cvar r_colorMipLevels EQ 0"
command "sv_cvar r_detailtextures EQ 0"
command "sv_cvar r_drawentities EQ 1"
command "sv_cvar r_drawworld EQ 1"
command "sv_cvar r_flares IN 0 1"
command "sv_cvar r_lightmap EQ 0"
command "sv_cvar r_lodcurveerror GE 60"
command "sv_cvar r_nv_fogdist_mode INCLUDE NV GL_EYE_RADIAL_NV"
command "sv_cvar r_primitives IN 0 2"
command "sv_cvar r_showmodelbounds EQ 0"
command "sv_cvar r_showtris EQ 0"
command "sv_cvar r_subdivisions IN 1 64
command "sv_cvar r_znear EQ 3"
The only thing I'm still not sure about is timenudge. SCDS_reyalP says not needed, however DG's site suggests that it has an effect on top of antilag and should be restricted to 0 when antilag is in use on the server (which I'd hazard a guess almost all would be).
timenudge DOES have an effect on top of antilag - but that effect only affects YOU.
as for the lodcurveerror, this game is made of tris. fewer tris = better fps. i'd guess for someone on a REALLY shitty PC, having archways and stuff changing shape as their distance changes, while annoying and POSSIBLY beneficial AT TIMES, would probably help them maintain a playable framerate, since it reduces everything to the absolute fewest possible tris.
try subdivisions 1024 and lodcurveerror 1 and run around goldrush
as for the lodcurveerror, this game is made of tris. fewer tris = better fps. i'd guess for someone on a REALLY shitty PC, having archways and stuff changing shape as their distance changes, while annoying and POSSIBLY beneficial AT TIMES, would probably help them maintain a playable framerate, since it reduces everything to the absolute fewest possible tris.
try subdivisions 1024 and lodcurveerror 1 and run around goldrush
i understand that. and it has no effect whatsoever for me. but since i do know that more tris = lower fps, i simply threw that out as a possible benefit for someone on a Commodore 64.Dersaidin wrote:ouroboro, having higher or lower detail curves would only mean a change of about 50 polygons, which shouldnt effect FPS very much.
But there is a point of diminishing returns. Going from subdivision 1 to subdivisions 64 could save you hundreds (or even thousands) of tris. Going from 64 to 1024 would likely only save you a handfull more.ouroboro wrote:
i understand that. and it has no effect whatsoever for me. but since i do know that more tris = lower fps, i simply threw that out as a possible benefit for someone on a Commodore 64.
send lawyers, guns and money
- KingJackaL
- Posts: 666
- Joined: Thu Jan 08, 2004 3:47 pm
- Location: ChCh, NZ
- Contact:
+$0.02
Well, this is my list as I see necessity:
16 cvars. Given most of the hackers are using bigger-featured multihacks now, if they've unlocked cvars, they've probably got past etpro sv_cvar checks . So I don't think I'll be using any cvar unlocking blocks... although I'll consider it.
*shrugs*
That list has a few extra cvars since the last season I ran - cl_pitchspeed/cl_yawspeed to stop the mortar scripts, and r_lodcurveerror and r_subdivisions as pointed out well above.
r_detailTextures is still annoying me. I'm really really loath to restrict something that's that native a setting (available in menu, comes default depending on what 'low/med/high' setting you have)
Code: Select all
command "sv_cvar cg_bobup IN 0 0.005"
command "sv_cvar cg_fov IN 90 120"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cl_freelook EQ 1"
command "sv_cvar cl_pitchspeed EQ 0"
command "sv_cvar cl_yawspeed EQ 0"
command "sv_cvar m_pitch OUT -0.015 0.015"
command "sv_cvar m_yaw IN -0.022 0.022"
command "sv_cvar r_clampToEdge EQ 1"
command "sv_cvar r_ext_ATI_pntriangles EQ 0"
command "sv_cvar r_ext_texture_filter_anisotropic EQ 0"
command "sv_cvar r_flares IN 0 1"
command "sv_cvar r_lodcurveerror GE 250"
command "sv_cvar r_nv_fogdist_mode INCLUDE NV GL_EYE_RADIAL_NV"
command "sv_cvar r_primitives IN 0 2"
command "sv_cvar r_subdivisions IN 1 64"
*shrugs*
That list has a few extra cvars since the last season I ran - cl_pitchspeed/cl_yawspeed to stop the mortar scripts, and r_lodcurveerror and r_subdivisions as pointed out well above.
r_detailTextures is still annoying me. I'm really really loath to restrict something that's that native a setting (available in menu, comes default depending on what 'low/med/high' setting you have)
Re: +$0.02
yep I noticed this the other day when I joined one of our serves with a fresh install. I removed it from the public server config but left it on for the matches.KingJackaL wrote:r_detailTextures is still annoying me. I'm really really loath to restrict something that's that native a setting (available in menu, comes default depending on what 'low/med/high' setting you have)
I've heard it affects some textures on the player model but never seen any evidence of it used as a hack, I imagine it can give some sort of high intensity to players which could be combined with a dark background to make it easy to spot other players.
edit: thats the problem with r_detailtextures 1 btw. Benefit of it is the high contrast with players (and also so little detail on textures they stand out even more). Downside iirc is axis and allies get hard to tell apart, because the eyes adjust to everything being either retina-burning or very dark.
Last edited by DG on Tue May 17, 2005 1:45 pm, edited 1 time in total.
@dg ?
see http://www.shaderlab.com/q3map2/shader_ ... tml#detail
It is not specific to player models. Any shader can have a 'detail' pass. It is another texture that is rendered on top of the normal one, to give the impression of more detailhiro wrote: I've heard it affects some textures on the player model but never seen
see http://www.shaderlab.com/q3map2/shader_ ... tml#detail
send lawyers, guns and money
- KingJackaL
- Posts: 666
- Joined: Thu Jan 08, 2004 3:47 pm
- Location: ChCh, NZ
- Contact:
Yeah, detailtextures should apply to everything.
So when you walk up to a wall, instead of the bricks/blocks/whatever texture just blurring, you'll see a detailed pattern on it - a smaller bump-map like texture to make things look a little better.
I don't understand what that screenshot is supposed to show - detailtextures should only should up when things get really CLOSE to the players' POV (think of them like a super-mipmap-level, but tiled massively so they don't take up tons of memory).
Unless I'm missing something, that screenshot shows things OTHER than r_detailtexture...
So when you walk up to a wall, instead of the bricks/blocks/whatever texture just blurring, you'll see a detailed pattern on it - a smaller bump-map like texture to make things look a little better.
I don't understand what that screenshot is supposed to show - detailtextures should only should up when things get really CLOSE to the players' POV (think of them like a super-mipmap-level, but tiled massively so they don't take up tons of memory).
Unless I'm missing something, that screenshot shows things OTHER than r_detailtexture...
From the POV of the engine, that need not be true. detail textures are simply and additional, optional pass.detailtextures should only should up when things get really CLOSE to the players
BTW, with some experimenting, r_detailtextures 1 with a bright config does indeed give the effect that dg posted.
send lawyers, guns and money
hows now with 2.60b and new etpro?
got these from what i read and searched:
are they correct or some are pointless in your opinion?
in pb:
so i m sure that the most players havent got some extra advantages playing on server. Im wondering of new configs so i would compare to mine...
got these from what i read and searched:
Code: Select all
command "sv_cvar r_gamma in 0 2.0"
command "sv_cvar r_intensity in 0 1.5"
command "sv_cvar r_mapoverbrightbits in 0 2"
command "sv_cvar r_overbrightbits in 0 2"
command "sv_cvar r_picmip in 0 2"
command "sv_cvar r_uifullscreen EQ 0"
command "sv_cvar r_flares IN 0 1"
command "sv_cvar r_drawentities EQ 1"
command "sv_cvar r_drawworld EQ 1"
command "sv_cvar r_lightmap EQ 0"
command "sv_cvar r_showmodelbounds EQ 0"
command "sv_cvar r_showtris EQ 0"
command "sv_cvar r_znear EQ 3"
command "sv_cvar r_allowextensions EQ 1"
command "sv_cvar r_clamptoedge EQ 1"
command "sv_cvar r_detailTextures EQ 0"
command "sv_cvar r_primitives IN 0 2"
command "sv_cvar r_subdivisions IN 0 20"
command "sv_cvar r_ext_texture_filter_anisotropic EQ 0"
command "sv_cvar r_clamptoedge EQ 1"
//pb ss is not blocking
command "sv_cvar r_ext_ATI_pntriangles EQ 0"
command "sv_cvar r_ati_fsaa_samples EQ 0"
command "sv_cvar r_ati_truform_tess EQ 0"
//---------------------
command "sv_cvar cg_errordecay EQ 100"
command "sv_cvar cg_shadows IN 0 1"
command "sv_cvar cl_timenudge EQ 0"
command "sv_cvar cl_freelook EQ 1"
command "sv_cvar cl_pitchspeed IN 0 140"
command "sv_cvar cl_yawspeed IN 0 140"
in pb:
Code: Select all
com_maxfps OUT 0.000001 40
r_nv_fogdist_mode INCLUDE "NV"
cl_maxpackets IN 15 100
rate IN 2500 25000
snaps IN 20 40 //going to force 20 in etpro
cg_bobup IN 0 0.005
cg_bobpitch IN 0 0.002
cg_bobroll IN 0 0.002 cg_fov IN 90 140
m_pitch OUT -0.011 0.011 m_yaw IN -0.022 0.022
wolFTeam.pl
Code: Select all
command "sv_cvar r_uifullscreen EQ 0"
Code: Select all
//pb ss is not blocking
command "sv_cvar r_ext_ATI_pntriangles EQ 0"
command "sv_cvar r_ati_fsaa_samples EQ 0"
command "sv_cvar r_ati_truform_tess EQ 0"
Code: Select all
command "sv_cvar cg_errordecay EQ 100"
I'm not sure why you are using PB rather than etpro for some cvars. I would only use PB to check for actual cheat cvars.
in pb:
Code: Select all
cl_maxpackets IN 15 100
Code: Select all
m_pitch OUT -0.011 0.011 m_yaw IN -0.022 0.022
send lawyers, guns and money