Surfing in Counter‑Strike 2 is all about controlled speed and air movement. This guide gives you a fast copy‑paste setup, tuned presets for different surf styles, quality‑of‑life binds, a plug‑and‑play surf.cfg, and fixes to common errors.
Quick copy‑paste (local practice): open the console and paste the block below.
sv_cheats 1; bot_kick;
mp_freezetime 0; mp_round_restart_delay 0; mp_roundtime 60; mp_warmup_end;
sv_accelerate 10; sv_airaccelerate 800; sv_maxvelocity 7200; sv_maxspeed 620;
sv_enablebunnyhopping 1; sv_autobunnyhopping 1; sv_falldamage_scale 0
If a command prints Unknown command or cheats must be enabled, see the troubleshooting section below.
What the key surf commands actually do
- sv_airaccelerate – how quickly you can change speed/direction while in the air. Higher = easier surf control.
- sv_accelerate – ground acceleration. A bit higher than default makes take‑offs smoother.
- sv_maxvelocity – hard speed ceiling for moving entities (players, props). Raise it so long ramps don’t cap your speed.
- sv_maxspeed – caps ground speed; raising it reduces ground‑speed choke when entering ramps.
- sv_enablebunnyhopping / sv_autobunnyhopping – removes velocity clamping and, optionally, lets you hold jump to auto‑bhop. Great for learning and for “fun” surf.
- Round QoL – mp_freezetime, mp_roundtime, mp_warmup_end keep you surfing uninterrupted. bot_kick clears the map.
- sv_falldamage_scale – set to 0 to avoid deaths while learning.
Tip: community surf servers usually enforce their own settings. Your local commands won’t override a server’s config.
Ready‑made presets (pick one)
Use the console or drop the matching block into your surf.cfg.
1) Beginner / Fun Surf (easiest control)
sv_cheats 1
sv_accelerate 10
sv_airaccelerate 800
sv_maxvelocity 7200
sv_maxspeed 620
sv_enablebunnyhopping 1
sv_autobunnyhopping 1
sv_falldamage_scale 0
When to use: learning angles, casual servers, long curved ramps.
2) Skill Surf (Tiered) (closer to classic skill surf)
sv_cheats 1
sv_accelerate 10
sv_airaccelerate 150
sv_maxvelocity 3500
sv_maxspeed 620
sv_enablebunnyhopping 1
sv_autobunnyhopping 0
sv_falldamage_scale 0
When to use: practicing aim‑heavy or tighter ramp segments; more punishing than “fun” surf.
3) Combat Surf (for scrims with friends)
sv_cheats 1
sv_accelerate 10
sv_airaccelerate 400
sv_maxvelocity 5000
sv_maxspeed 620
sv_enablebunnyhopping 0
sv_autobunnyhopping 0
mp_free_armor 1; mp_freezetime 0; mp_buytime 9999; mp_restartgame 1
sv_falldamage_scale 0
When to use: you want guns and fights without ridiculous autobhop speed.
Preset notes
- Leave gravity at default unless a map author explicitly requests otherwise.
- You can mix values between presets—just avoid setting sv_airaccelerate so low that ramps become frustrating (anything ≥150 is workable; 800 feels very forgiving).
Further read: sv_cheats Guide
Set up a local surf session (workshop & private lobby)
- Enable the console: Settings → Game → Enable Developer Console → Yes.
- Load a surf map: Create a Workshop match and pick a surf map you’ve subscribed to.
- Open console (~) and paste the Quick copy‑paste block or a Preset.
- (Optional) Add friends: create a private lobby and invite; your host settings apply.
- Start surfing: avoid holding W, ride the ramp with A/D and gentle mouse movement.
Want map knowledge while you grind? See our callouts for Mirage, Dust 2, Inferno, Nuke and more.
Must‑have binds for surf
Paste these once; they’ll stick for the session.
Scroll‑wheel jump (precision hops)
bind mwheeldown “+jump”; bind mwheelup “+jump”; bind space “+jump”
Toggle noclip (fly to tricky starts / recover a fall)
bind v noclip
Quick restart (community servers with SurfTimer)
bind f1 “say !r” // or !restart
bind f2 “say !stage” // jump to current stage (if enabled)
(These only work on servers that support the commands.)
Further read: All CS2 Practice Commands
A plug‑and‑play surf.cfg
Drop this file in your csgo/cfg folder, then run exec surf in console.
drop into csgo/cfg as surf.cfg, then type in console: exec surf
sv_cheats 1
// Pick your preset by uncommenting ONE block ↓
// ——— BEGINNER / FUN ———
// sv_accelerate 10
// sv_airaccelerate 800
// sv_maxvelocity 7200
// sv_maxspeed 620
// sv_enablebunnyhopping 1
// sv_autobunnyhopping 1
// sv_falldamage_scale 0
// ——— SKILL SURF (TIERED) ———
// sv_accelerate 10
// sv_airaccelerate 150
// sv_maxvelocity 3500
// sv_maxspeed 620
// sv_enablebunnyhopping 1
// sv_autobunnyhopping 0
// sv_falldamage_scale 0
// ——— COMBAT SURF ———
// sv_accelerate 10
// sv_airaccelerate 400
// sv_maxvelocity 5000
// sv_maxspeed 620
// sv_enablebunnyhopping 0
// sv_autobunnyhopping 0
// mp_free_armor 1; mp_freezetime 0; mp_buytime 9999; mp_restartgame 1
// sv_falldamage_scale 0
// Quality‑of‑life
mp_roundtime 60
mp_warmup_end
mp_round_restart_delay 0
bot_kick
// Helpful binds
bind mwheeldown “+jump”
bind mwheelup “+jump”
bind v “noclip”
Tip: Add exec surf to your autoexec.cfg if you want these to load each time you play workshop surf.
Advanced tweaks (use only if you know why)
- sv_friction (default ~5.2) – lower friction can make slides feel longer but can break map balance. Prefer adjusting airaccelerate first.
- sv_stopspeed – minimum ground speed before you fully stop. Rarely needed for surf.
- sv_gravity – most surf maps are authored for default gravity; changing it can invalidate jumps.
Troubleshooting
“Unknown command”
• You’re on a community server that blocks the command, or the server uses a plugin that manages movement. Use local practice or find a different server.
• Double‑check spelling/hyphens: it’s sv_autobunnyhopping (one word), sv_maxvelocity, etc.
“Cheats are not enabled on this server”
• You must run sv_cheats 1 on your own local/private lobby. Public servers usually disallow cheats.
Too fast / can’t control ramps
• Lower sv_airaccelerate (try 400 → 150).
• Reduce sv_maxvelocity (e.g., 7200 → 3500).
Too slow / keep falling off
• Raise sv_airaccelerate (e.g., 150 → 800).
• Add scroll‑wheel jump binds for smoother inputs.
Bots keep joining
• bot_kick to remove current bots, bot_quota 0 to prevent spawns in some modes.
FAQs
Is autobhop mandatory?
No. Many skill‑surf servers disable it to keep runs challenging. Use the Skill preset (autobhop off) for practice that transfers better to those servers.
What values do “real” servers use?
It varies by map and community. A common baseline is sv_airaccelerate 150 for classic skill surf and 400–800 for casual/fun surf. Adjust to taste.
Do these commands work in Premier/Matchmaking?
No. Surf is for workshop and community servers. For competitive play tips and rank progression, see our CS2 ranks guide.
Can I use this to train aim/movement?
Absolutely. Pair surf practice with a clean crosshair (see how to change your crosshair in CS2) and hop into deathmatch between surf sessions.
Related reads
- CS2 maps overview — learn map pools and modes you can practice alongside surf.
- How to change to left hand in CS2 — preferred viewmodel can help with surf visibility.
- Map knowledge while you chill‑surf: callouts for Mirage, Overpass and Anubis.