Skip to main content

Overview

Dedicated servers are the core infrastructure for hosting CS2 matches in 5Stack. You can configure servers to connect to your existing CS2 server infrastructure or deploy them on Game Server Nodes for automated management.
For automated server deployment, see Game Server Nodes. The dedicated server setup process requires the 5Stack Game Server Plugin: https://github.com/5stackgg/game-server

Server Types

5Stack supports two primary server configurations:

Ranked Server

Servers configured for competitive ranked matches with the 5Stack plugin integration.

Valve Presets

Public servers using standard Valve game modes (Casual, Competitive, Deathmatch, etc.).

Creating a Dedicated Server

Navigate to Dedicated Servers and click Create to add a new server.

Server Configuration Options

1. Server Mode Selection

Choose between Ranked or Valve preset modes:
// Server types available
const serverTypes = {
  Ranked: 'Ranked',  // Competitive 5Stack matches
  Casual: 'Casual',  // Valve casual mode
  Competitive: 'Competitive',  // Valve competitive mode
  Deathmatch: 'Deathmatch',
  // ... other Valve modes
};

2. Deployment Method

Select a Game Server Node for automated deployment:
  • Server is automatically provisioned
  • CS2 installation and updates managed automatically
  • Region inherited from node configuration
  • Port assignment handled automatically
// Example: Creating a server on a game server node
const serverConfig = {
  label: 'US East - Server 1',
  use_game_server_node: true,
  game_server_node_id: 'node-uuid',
  type: 'Ranked',
  rcon_password: 'secure-password'
};

3. Additional Configuration

For public (Valve preset) servers:
  • Connect Password: Optional password to restrict server access
  • Max Players: Maximum player count (1-32)
// Public server additional settings
const publicServerConfig = {
  type: 'Casual',
  connect_password: 'optional-password',
  max_players: 32
};

Server Management

Server Details Page

Access detailed server information by clicking on any server in the list. The server details page (/dedicated-servers/[id]) provides:

Server Status

Real-time connection status, plugin version, and RCON connectivity

Enable/Disable

Toggle server availability for match scheduling

RCON Commander

Execute console commands directly on the server

Service Logs

View real-time server logs (for Game Server Node deployments)

Plugin Configuration

For Ranked servers, the 5Stack plugin requires configuration at:
addons/counterstrikesharp/config/plugins/FiveStack/FiveStack.json
Required Configuration:
{
  "WS_DOMAIN": "wss://your-instance.5stack.gg",
  "API_DOMAIN": "https://api.your-instance.5stack.gg",
  "RELAY_DOMAIN": "https://relay.your-instance.5stack.gg",
  "DEMOS_DOMAIN": "https://demos.your-instance.5stack.gg",
  "SERVER_ID": "server-uuid",
  "SERVER_API_PASSWORD": "generated-api-password"
}
The plugin configuration values are automatically generated and displayed on the server detail page. Copy the exact values to your server configuration file.

Server Properties

Connection Information

interface ServerConnection {
  host: string;               // Server IP or hostname
  port: number;               // Game port
  tv_port: number;            // GOTV port
  connection_link: string;    // Steam connection link
  connection_string: string;  // Connect command string
}

Status Monitoring

interface ServerStatus {
  connected: boolean;         // Plugin connection status
  enabled: boolean;           // Server enabled for scheduling
  rcon_status: boolean;       // RCON connectivity
  offline_at: Date | null;    // Last disconnection time
  plugin_version: string;     // Installed plugin version
}

RCON Commander

Execute console commands directly from the web interface:
1

Access RCON

Navigate to the server details page and locate the RCON Commander section.
2

Execute Commands

Enter any valid Source engine console command:
# Example commands
status                    # Show player list and server status
mp_warmup_end            # End warmup period
changelevel de_dust2     # Change map
sv_cheats 1              # Enable cheats (caution!)
3

View Response

Command output is displayed in real-time below the input.

File Management

For servers deployed on Game Server Nodes, access the file browser:
  1. Navigate to server details
  2. Click Files button
  3. Browse server directory structure
  4. View, edit, or download configuration files
File management is only available for servers deployed on Game Server Nodes. Manually configured servers require direct file system access.

Server Deletion

Deleting a server is permanent and cannot be undone. Active matches on the server will be terminated.
To delete a server:
  1. Open the server details page
  2. Click the menu icon (⋮)
  3. Select Delete
  4. Confirm the deletion

GraphQL API

Query Servers

subscription GetServers {
  servers(
    limit: 10
    offset: 0
  ) {
    id
    host
    port
    label
    type
    region
    enabled
    connected
    tv_port
    plugin_version
    rcon_status
    max_players
    offline_at
    current_match {
      id
    }
  }
}

Create Server

mutation CreateServer {
  insert_servers_one(
    object: {
      enabled: true
      type: "Ranked"
      label: "My Server"
      host: "192.168.1.100"
      port: 27015
      tv_port: 27020
      region: "us-east"
      rcon_password: "password"
    }
  ) {
    id
  }
}

Update Server

mutation UpdateServer($id: uuid!) {
  update_servers_by_pk(
    pk_columns: { id: $id }
    _set: {
      enabled: false
      label: "Updated Label"
    }
  ) {
    id
  }
}

Best Practices

Label servers with region and purpose information for easy identification:
  • US East - Ranked #1
  • EU West - Casual Server
  • Asia Pacific - Tournament Server
Ensure servers are assigned to the correct region to minimize player latency. Region configuration affects:
  • Match server selection algorithm
  • Player connection quality
  • Tournament scheduling
Use strong RCON passwords and change them regularly. The RCON password grants full console access to the server.
Regularly check server connection status. Disconnected servers will not be used for match scheduling and may indicate:
  • Network connectivity issues
  • Plugin configuration errors
  • Server crashes or restarts

Troubleshooting

Symptoms: Server shows as disconnected or offlineSolutions:
  1. Verify plugin is installed and configured correctly
  2. Check firewall rules allow connections to API endpoints
  3. Confirm SERVER_ID and SERVER_API_PASSWORD match configuration
  4. Review server logs for connection errors
  5. Test RCON connectivity with status command
Symptoms: RCON status shows red or commands return errorsSolutions:
  1. Verify RCON password is correct
  2. Check server is running and accessible
  3. Ensure RCON is enabled in server configuration (rcon_password set)
  4. Test connectivity from 5Stack panel to server
Symptoms: Server connects but features don’t work correctlySolutions:
  1. Update plugin to latest version from GitHub
  2. Restart CS2 server after plugin update
  3. Clear plugin cache: meta reload
  4. Check CounterStrikeSharp version compatibility

Game Server Nodes

Automated server deployment and management

Regions

Configure geographic regions for server placement

Public Servers

View and connect to public community servers

Build docs developers (and LLMs) love