Ive always been frustrated with the options available to mute other players in CounterStrike: Global Offensive,
Whether you’re getting yelled at in a clutch round or just joined a noisy server where people are spamming their music, you cant be expected to mute and un-mute individual players in dire situations. I found that some of the existing mute functions online are not easy to use, require too many keys, or can be accidentally kept on – leaving you clueless when your team mates are actually communicate to you in future rounds – My bind aims to solve these issues.
Before I show you the bind, lets first look at the current alternatives available for muting all players in CSGO:
The existing solutions
Below are the common techniques of muting players in CSGO:
Block individual players via the UI
Blocking players individually requires you to open up the main menu during a firefight and be vulnerable for at least 2 seconds while you go through and manually mute each noisy teammate.
Set up a voice toggle key using: bind BindToggle “[KEY]” “voice_enable”
This works well, but there is no indication if your toggle bind is on or off, as enabling mute hides the visual popup of a player talking in the server, ive left on for hours using this setting without knowing it, and missed some vital callouts.
configure 2 separate mute / un-mute keys using: voice_scale 0 / voice_scale 1
Including your voice chat button, this solution requires 3 keys, while its one of the better solutions, I would prefer one single mute key, as I always forget which key is mute, and which is unmute.
Autoexec mute scripts
there are many one page scripts you can find online,
but as a developer I want to understand all of the code inside them, especially when I have issues trying to get them to work or modifying them.
I also dont want to have to find all my autoexec code to deploy on any new PC’s I play on
(Tip: with the solution im about to show you, you can just google “best mute config” and this blog post comes up)
The actual code
Today I will be documenting my new mute function I wrote for myself:
bind "KP_UPARROW" "voice_scale 0;"; bind "v" "+voicerecord; voice_scale 1;"
Note: Only copy code from my post seen in the code boxes (like above)
there are issues copying the double quotes into CSGO from anywhere else in this article.
How to enter this mute key bind
You can enter the mute bind seen above by:
– Enabling the developer console (Options > Game Settings > Enable Developer Console – 5th from the top)
– Then Opening the developer console (default “~” key)
– Then Pasting the commands into the console (together, or each line individually) and press Enter.
How to mute people
The above bind sets your mute key to NUMPAD 8 on the right number pad.
it mutes everyone by setting their voice transmit volume to zero,
This means you still get to see when people are talking (eg Fig1)
but you wont’t hear them until you start talking yourself (by pressing the voice key).
How to unmute people
Once you are ready to hear people again, you just go ahead and press the “push to talk key” which is now set to “V”
The beauty / simplicity of this bind is that using voice chat is also the un-mute key!!
Explanation and Customization
I will go on further to explain how you might want to customize the commands for yourself.
(Eg. if you dont want “V” as your push to talk key)
The first line
bind "KP_UPARROW" "voice_scale 0;"
The first line is a single command, we are binding voice_scale to zero (silencing players) to the NUMPAD 8 key
You can swap “KP_UPARROW” out with any other key such as “K” (especially if your keyboard dosnt have a full numpad)
The second line
bind "v" "+voicerecord; voice_scale 1;"
This is actually 2 commands – which both happen at the same time – when pressing “V”,
– the +voicerecord action (the action of using voice chat)
– then sets everyone’s voice scale (you loudness you hear people at) back to full volume
How to customize
So lets say you want to change your mute key to “M”,
your voice chat key to “K”,
and for some reason you want other peoples voice volume audible to you at 75%
You would customize the binds to read as per below:
bind "M" "voice_scale 0;" bind "K" "+voicerecord; voice_scale 0.75;"
Upsides to our new solution
– “voice_scale 0” (which we are using) is a more elegant alternative to “voice_enable 0” because when using “voice_enable 0” you never actually know when people are muted, you dont get the visual reminder on screen (seen above in Fig.1) when a muted person is trying to talk to you.
– No autoexec requirement
– No Aliases (Aliases are stored binds that are removed when you close CSGO)
– Doesn’t require you to remember 3 dedicated keys for “mute”, “unmute” and “voice chat”
– you’ll never have the frustration of playing half a comp game and realizing you haven’t heard your teammates all game because you accidentally had “voice_enable 0″ ages before the current game even started.
Downsides to this solution
– You have to hardcode your “voice_scale” setting(volume at which people speak to you)
If you go into the menu and change this value with the slider, every time you use the voice chat key, it will override that value to 100% voice receive volume.
(not a big deal for me, I always use 100%)
– You have to use the push to talk button to un-mute people (small drawback for simplicity)
you may occasional have to quickly tap voice-chat to hear people again during games, which is visible to everyone.
– Needs to be configured once on every computer (most mute configs require this anyway)
But you can easily find this bind again by typing into google “Best mute config” and using this post!
This mute option isn’t going to be for everyone,
this is simply the closest I could get a mute config that worked the way I wanted it
a mute config that actually informed you when you had people muted. not requiring 3 pages of auto exec to apply, or multiple keys to manage it.
I hope some others can also get some use out of my new mute binds!