Custom Telemetry Scripts In Counter-Strike 2

Table of Contents

Introduction

In older Counter-Strike versions, players used net_graph command to check FPS, ping, packet loss, and general network stability. In Couner Strike 2, the command is gone, and Valve replaced it with the new CS2 Telemetry system.

CS2 Telemetry lets you monitor frame time, FPS, ping, jitter, packet loss, and network quality directly on the HUD. You can enable it through the settings, but if you want faster access during a game, a custom telemetry bind or script is a much better solution. The built-in overlay already covers the main real-time network and performance stats, while cl_showfps can be added to the same script for extra FPS, frame time, server-side data, and even .csv logging when needed.

In this guide, I’ll show how to use the main telemetry commands in CS2, how to build a telemetry bind for instant on-demand stats, and how to load everything through a config (.cfg) file, autoexec.cfg file, or Steam launch options.

CS2 Telemetry Commands & net_graph Alternatives

Telemetry in Counter-Strike 2 replaces the old net_graph system and gives you a cleaner way to track your performance. The main console variables (cvars) control what is displayed on your HUD - FPS, ping, packet loss, or even detailed network graphs.

Here are the key commands you can use:

Command What it shows Values
cl_hud_telemetry_frametime_show Frame time and FPS 0 = Off; 1 = Only if performance is poor; 2 = Always show
cl_hud_telemetry_ping_show Latency (ping) 0 / 1 / 2
cl_hud_telemetry_net_misdelivery_show Packet loss 0 / 1 / 2
cl_hud_telemetry_net_detailed Real-time network jitter graph 0 / 1 / 2
cl_hud_telemetry_net_quality_graph_show Combined network quality graph (loss, jitter, ping) 0 / 1 / 2

Setting a command to 1 makes it appear only when there’s a problem like lag spikes, high ping, packet loss). Using 2 forces it to always stay visible.

Alternative FPS Command: cl_showfps

If you want to get extra FPS data, you can use the classic cl_showfps command, which has several modes:

  • cl_showfps 0 -> Off
  • cl_showfps 1 -> Simple FPS counter
  • cl_showfps 2 -> Adds smoothing and frame timing stats
  • cl_showfps 3 -> Server-side timing information
  • cl_showfps 4 -> Detailed summary with logging to a .csv file (great for benchmarking)

Best CS2 Telemetry Binds and Scripts

Three in-game HUD screenshots from Counter-Strike 2 showing telemetry data: FPS, ping, jitter, packet loss, and network quality graphs

Now let’s look at a few ways to build telemetry scripts in Counter-Strike 2. You can bind a key to show performance data only when needed. Some players prefer a press-and-release version, while others use a toggle. Both work well - the choice depends on whether you want telemetry to appear briefly or stay on screen longer.

Press & Release Telemetry Script

This is the simplest and most natural option. You press and hold a key to see your performance and network stats - and everything disappears as soon as you release it. That means your HUD stays clean during fights, but you can always pull up detailed stats on demand.

alias +drow_stat "cl_hud_telemetry_frametime_show 2; cl_hud_telemetry_ping_show 2; cl_hud_telemetry_net_detailed 2; cl_hud_telemetry_net_misdelivery_show 2; cl_hud_telemetry_net_quality_graph_show 2"
alias -drow_stat "cl_hud_telemetry_frametime_show 0; cl_hud_telemetry_ping_show 0; cl_hud_telemetry_net_detailed 0; cl_hud_telemetry_net_misdelivery_show 0; cl_hud_telemetry_net_quality_graph_show 0"
bind "v" "+drow_stat"

Updated: With Scoreboard (TAB)

A better variation is to combine telemetry with the scoreboard. Every time you press TAB to check scores, telemetry also appears. This way you don’t need an extra key, and performance stats become part of your natural routine.

alias +drow_stat "cl_hud_telemetry_frametime_show 2; cl_hud_telemetry_ping_show 2; cl_hud_telemetry_net_detailed 2; cl_hud_telemetry_net_misdelivery_show 2; cl_hud_telemetry_net_quality_graph_show 2; +showscores"
alias -drow_stat "cl_hud_telemetry_frametime_show 0; cl_hud_telemetry_ping_show 0; cl_hud_telemetry_net_detailed 0; cl_hud_telemetry_net_misdelivery_show 0; cl_hud_telemetry_net_quality_graph_show 0; -showscores"
bind "TAB" "+drow_stat"

This makes telemetry feel seamless and ensures you only see it when you're not actively fighting.

Toggle Telemetry Script

If you’d rather enable telemetry for longer periods without holding a key, use a toggle script. Press once to turn it on, and press again to turn it off.

alias "telemetry" "drow_stat_on"
alias drow_stat_on "cl_hud_telemetry_frametime_show 2; cl_hud_telemetry_ping_show 2; cl_hud_telemetry_net_detailed 2; cl_hud_telemetry_net_misdelivery_show 2; cl_hud_telemetry_net_quality_graph_show 2; alias telemetry drow_stat_off"
alias drow_stat_off "cl_hud_telemetry_frametime_show 0; cl_hud_telemetry_ping_show 0; cl_hud_telemetry_net_detailed 0; cl_hud_telemetry_net_misdelivery_show 0; cl_hud_telemetry_net_quality_graph_show 0; alias telemetry drow_stat_on"
bind "v" "telemetry"

It can also be written as a toggle bind:

bind "v" "toggle cl_hud_telemetry_frametime_show 2 0; toggle cl_hud_telemetry_ping_show 2 0; toggle cl_hud_telemetry_net_detailed 2 0; toggle cl_hud_telemetry_net_misdelivery_show 2 0; toggle cl_hud_telemetry_net_quality_graph_show 2 0"

Alias vs. Toggle Binds

The alias version runs silently and always sets the exact values you want. The toggle version spams the console with messages and depends on the current state of each variable, which can sometimes be inconsistent. For stability and clarity, aliases are the better choice here.

Add cl_showfps for Full Diagnostics

You can extend either script to include cl_showfps, which shows smoothed FPS values and frame timing stats. This makes the overlay even more powerful for diagnosing performance drops.

Alias version with cl_showfps:

alias "telemetry" "drow_stat_on"
alias drow_stat_on "cl_hud_telemetry_frametime_show 2; cl_hud_telemetry_ping_show 2; cl_hud_telemetry_net_detailed 2; cl_hud_telemetry_net_misdelivery_show 2; cl_hud_telemetry_net_quality_graph_show 2; cl_showfps 2; alias telemetry drow_stat_off"
alias drow_stat_off "cl_hud_telemetry_frametime_show 0; cl_hud_telemetry_ping_show 0; cl_hud_telemetry_net_detailed 0; cl_hud_telemetry_net_misdelivery_show 0; cl_hud_telemetry_net_quality_graph_show 0; cl_showfps 0; alias telemetry drow_stat_on"
bind "v" "telemetry"

Bind toggle version with cl_showfps:

bind "v" "toggle cl_hud_telemetry_frametime_show 2 0; toggle cl_hud_telemetry_ping_show 2 0; toggle cl_hud_telemetry_net_detailed 2 0; toggle cl_hud_telemetry_net_misdelivery_show 2 0; toggle cl_hud_telemetry_net_quality_graph_show 2 0; toggle cl_showfps 2 0"

How to Create & Load CS2 Telemetry Scripts

You don’t need to re-type commands in the developer console every time you launch the game. The smarter way is to save your scripts into configuration files (.cfg) so they can be executed manually or even loaded automatically at startup. This makes your setup permanent and easy to manage.

CS2 scripts are based purely on Source 2’s native console commands. They don’t rely on external software or third-party tools, which means they are safe to use in game - VAC system will not ban you for alias or toggle commands. The only exception could be certain third-party leagues or private servers that apply their own rules, so always double-check if you play outside of Valve’s official matchmaking.

Here are the main ways to create and load scripts and binds in Counter-Strike 2.

Create the .cfg file

Screenshot of Windows File Explorer highlighting the 'my123.cfg' file with the 'Hide extensions for known file types' option checked in the File Explorer Options dialog
How to Show File Extensions in Windows Explorer

First, locate your CS2 configuration folder:

..\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\

Inside that folder, create a new text file. You can name it with letters, numbers, underscores, or dashes (e.g, my123.txt). Then change the file extension from .txt to .cfg (e.g, my123.cfg).

If you don’t see file extensions in Windows, open Control Panel -> File Explorer Options -> View tab, and uncheck "Hide extensions for known file types".

Open it with a text editor like Notepad, paste in your script(s), and save. The file is now ready to be executed inside CS2.

Load via Console (exec)

CS2 Settings Screen - Enable Developer Console
Enable the CS2 developer console
  1. Launch Counter-Strike 2.
  2. Go to Settings -> Game and set Enable Developer Console to Yes.
  3. Press the ~ key (default) to open the console.
  4. Type: exec my123
  5. Hit Enter, close the console, and your script will be active.

This method is fine for testing or when you want manual control.

Auto-run via Steam Launch Options

Setting config file execution in Steam Launch Options for Counter-Strike 2
Auto-execute a custom config file in CS2 Launch Options
  1. Open Steam, right-click Counter-Strike 2, and select Properties.
  2. Under the General tab, find Launch Options.
  3. Add this: +exec my123.cfg

Now your script will run automatically at every launch without extra steps.

Auto-run via autoexec.cfg

File explorer showing the path to autoexec.cfg in Counter-Strike 2 under game data-lazy-src=
  1. In the CS2 \cfg\ folder, create autoexec.cfg file.
  2. Add inside: exec my123.cfg or you commands, binds and/or scripts.
  3. (Optional) Organize scripts in subfolders:
    • Place the file in /cfg/myscripts/ folder and run: exec myscripts/my123.cfg

For more tips on managing configs, check out these guides:

Tips for Using CS2 Telemetry

Telemetry is powerful, but it’s easy to misuse. Here are a few tips to get the most out of it without hurting your gameplay.

Don’t keep telemetry on all the time. Having every graph on-screen looks cool, but it can clutter your HUD and slightly reduce performance. Use scripts or toggles so you only see telemetry when you actually need it - during testing, diagnosing lag spikes, or checking server quality.

Use classic cl_showfps for benchmarking. When you enable cl_showfps 4, the console creates a log file with frame time data in your \csgo\ folder. These CSV logs are useful for comparing how different maps, graphics settings, or driver updates affect your FPS. Think of it as your personal benchmark tool.

Combine network and frame data. Running both cl_showfps and telemetry together lets you see if FPS drops are caused by hardware limits or by network instability. For example: smooth FPS but red spikes in the telemetry graph = network issue. Stutter with stable ping = system bottleneck.

Watch for warning colors. Yellow or red spikes usually mean packet loss or jitter. If you see them often, it’s a sign to check your connection, router, or even your ISP.

Conclusion

Custom telemetry scripts make CS2’s built-in performance tools much easier to use in game. Instead of keeping extra stats on screen all the time, you can call them up only when needed to check FPS, monitor connection quality, test changes, and better understand what is happening in CS2.

A simple bind or alias gives you much more control over how telemetry behaves. You can use a quick press-and-release version, a toggle, or extend the script with cl_showfps for additional performance data and benchmarking.

CS2 Telemetry Scripts FAQ

A glowing “FAQ” displayed on a futuristic holographic panel, surrounded by floating question marks and digital circuitry within a cosmic, sci-fi environment
How can I make telemetry appear only when I press TAB?

Bind telemetry together with the scoreboard using an alias script (show on TAB).

What’s the difference between alias and toggle?

The alias command sets exact values and runs silently; toggle command flips cvars based on current state and spams the console.

Where are my configs saved?

Inside the CS2 configs folder: ..\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\

Can I run my old CS:GO net_graph configs in CS2?

No, the net_graph command is deprecated.

What if my telemetry overlay doesn’t show?

Check that the script was executed (exec my123), values are set to 1 or 2, and that no other binds overwrite your key.

Does telemetry affect game performance?

Slightly. Running detailed graphs all the time may reduce FPS. Use scripts to toggle on/off as needed.

Continue Reading

A sleek gaming-themed graphic for "CS2 Useful Binds," featuring a glowing keyboard and mouse with bind icons like grenades, bombs, and FPS stats.
Counter-Strike 2 Useful Binds

Counter-Strike 2 Useful Binds – Full Guide 2026 Table of Contents Counter-Strike 2 is a game where milliseconds decide whether you clutch the round or end up on the scoreboard as another frag. Every action counts – switching weapons, dropping the bomb, throwing a grenade with perfect timing, or simply

Read More
Leave a Reply

Your email address will not be published. Required fields are marked *