Des's XDF Corner


A collection of (somewhat) advanced tips and tricks mostly applicable to XDF

How to find things


Simply type in the console (shift+esc):

search keyword

Or if you are more unix inclined:

apropos keyword

Both of this lookup on cvar names, aliases and descriptions, so they are very useful for finding settings and such. Also remember console is tab-completed, so that would also helps once you know the usual prefixes for cvars (r_, g_, cl_, sv_, hud_,...)

Alternatively, if you know you are looking for a cvar you can use:

cvarlist keyword

or for a command you can use:

cmdlist keyword

^top

Toggle jump


This enables you to stop holding a key for jumping, instead you hit once, and it starts jumping, hit again it stops. It also stops on kill bind. You should put this in your autoexec.cfg (create it if it doesn't exists)


 seta jaction -jump
 bind k "kill; -jump;set jaction -jump"
 bind space "toggle jaction +jump -jump; $jaction"

^top

My weapons doesn't switch automatically on pickup


First, check you have
cl_autoswitch 1
and
cl_cts_noautoswitch 0
. Then check the priority list in
Settings->Game->Weapons

Bottom line is push machinegun down in the priority list or hagar+deva+crylink up, because default order has machinegun waay up on the list.

^top

Maps are too dark/bright


This is a common problem for ported maps, the solution is just to adjust r_ambient with 2 -+10 binds (this also show the set value for 0.5s on screen, for informational purposes):


bind - "rpn /r_ambient r_ambient 10 + = ; infobar 0.5 r_ambient:$r_ambient"
bind . "rpn /r_ambient r_ambient 10 - = ; infobar 0.5 r_ambient:$r_ambient"

^top

Maps are too dark/bright (alternative)


There is another option for map brightness rendering, it is just to adjust r_hdr_scenebrightness with 2 -+0.1 binds (this also show the set value for 0.5s on screen, for informational purposes):


bind - "rpn /r_hdr_scenebrightness r_hdr_scenebrightness 0.1 + = ; infobar 0.5 r_hdr_scenebrightness:$r_hdr_scenebrightness"
bind . "rpn /r_hdr_scenebrightness r_hdr_scenebrightness 0.1 - = ; infobar 0.5 r_hdr_scenebrightness:$r_hdr_scenebrightness"

^top

Map still too dark/bright


There is an alternative lighting available which could help, toggle it with (this also show the set value for 0.5s on screen, for informational purposes):


bind , "toggle r_fullbright ; infobar 0.5 r_fullbright:$r_fullbright"

^top

Check position on map and viewing angle


This is mostly useful for mapping or checking some jumps height and stuff like that, most players would never need it, but it's left here as a reference.


bind p "prvm_globalget client csqcplayer _posview_tmpcvar3; prvm_edictget client \"$_posview_tmpcvar3\" origin _posview_tmpcvar1; prvm_edictget client \"$_posview_tmpcvar3\" v_angle_old _posview_tmpcvar2; infobar 0.5 \"orig: $_posview_tmpcvar1, angles: $_posview_tmpcvar2\""

^top

Toggle netfps for more accel


Given engine design and the XDF abuse of said engine, speeds and accels are affected by how often they are calculated, you can force more netfps and therefore have more accel than if you pushed less. Note that you can't push more frames that you can render. Also less netfps can help with some stepups, and to get stuck on ramps/inclined planes slides less often. So this toggles between 1 and your cl_maxfps, assuming you use that. If you don't, just change to whatever you deem appropiate (this also show the set value for 0.5s on screen, for informational purposes).


bind n "toggle cl_netfps 1 $cl_maxfps ; infobar 0.5 cl_netfps:$cl_netfps"

^top

Hold key for low netfps


So, high netfps is great for accel, but bad for getting stuck in ramps/inclined planes slides. Alternate solution for faster switching is, hold a key/mouse for low netfps in parts you usually get stuck (this also show the set value for 0.5s on screen, for informational purposes):


alias +lownetfps "cl_netfps 1; infobar 0.5 \"cl_netfps $cl_netfps\""
alias -lownetfps "cl_netfps $cl_maxfps; infobar 0.5 \"cl_netfps:$cl_netfps\""
bind mouse3 +lownetfps

^top

Can't see my time on scoreboard


First, git gud(tm), but alternatively set this cvars, and you'll get a ton more records on-screen:


seta "hud_panel_scoreboard_minwidth" "0.8"
seta "hud_panel_scoreboard_namesize" "10"
seta "hud_panel_scoreboard_pos" "0.10 0.10"
seta "hud_panel_scoreboard_size" "0.7 0.7"

Also, you can enter scoreboard UI mode with TAB+ESC, select the rankings panel pressing TAB and press Right to see other ranking pages.

^top

See trigger geometry


Xonotic only supports this while running the map locally, but if you load it locally, and then connect to a server running same map, they stay visible.


1) load map locally: copy the pk3 to your data/ directory, and load with: map mapname
2) enable bboxes: r_showbboxes 1 (might also need to set fs_unload_dlcache 0, on newer xon versions > 0.8.6)
3) reconnect to server

^top

Offline testing for extra features/route developing:


Some features are only available with
sv_cheats 1
, those you can only use offline (see this MxCraven post for instructions on how to setup that). This allow you to save a waypoint (pressing f) and restart on that position+speed on kill, and remove it (re-pressing f):

sv_cheats 1
seta "faction" "waypoint_clear_personal
bind f "toggle faction waypoint_personal_here waypoint_clear_personal; $faction"

^top

Don't start looking in random direction


When you kill to restart a run, you usually get spawned looking in a somewhat random direction. This avoids it:


bind k "cl_nolerp 1 ; kill ; defer 0.1 \"cl_nolerp 0\""

^top

I want to see through walls


Who doesn't? (this also show the set value for 0.5s on screen, for informational purposes)


bind z "toggle r_showoverdraw 1 0; infobar 0.5 r_showoverdraw:$r_showoverdraw"

You can use values between 0 and 1 to get more/less transparent overlay.

^top

I'm not an ambiturner, I can't turn left!


I feel you, here's a bind for you, because we are zoolander inclusive (this also show the set value for 0.5s on screen, for informational purposes):


bind v "toggle v_flipped ; infobar 0.5 v_flipped:$v_flipped"

^top

All this players running...


Want to feel alone in the world, we all find ourselves there from time to time (this also show the set value for 0.5s on screen, for informational purposes):


bind < "toggle r_drawentities ; infobar 0.5 r_drawentities:$r_drawentities"

^top

I'm bumping with some invisible thing!


We'll make it visible for you, but it won't be pretty (this also show the set value for 0.5s on screen, for informational purposes) :


bind c "toggle r_showcollisionbrushes 1 0; infobar 0.5 r_showcollisionbrushes:$r_showcollisionbrushes"

You can use values between 0 and 1 to get transparent overlay of the collision brushes, with a higher fps cost.

^top

I need more FPS/some map is particularly slow


Biggest performance setting on maps with water is:


r_water 0

^top

How to position precisely


Some maps need u to position very precisely, and normal key movements can be hard to control for that. Use this bind and move with mouse as if they were 'wasd'.


bind r +strafe

^top

Damage trigger shake/visual is annoying


Some maps have damage triggers and normal xon behaviour can mess with your strafing, for cold blood no reaction to damage set:


hud_dynamic_shake 0
hud_damage 0

^top

How to tab-complete odd names


Xon tab completion is weird, but you can paste (get it from log/console/some of the chat bridges) the nick here and get what string you can use to tab-complete any nick:



^top