> How to Set Up a CS2 Dedicated Server in 2026

Complete guide to setting up a Counter-Strike 2 dedicated server. Learn installation, configuration, and optimization for competitive or casual play.

Intermediate
1 hour

How to Set Up a CS2 Dedicated Server in 2026

Counter-Strike 2 replaced CS:GO in 2023, bringing updated server requirements and configuration. This guide covers everything you need to run your own CS2 server.

Why Host Your Own CS2 Server?

  • >Custom game modes not available in matchmaking
  • >Private practice for team scrims
  • >Community events and tournaments
  • >Custom maps and workshop content
  • >No tick rate limitations (128 tick competitive)
  • >Full control over rules and settings
---

Prerequisites

System Requirements

RequirementMinimumRecommended
CPU4 cores6+ cores
RAM8 GB16 GB
Storage50 GB100 GB SSD
Bandwidth10 Mbps100 Mbps
OSWindows 10 / LinuxWindows Server / Ubuntu

Network Requirements

  • >Static IP address (or dynamic DNS)
  • >Port forwarding ability
  • >Low latency connection
  • >Port 27015-27030 (TCP/UDP)
---

Step 1: Install SteamCMD

SteamCMD is required to download CS2 server files.

Windows Installation

  • 1.Create a folder: C:\steamcmd
  • 2.Download SteamCMD for Windows
  • 3.Extract to your folder
  • 4.Run steamcmd.exe
  • Linux Installation

    Ubuntu/Debian:

    Bash
    sudo apt update
    sudo apt install steamcmd
    

    Manual Linux Install:

    Bash
    mkdir ~/steamcmd && cd ~/steamcmd
    curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
    ./steamcmd.sh
    

    ---

    Step 2: Download CS2 Server

    Windows Download

    Create update_cs2.txt in your SteamCMD folder:

    @ShutdownOnFailedCommand 1
    @NoPromptForPassword 1
    force_install_dir C:\cs2_server
    login anonymous
    app_update 730 validate
    quit
    

    Run:

    BATCH
    steamcmd.exe +runscript update_cs2.txt
    

    Linux Download

    Create update_cs2.txt:

    @ShutdownOnFailedCommand 1
    @NoPromptForPassword 1
    force_install_dir /home/user/cs2_server
    login anonymous
    app_update 730 validate
    quit
    

    Run:

    Bash
    ./steamcmd.sh +runscript update_cs2.txt
    

    Download size: ~35 GB, expect 30-60 minutes.

    ---

    Step 3: Initial Server Configuration

    Create Server Config

    Navigate to cs2_server/game/csgo/cfg/ and create server.cfg:

    Config
    // Server Information
    hostname "My CS2 Server"
    sv_password ""           // Leave empty for public server
    rcon_password "your_rcon_password_here"
    
    // Server Settings
    sv_cheats 0
    sv_lan 0
    sv_region 0              // 0=US East, 1=US West, 2=Europe, 3=Asia, etc.
    
    // Game Settings
    mp_maxrounds 24
    mp_timelimit 30
    mp_roundtime 2
    mp_roundtime_defuse 2
    mp_freezetime 10
    mp_buytime 45
    mp_startmoney 800
    
    // Spectator/TV Settings
    tv_enable 1
    tv_port 27020
    tv_delay 105
    tv_maxclients 10
    tv_name "My Server GOTV"
    
    // Logging
    log on
    sv_logbans 1
    sv_logecho 1
    sv_logfile 1
    

    Gamemode Configuration

    CS2 supports multiple game modes. Create gamemode_*.cfg files:

    Competitive (gamemode_competitive.cfg):

    Config
    exec gamemode_competitive_server
    mp_friendlyfire 1
    mp_limitteams 1
    mp_autoteambalance 1
    mp_falldamage 1
    

    Casual (gamemode_casual.cfg):

    Config
    exec gamemode_casual_server
    mp_friendlyfire 0
    mp_limitteams 0
    mp_autoteambalance 0
    mp_falldamage 0
    

    ---

    Step 4: Start the Server

    Windows Start Script

    Create start_server.bat:

    BATCH
    @echo off
    cd /d C:\cs2_server
    cs2.exe -dedicated -ip 0.0.0.0 -port 27015 +map de_dust2 +game_type 0 +game_mode 1 -maxplayers 20 -tickrate 128 +exec server.cfg
    

    Linux Start Script

    Create start_server.sh:

    Bash
    #!/bin/bash
    cd /home/user/cs2_server
    ./cs2 -dedicated -ip 0.0.0.0 -port 27015 +map de_dust2 +game_type 0 +game_mode 1 -maxplayers 20 -tickrate 128 +exec server.cfg
    

    Make executable:

    Bash
    chmod +x start_server.sh
    

    Start Parameters Explained

    ParameterDescription
    -dedicatedRun as dedicated server
    -ip 0.0.0.0Bind to all interfaces
    -port 27015Server port
    +map de_dust2Starting map
    +game_type 00=Classic, 1=Arms Race, 2=Deathmatch
    +game_mode 10=Casual, 1=Competitive, 2=Wingman
    -tickrate 128Server tick rate
    -maxplayers 20Maximum player slots
    ---

    Step 5: Game Mode Types

    Classic Competitive

    Bash
    +game_type 0 +game_mode 1
    
    • >5v5 format
    • >Friendly fire enabled
    • >Economy system
    • >Competitive ruleset

    Classic Casual

    Bash
    +game_type 0 +game_mode 0
    
    • >Larger teams
    • >No friendly fire
    • >Free armor
    • >More relaxed rules

    Wingman

    Bash
    +game_type 0 +game_mode 2
    
    • >2v2 format
    • >Smaller maps
    • >Fast rounds

    Deathmatch

    Bash
    +game_type 1 +game_mode 2
    
    • >Respawn enabled
    • >Weapon selection
    • >Score-based

    Arms Race

    Bash
    +game_type 1 +game_mode 0
    
    • >Gun game mode
    • >Weapon progression
    • >First to knife wins
    ---

    Step 6: Map Workshop Integration

    Adding Workshop Maps

  • 1.Find map on Steam Workshop
  • 2.Note the Workshop ID from URL
  • 3.Create host_workshop_maps.txt in csgo/ folder:
  • workshop_map_id_1
    workshop_map_id_2
    workshop_map_id_3
    

    Host Workshop Map

    host_workshop_map WORKSHOP_ID
    

    Create Map Collection

  • 1.Go to Steam Workshop
  • 2.Create collection
  • 3.Add maps to collection
  • 4.Note collection ID
  • 5.Add to launch parameters:
  • Bash
    +host_workshop_collection COLLECTION_ID +workshop_start_map WORKSHOP_ID
    

    ---

    Step 7: RCON and Administration

    Using RCON

    Connect via console or tools:

    In-game console:

    rcon_password your_password
    rcon status
    rcon changelevel de_inferno
    rcon kick player_name
    rcon banid 0 STEAM_ID
    

    Admin Plugins

    For advanced administration, consider:

    • >SourceMod - Primary admin framework
    • >CS2 Server Tools - CS2-specific utilities

    SourceMod Installation

  • 1.Download SourceMod
  • 2.Download MetaMod
  • 3.Extract to cs2_server/game/csgo/addons/
  • 4.Add admins in addons/sourcemod/configs/admins_simple.ini:
  • "STEAM_0:1:12345678" "99:z"  // Full admin
    

    ---

    Step 8: Server Optimization

    Network Settings

    Add to server.cfg:

    Config
    // Network Optimization
    sv_maxrate 128000
    sv_minrate 128000
    sv_maxcmdrate 128
    sv_mincmdrate 128
    sv_maxupdaterate 128
    sv_minupdaterate 128
    sv_client_cmdrate_difference 0
    

    Tick Rate

    Higher tick rates require more CPU:

    Tick RateCPU UsageRecommended For
    64LowCasual, Deathmatch
    102.4MediumCommunity servers
    128HighCompetitive, Scrims

    CPU Core Assignment (Linux)

    Bash
    taskset -c 0,1,2,3 ./cs2 -dedicated ...
    

    ---

    Step 9: Firewall Configuration

    Windows Firewall

    POWERSHELL
    # Allow CS2 server
    netsh advfirewall firewall add rule name="CS2 Server" dir=in action=allow protocol=tcp localport=27015-27030
    netsh advfirewall firewall add rule name="CS2 Server UDP" dir=in action=allow protocol=udp localport=27015-27030
    

    Linux iptables

    Bash
    # Allow CS2 ports
    iptables -A INPUT -p tcp --dport 27015:27030 -j ACCEPT
    iptables -A INPUT -p udp --dport 27015:27030 -j ACCEPT
    

    UFW (Ubuntu)

    Bash
    sudo ufw allow 27015:27030/tcp
    sudo ufw allow 27015:27030/udp
    

    ---

    Step 10: Port Forwarding

    Required Ports

    PortProtocolPurpose
    27015TCP/UDPGame server
    27020UDPSource TV
    27005UDPClient

    Router Configuration

  • 1.Access router admin panel
  • 2.Find Port Forwarding settings
  • 3.Create rules for each port
  • 4.Forward to your server's local IP
  • 5.Save and restart router
  • ---

    Troubleshooting

    Server Not Appearing in Browser

    Causes:

    • >Port forwarding incorrect
    • >Firewall blocking
    • >Incorrect IP binding
    Solutions:
  • 1.Verify ports with canyouseeme.org
  • 2.Check firewall rules
  • 3.Use -ip 0.0.0.0 to bind all interfaces
  • High Latency / Lag

    Causes:

    • >Insufficient CPU
    • >Network congestion
    • >High tick rate for hardware
    Solutions:
  • 1.Lower tick rate
  • 2.Reduce maxplayers
  • 3.Monitor CPU usage
  • 4.Check bandwidth
  • Players Can't Connect

    Causes:

    • >Wrong password
    • >Steam maintenance
    • >Client version mismatch
    Solutions:
  • 1.Verify server is updated
  • 2.Check sv_password setting
  • 3.Ensure server is running: status
  • Server Crashes

    Causes:

    • >Corrupted files
    • >Plugin conflicts
    • >Memory issues
    Solutions:
  • 1.Validate files: app_update 730 validate
  • 2.Remove plugins temporarily
  • 3.Check crash logs in logs/
  • ---

    Running as a Service (Linux)

    Systemd Service

    Create /etc/systemd/system/cs2.service:

    INI
    [Unit]
    Description=CS2 Dedicated Server
    After=network.target
    
    [Service]
    Type=simple
    User=cs2
    WorkingDirectory=/home/cs2/cs2_server
    ExecStart=/home/cs2/cs2_server/start_server.sh
    Restart=always
    RestartSec=30
    
    [Install]
    WantedBy=multi-user.target
    

    Enable:

    Bash
    sudo systemctl enable cs2
    sudo systemctl start cs2
    sudo systemctl status cs2
    

    ---

    Updating the Server

    Automatic Updates (Windows)

    Create update_cs2.bat:

    BATCH
    @echo off
    C:\steamcmd\steamcmd.exe +runscript C:\steamcmd\update_cs2.txt
    

    Schedule with Windows Task Scheduler.

    Automatic Updates (Linux)

    Create cron job:

    Bash
    crontab -e
    

    Add:

    0 4 * * * /home/user/steamcmd/steamcmd.sh +runscript /home/user/update_cs2.txt
    

    ---

    Conclusion

    Your CS2 server is now ready for action. Remember to:

    • >Keep the server updated
    • >Monitor performance
    • >Regular backups of configs
    • >Set up admin tools for management
    For competitive play, ensure 128 tick rate and proper network settings. For casual servers, lower requirements are acceptable.

    Next steps:

    • >Install SourceMod for admin features
    • >Add custom maps via Workshop
    • >Configure GOTV for spectating
    • >Set up Discord integration