Releases: mastercomfig/mastercomfig
8.105.0
Highlights: performance improvements, download site redesign, and bug fixes
Support me: Learn how you can support more updates to mastercomfig!
Early Access: Get early access to more frequent mastercomfig updates.
How to install: Instructions on setting up mastercomfig initially and get it working with your custom files.
How to update: Instructions on updating mastercomfig after you've already installed it.
Config
- Slightly optimized
mat_antialias
block - Deprioritized outgoing voice traffic
- Decreases max rate from ~0.61Mbps to ~0.38Mbps
- Faster rates for large, split packets may cause stability issues, and also consume too much bandwidth versus game traffic.
- Optimized occlusion system
- Reverted back to a more traditional algorithm, and entrusted the map author with tuning occlusion settings.
- Disabled Windows native FS
- It was buggy, outdated and may not have worked in all scenarios, causing double cost for filesystem operations.
- Reverted disabling of hardware sync
- This was an experiment, and it seems like many drivers do not interact well without getting a hint from Source that it needs to complete a frame.
- Removed
snd_mix_async 1
- _This is an XBox 360 only feature
- Disabled legacy surround sound pathway
- The legacy mode increased latency.
- Added
-snd_openal
as an Experimental macOS Launch Option - Improved preset selection
pre_comfig.cfg
to bepreset=preset-name
Presets
Medium Low
- Now uses
lighting_ex=low
(disables phong)- Many people use Medium Low as the performance preset, since Low can have visual bugs. Disabling phong, despite causing crashes on some cutting edge maps, improves performance by quite a bit and having it on by default caused a lot of confusion for many users expecting high performance.
Very Low
- Disables history for payload HUD position
Modules
Lighting
- Fixed lighting visibility issues on
low
andmedium
- There was a very small performance increase from skipping some lighting traces at higher lighting levels, but given that most of the gains are a serious tradeoff for color visibility, this cannot be used on any preset besides Very Low.
MSAA Anti-aliasing
- Updated
off
to usemat_antialias 1
instead of0
, due to the August 27, 2020 update
Decals
off
now allows for 1 decal- Source requires a decal to be spawned when requested. Having 0 slots causes decal spawning to go through a slower path.
Props
- Forced LOD4 for static props on
medium
ultra
now uses more optimized radii for props- Higher radii put more strain on the visleaf system, which is very costly.
Sound
- Enabled 5.1 surround sound on
high
andultra
for improved spatialization with virtual surround- This may also reduce audio latency
- Enabled DSP stereo enhancement on
ultra
- Removed
dsp_facingaway
, as it added unneeded spatial delay
Addons
Null cancelling movement
- Added new
move_bind
module- More information in docs
Dev
- Sped up CI builds
- Dev scripts now exit on any failure
Docs
- Added an explanation about the mastercomfig way
- Added note about yttrium's viewmodels to See Also
- Fixed a typo in Spy class config
Site
- Redesigned download page
8.104.2
Highlights: bug fixes
Support me: Learn how you can support more updates to mastercomfig!
Early Access: Get early access to more frequent mastercomfig updates.
How to install: Instructions on setting up mastercomfig initially and get it working with your custom files.
How to update: Instructions on updating mastercomfig after you've already installed it.
Comfig
- Removed
-disallowhwmorph
from all launch options places - Fixed audio crackling on low framerates/fluctuations
Dev
- Added LICENSE to mastercomfig CI artifact
- Added support for out of band minor releases
8.104.1
Highlights: bug fixes
Support me: Learn how you can support more updates to mastercomfig!
Early Access: Get early access to more frequent mastercomfig updates.
How to install: Instructions on setting up mastercomfig initially and get it working with your custom files.
How to update: Instructions on updating mastercomfig after you've already installed it.
Comfig
- Reverted back to using overlapped IO
- The non-overlapped path causes failed reads due lack of proper testing.
- Fixes an issue with demos failing to play
- Updated recommended launch options to
-novid -nojoy -nosteamcontroller -nohltv -particles 1
-disallowhwmorph
was recommended in error
Modules
Outlines
- Added missing outlines=medium to modules template
FPS Cap
- Added warning in docs, to recommend Rivatuner instead
Docs
- Fixed recommended launch options not updated in some places
- Fixed download link on docs homepage
Dev
- Added auto-merge from release -> develop
8.104.0
Highlights: performance optimizations and bug fixes
Support me: Learn how you can support more updates to mastercomfig!
Early Access: Get early access to more frequent mastercomfig updates.
How to install: Instructions on setting up mastercomfig initially and get it working with your custom files.
How to update: Instructions on updating mastercomfig after you've already installed it.
comfig
- Updated recommended launch options to
-novid -nojoy -nosteamcontroller -nohltv -particles 1 -disallowhwmorph
-disallowhwmorph
optimizes a check for something that is always disabled
- Fixed a possible case of class selection menu or team select not appearing on join
- Cleaned up
mat_antialias
block to get rid of extraexec
- This should slightly improve start up time.
- Disabled download list logging
- This makes TF2 skip creating an unused downloadlists folder and associated map files when loading into a local server.
- Enabled keeping the vote UI active after voting to see the vote progress
- Fixed mastercomfig saving to config.cfg
- This was not needed and made preset switches and uninstalls harder.
- Fixed silly gibs being enabled in Competitive Matchmaking
- Removed pyroland from cp_mountainlab and pl_upward based on feedback that it didn't match very well
- Reduced max heapsize from 560MB to 512MB
- It's ok if the data cache and hunk allocate over the heap size, as it is only used to determine allocation size rather than acting as a limit.
Occlusion optimizations
These changes should improve rendering performance in situations with many players, buildings and props.
- Reworked occlusion settings with a new fixed count strategy
- Since only occluders within the PVS are used, we can already only consider occluders which are already possibly relevant to occluding dynamic objects (players, buildings, etc) and props. Given the overhead to the occlusion system and empirically determined cost of occluder count, all occluders are excluded at first and only the first 6 largest ones are used for occlusion.
- Increased max occludee size from 1% to 40%
- Occludee tests did not seem very expensive from empirical testing, but 40% is used as a limit for potentially occluded objects. Anything larger is very likely not able to be occluded by an occluder given the required separation distance between the view and occludee by an occluding surface.
Rendering optimizations
These changes should improve rendering performance in all situations.
- Disabled forced hardware sync
- Given that it may affect concurrency on multi-threaded queued modes which eventually skip it anyway, and that modern drivers should be smart enough to manage submitted frames intelligently.
- Force disabled fast Z reject
- It is an outdated rendering optimization technique which does not seem to work properly.
- This should not be a change for most users, as it is only enabled on very old graphics cards.
File system optimizations
These changes should improve load times, responsiveness when selecting different load outs, and reduce stuttering related to loading new items on players.
- Disabled overlapped (asynchronous) I/O for Windows
- Overlapped I/O is a flag which allows Windows to service many I/O requests at once. TF2 does not do enough much reading or writing from different requests to make the overhead (~50%) worth the increased distributed responsiveness of servicing requests. And asynchronous I/O sometimes behaves like synchronous I/O, losing the theoretical benefits of async. Given that the filesystem uses async worker threads already, blocking I/O calls are not a concern, Windows synchronous I/O is a better fit for TF2.
- Learn more in the Microsoft Docs.
Sound system optimizations
- Reduced sound delay
- We can get away with mixing a single clock + the last game frame and relying on the frame time for sound playback.
- This may cause sound crackling during a hitch/stutter, but those situations usually have a sound hitch anyways, so largely should not affect normal play.
- Make use of sound cache for playback
- This reduces the amount of async loading we need for sound playback, and slightly reduces the delay for playing a sound when there is cached data available.
Modules
Downloads
- Removed default
mapsonly
level- Many servers rely on custom content and mastercomfig constantly overriding this setting may be confusing to many users who are not aware of this.
Lighting
- Enabled pixel visibility system by default for all levels
very_low
,low
,medium
make the game think it is building cubemaps, which shortcuts within the pixel visibility system. By keeping pixel visibility available to the game, other systems can skip line traces for visibility checks and use the shortcut path within pixel visibility.
Very Low
- Disabled lighting influence from normal lights on dynamic objects (players, buildings, etc) and props
- Disabled z buffer light cache
- Given that all normal lights do not cast upon dynamic objects and props, there is no use to the cache.
Low
- Skips lighting from lesser half of normal lights
- This should be a good tradeoff between performance and visibility, so that the most intense brightness still lights up objects while skipping levels of brightness which do not substantially improve visibility.
Medium
- Skips lighting from dim portion of lights
- This should always light objects when intended for visibility within indoor areas (e.g. BLU 1st spawn stairs on Upward), while clipping off the brightness levels that are there for realistic presence of lighting.
Ultra
- Skips lighting at a brightness value the engine considers to be practically 0 instead of literally 0
- Because lighting intensity follows a falloff equation, usually it takes a very long time for it to reach 0, which increases lighting calculations and decreases cache quality for an accuracy benefit too small to ever be considered noticeable by any monitor or human eye.
Shadows
Off
- Enforce simple shadow type for NextBots
- Possibly skips some shadow allocation code.
Water
Low
- Increased the distance that water turns black from 142 to 284 units
- This works more practically in all maps for in-water combat.
Particles
- Enforced particle retirement for
low
,medium
- The way the algorithm works is based on fill cost. Meaning, particles which take up less screen space are allowed to more expensive. However, this does not make sense in a traditional LOD sense, where objects less noticeable (further away/small) can cost less. Thus, given the compute time needed for testing particles for their render cost, it makes sense to always retire particles regardless, since increasing the threshold only makes particles further away not retire, which has very little benefit.
- Disabled particle retirement for
high
- See above explanation. It does not make sense to enforce particle retirement for
high
, nor is it worth the cost to only have further away particles not be retired.
- See above explanation. It does not make sense to enforce particle retirement for
Post Processing
- Removed
ultra
level- Although slightly more accurate, HDR float mode (3) was incomplete and did not have as many features as integer mode (2) as used in
high
.
- Although slightly more accurate, HDR float mode (3) was incomplete and did not have as many features as integer mode (2) as used in
- Fixed conflict with lighting module
Ropes
- Ropes now skip an unnecessary operation which sets max lighting intensity for ropes rather than averaged cubemap lighting
FPS Cap
- Added a new FPS Cap module
- Defaults to
fpscap=1000
for safety, but you can setfpscap=unlimited
if you have no chance of getting over 1000 FPS in cases where hit registration for shots matter
Messages
- Renamed
enable
toon
- Renamed
disable
tooff
- Added
hide
, which does the old behavior ofoff
before TF2 added a disable text chat feature
Outlines
- Added
medium
, which disables player outlines and nametags but enables objective outlines
Sound
very_high
now immediately traces sound- So that it can act as a high accuracy alternative to
ultra
, which enables higher "quality" effects which may negatively affect competitive use of sound for positional effects.
- So that it can act as a high accuracy alternative to
Addons
Bad GPU
- Removed
- The settings which Bad GPU set are now redundant or unnecessary with the mastercomfig base config.
Launch options
- Added
-gl_enablesamplerobjects
as an experimental launch option for Linux - Added
-glmenableclipplanes
as an experimental launch option for macOS
Website
- Improved sticky header on smaller width displays (especially mobile)
Documentation
- Added descriptions to modules which did not have them
- Fixed link to template to use new user zip template
- Improved description for enable hardware-accelerated GPU scheduling
- Removed VAC warning for native libraries
- Added security page to docs as well
- Improved organization of generating TF2 data page
- Updated page description for hidden console variables
- Updated style for launch option descriptions
- Fixed style on misconceptions and silly launch options pages for launch options
- Updated names in credits
- Updated addons documentation
- Fixed capitalization on badges
- Fixed various old mentions of the wiki instead of docs
- Fixed some broken documentation links on the contributing page
- Improved packaging prerequisites documentation
- Fixed typos
- Updated the loc...
8.103.0
Highlights: performance optimizations and bug fixes
Support me: Learn how you can support more updates to mastercomfig!
Early Access: Get early access to more frequent mastercomfig updates.
How to install: Instructions on setting up mastercomfig initially and get it working with your custom files.
How to update: Instructions on updating mastercomfig after you've already installed it.
Thanks to the following contributor(s) for this release: micwoj92, m00n
Comfig
- Added a user template, which contains all mastercomfig user files and explains how to use them
- This can solve issues where people did not know where or how to create an autoexec, class configs, or a modules file
- Reduced the latency of the following actions: MOTD show, server join UI show, opening class selection menu, closing class selection menu, stopping taunts, MvM buyback, MvM loot view finish, changing class in arena when class is forced, booing as ghost, starting a demo
- Reduced the latency of the following commands: status, ping, pause, unpause, extendfreeze, spectate, nextmap, timeleft, ignoremsg, kill, explode
- Added async partial loads being set on after first load, which improves subsequent server join times and prevents issues with animation and model mods losing their effect over time
- Re-enabled out of focus sleeping to improve alt-tab performance (both during an alt-tab and improving the responsiveness of other windows)
- Added periodically forcing re-sync with the server (like the record d;stop fix, but doesn't interfere with any demos!)
- Removed redundant settings from dxsupport that are set in the config, significantly reducing config size
- Increased heap memory cap (560MB, from 256MB) in dxsupport to allow for maximum data cache size (512MB, from 208MB) on supported systems
- Enabled texture streaming for large and nearly always loaded textures to save memory (and removed 1 unused texture)
- Enabled better sound concurrency heuristic for gun shots, for better performance and quality
- Disabled additional sound precaching due to internal game precache and async sound streaming
- Added a mastercomfig logo on start up
- Renamed
modules.cfg
download tomodules_template.cfg
- Renamed
template.cfg
download toautoexec_template.cfg
- Fixed
modules_template.cfg
having LF line endings, which do not work on older versions of Notepad - Fixed defaults within modules_template.cfg
- Updated version output format to proper date format
- Improved speed and safety of dev scripts
- Moved
mat_antialias
block to an alias:block_antialias
, which can be re-aliased by HUD authors to regain access to the command for testing
Presets
- Removed
sheens_speed=off
, which turned off specialized killstreak weapon sheens, for Low, Medium Low, and Medium- Many users were asking how to turn this back on, so it is best if on stays as the default.
Modules
SourceTV Compatability
- Added the sourcetv module, which allows the user to choose between faster spectating target changes or compatibility with SourceTV
- Defaults to
sourcetv=on
, for out of the box stability.
Water
- water=ultra now enforces full quality water even at long distances
Map Decals
- Added periodic full decal clearing, which clears permanent decals (non Low Priority decals) when
decals_art=off
Sprays
- Made sprays=on only last 1 round instead of 2
- sprays=on disables periodic full decal clearing
Messages
- Added support for latest TF2 update which disables text chat to
messages=disable
- Removed
messages=userchat
as it was not working
Voice Chat
- Forced client voice state update when changing voice_chat module
Mod Support
- Made mod_support=on default to prefer out of the box stability over performance
Docs
- Added widescreen support to some TF2 documentation pages
- Added instructions for Hardware-accelerated GPU scheduling on Windows
- Switched to native dark theme
- Updated launch options script for Linux to be safer
- Updated cvarlist and launch options for latest TF2 update on Linux
- Fixed native library information for Linux
- Removed "disabling shader compilation on start" for Linux, as mastercomfig has now made this obsolete
- Improved modules instructions
- Added changelog mention to update instructions
- Added FAQ entry for mastercomfig app
- Improved syntax highlighting in many places
- Switched to SVG logo from PNG to save some bytes
- Added some new mods/scripts to See Also
- Removed the Windows low violence mode guide, as it was removed in a recent TF2 update
- Removed Felik's config from credits as it was deleted
- Fixed possible formatting errors
- Updated the localization files
8.102.3
Highlights: bug fixes
Comfig
- Removed many options which were just set to their default value
- This saves a bit of space as well some execution time
- Removed a setting change which had no effect on runtime performance, despite its intentions
- Removed Mannpower map scripts, as they had no effect on clients (map scripts only run on servers)
- These scripts were intended to enable rope on Mannpower servers, which use grappling hooks
- Updated the localization files
Documentation
- Updated status badges to be the same style
- Fixed dead build status badge link
- Updated features documentation with latest information
- Added a link to Steam Chat
Presets
Medium High
- Changed
outlines=high
tooutlines=low
Modules
Packet Size
- Re-enabled packet compression for all existing levels
- Packet compression is used for sent voice data
- Removed
packet_size=balanced
, as it did not have a legitimate use case
Saver
- Renamed
packet_size=minimal
topacket_size=saver
- Updated settings to be even more aggressive with compression
Speed
- Added
packet_size=speed
which disables compression, for very fast (gigabit) networks where you want to save a bit on CPU usage- Please note that even in these cases, compression time is very small and should not be an issue on most CPUs, with network time savings being greater even on fast networks
Small
- Added
packet_size=small
, which uses the minimum packet size, for extremely bad routers
Bandwidth
- Added
bandwidth=128Kbps
Debug
- Fixed a potential exploit with
debug=off
Mod Support
- Fixed a possible case of a crash during game on some servers with with custom models/animations when using
mod_support=off
8.102.2
Highlights: bug fixes and performance improvements
Comfig
- Re-enabled glFlush for macOS/Linux (experimentally disabled last release)
- Should fix some slight input lag.
- Re-enabled filesystem buffer (experimentally disabled last release)
- Should fix stutters people were having.
- Disabled shorter voice fade out time, as it was causing user experience issues
- Updated modules template with latest module changes
- Removed space in module template to allow for easier uncommenting
Docs
- Added mention of NVCleanstall in Windows optimization
- Fixed facial animations tip for characters module
- Updated images to be served from mastercomfig.com (accelerated CloudFlare CDN)
- Fixed alt-text on screenshots
Website
- Images are now served by CloudFlare CDN instead of the docs site. Should speed up image loading on screenshot previews and for logos
- Compressed homepage images for faster loading
- HTML is now served and cached by CloudFlare CDN
- Removed mastercomfig 7 page (redirects to homepage)
- Optimized how version is retrieved by using a CloudFlare worker, which filters and caches from the GitHub API
- Optimized dependencies of version retrieval to just visuals, instead of blocking VPK downloads until version is retrieved
Modules
Mod Support
- Experimentally disabled submodel loading after first server load for
mod_support=off
8.102.1
Highlights: bug fixes
Thanks to the following contributor(s) for this release: Perkzitos, micwoj92, Wiethoofd
Comfig
- Updated main execution path to be single-line
- Fixed replays causing crashes
- Added NVCleanstall mention to Windows optimizations page
- Updated the localization files
Modules
Bandwidth
- Fixed a typo on the docs
- Made all levels named after their rate, for clarity and consistency:
- Renamed
bandwidth=restricted
tobandwidth=192Kbps
- Renamed
bandwidth=unrestricted
tobandwidth=6.0Mbps
- Renamed
bandwidth=max
tobandwidth=8.0Mbps
- Renamed
Level of Detail
- Fixed documentation from 8.102.0 changes
- Changed
lod=medium_high
tolod=medium
- The previous
lod=medium
was the same aslod=low
due to the 8.102.0 changes
- The previous
Addons
- Fixed new addons structure introduced in 8.102.0 not executing properly
8.102.0
Highlights: bug fixes and performance optimizations
Comfig
- Fully switched to new release scheme for documentation to allow for documentation to be patched in between releases
- Removed various forms of bloat in mastercomfig, which were causing weird issues with command executions and modules not being run for some PCs
- Used LF and removed spaces between quoted tokens to save space and improve parsing performance
- Experimentally skip glFlush for macOS/Linux
- Fixed a potential issue with sound mixer getting stuck in freezeframe state
- Forced set
voice_steal 2
in game overrides as TF2 sets to 1 on game start - Experimentally disable filesystem buffer
- Removed force setting
dsp_enhance_stereo 0
, as1
is set for headphones when high sound quality is selected in game - Skipped force setting backpack rarity setting
- Improved formatting in driver latency optimization section of Windows OS optimization docs
- Updated misconceptions page with new information and clarification of resolution/window launch options
- Re-enabled source auto-builds and checks for GitHub
- Updated the localization files
Presets
Very Low
- Removed crosshair alpha setting
- Made sound culling more aggressive (only allow 1 sound of the same kind)
Low
- Removed crosshair alpha setting
Medium Low
- Force disabled MvM Rome Vision
Medium
- Force disabled MvM Rome Vision
Modules
- Removed in-game module selection, as it was bloating the config and caused many other user experience issues
- Removed custom module support, as it was causing bloat/execution issues for the config in certain cases
- This is not selecting module user overrides as in
user/modules.cfg
. Instead, this is a feature that allowed users to create their own extensions to mastercomfig and make their own, completely new modules.
- This is not selecting module user overrides as in
Level of Detail
- Removed prop fade distance from
lod
module (moved toprops
)
Shadows
- Clarified that the shadows module affects Halloween boss shadow distance in addition to the already mentioned robots
Post Processing
- Fixed unnecessary auto exposure settings when HDR is disabled
Props
- Added prop fade distance to
props
fromlod
Ragdoll
- Fixed a potential issue where ragdolls sometimes did not disappear instantly on
ragdolls=off
- Added
ragdolls=low
to have ragdolls fade out as they fall down
Addons
- Updated how addons are executed to allow for modules to be set
- Removed custom addon support, as it was causing bloat/execution issues for the config in certain cases
Bad GPU
- Updated the description to be more clear about old GPUs
No Extra Models
- Removed No Extra Models, as it is no longer used at the moment
Transparent Viewmodels
- Fixed how post processing and anti-aliasing modules are set to avoid some bugs
8.101.2
Highlights: bug fixes
Thanks to the following contributor(s) for this release: Perkzitos, ghost-420, micwoj92, Leo40
Comfig
- Fixed voice cutting out when talking for a long time
- Fixed many typos, formatting issues, and value errors in the documentation
- Fixed hard to read text colors in the documentation
- Fixed a possible issue with voice transmissions
- Reworked the troubleshooting section to be more streamlined
- Updated the Windows optimizations to be more up to date
- Updated the localization files
- Changed preset screenshot preview UI
- Changed multi-download logic to be more reliable/faster
Presets
Very Low
- Fixed party chat staying on screen
Addons
- Removed module setting ability for addons
Bad GPU
- Removed
lighting_ex=low