set g_warmup_allguns 1 "provide more weapons on start while in warmup: 0 = normal start weapons, 1 = all guns available on the map, 2 = all normal weapons"
set g_warmup_majority_factor 0.8 "minimum percentage of players ready needed for warmup to end"
+alias sv_hook_warmupend
+
set g_chat_nospectators 0 "if 0 spec/observer chat is always visible to the player, if 1 it is never visible to players, if 2 it is only visible to players during warmup stage"
set sv_vote_nospectators 0 "only players can call a vote (thus spectators and observers can't call a vote): 0 = all people can vote, 1 = spectators can vote in warmup stage, 2 = only players can vote (no exceptions)."
set g_maplist_shuffle 1 "new randomization method: like selectrandom, but avoid playing the same maps in short succession. This works by taking out the first element and inserting it into g_maplist with a bias to the end of the list"
set g_maplist_check_waypoints 0 "when 1, maps are skipped if there currently are bots, but the map has no waypoints"
set g_maplist_ignore_sizes 0 "when 1, all maps are shown in the map list regardless of player count"
+set g_maplist_sizes_count_bots 1 "include the number of bots currently in the server when counting the number of players for size restrictions"
set g_items_mindist 4000 "starting distance for the fading of items"
set g_items_maxdist 4500 "maximum distance at which an item can be viewed, after which it will be invisible"
set g_showweaponspawns 1 "1: display waypoints for weapon spawns found on the map when a weapon key is pressed and the weapon is not owned; 2: for dropped weapons too; 3: for all the weapons sharing the same impulse"
-// ballistics use physical units, but qu based
-// Quake-Newton: 1 qN = 1 qu * 1 g / 1 s^2
-// Quake-Joule: 1 qJ = 1 qN * 1 qu
-// Quake-Pascal: 1 qPa = 1 qN / 1 qu^2
-
-set g_ballistics_mindistance 2 "enable ballistics starting from 2 qu"
-set g_ballistics_density_player 0.50 "players are 2x as easy to pass through as walls"
-set g_ballistics_density_corpse 0.10 "corpses are 10x as easy to pass through as walls"
-set g_ballistics_penetrate_clips 0 "allow ballistics to pass through weapon clips"
+set g_ballistics_mindistance 2 "when shooting through walls thinner than this, treat them as this thick (useful because patches (curved surfaces) have no thickness)"
+set g_ballistics_density_player 0.50 "how hard players are to shoot through compared to walls"
+set g_ballistics_density_corpse 0.10 "how hard corpses are to shoot through compared to walls"
+set g_ballistics_penetrate_clips 1 "allow ballistics to pass through weapon clips"
+set g_ballistics_solidpenetration_exponent 0.25 "how fast damage falls off when bullets pass through walls - 1 means linear, lower values mean slower initial falloff but faster once there's little solidpenetration left (damage_fraction = solidpen_fraction^exp for solidpen_fraction between 0 and 1)"
sv_status_show_qcstatus 1 "Xonotic uses this field instead of frags"
set g_full_getstatus_responses 0 "this currently breaks qstat"
// sv_cullentities_trace is 1, so the client doesn't have to
sv_cullentities_trace 1
+// due to a bug in the engine, the default setting of this (16) spams the network with item updates
+sv_cullentities_trace_eyejitter 0
// less "lagging" of other players, but also less PL tolerant... let's try this
sv_clmovement_inputtimeout 0.066 // slightly less than 2 frames, so only one frame can be compensated