Skip to main content

Connecting to a Dedicated Server

This guide explains how to connect to a dedicated server in Unreal Engine using SteamCore PRO. The method depends on your DefaultEngine.ini configuration and the networking driver in use. Three approaches are detailed below: SteamCore PRO Sessions, SteamCoreSockets, and IpNetDriver. For a visual walkthrough, see the Video Tutorial.

Prerequisites​

  • SteamCore PRO installed in your Unreal Engine project (for Steam-based methods).
  • Properly configured DefaultEngine.ini for your chosen networking driver.
  • Access to the server’s address (Steam P2P address or IP) and port.
  • For production, implement a server browser to allow players to select from available servers.

Option 1: Using SteamCore PRO Sessions​

This method uses the SteamCore Online Subsystem (OSS) with the SteamCoreSockets NetDriver to find and join sessions. It’s ideal for Steam-integrated multiplayer games.

Configuration​

Steps​

  1. Add the Find SteamCore PRO Sessions node to your game logic (e.g., in a Game Instance or Menu Blueprint) to search for available servers.
  2. Use the Join Session node to connect to a selected session.
  3. Handle the session results to allow players to choose a server (e.g., via a server browser UI).

Example​

The following Blueprint demonstrates connecting to the first available session. This is for demonstration only; in production, use a proper server list UI to let players select a server.

Join Session Example

caution

This example automatically joins the first session found for simplicity. In production, implement a server browser to display all available sessions and allow players to choose. Refer to the Blueprint example project for a complete implementation.

Option 2: Using SteamCoreSockets (Bypassing Online Subsystem)​

This method connects directly to a server using the SteamCoreSockets NetDriver without relying on the Steam Online Subsystem. It requires the server’s Steam P2P address and port.

Configuration​

Steps​

  1. Use the Execute Console Command node in your game logic.

  2. Enter the console command in the format:

    open steam.P2PAddr:Port
    • Replace P2PAddr with the server’s Steam P2P address.
    • Replace Port with the server’s port number.

Example​

The following Blueprint shows how to execute the console command to connect to a server using a Steam P2P address.

SteamCoreSockets Connection Example

caution

This example is a basic demonstration and connects to a hardcoded server address. For production, implement a dynamic server list or user input for the address and port.

Option 3: Using IpNetDriver (Bypassing Online Subsystem)​

This method connects to a server using a standard IP address and port, without requiring Steam integration. It’s suitable for non-Steam servers or custom networking setups.

Configuration​

Steps​

  1. Use the Execute Console Command node in your game logic.

  2. Enter the console command in the format:

    open <IP>:<Port>
    • Replace <IP> with the server’s IP address.
    • Replace <Port> with the server’s port number.

Example​

The following Blueprint demonstrates connecting to a server using an IP address and port.

IpNetDriver Connection Example

Notes​

  • Server Browser: For a polished player experience, implement a server browser UI to list available servers and allow players to select one, rather than hardcoding or automatically joining the first session.
  • Testing: Test connections in a development environment to ensure the server address, port, and networking driver are correctly configured.
  • SteamCoreSockets vs. IpNetDriver: Use SteamCoreSockets for Steam-integrated servers and IpNetDriver for non-Steam or LAN-based servers.
  • Error Handling: Add logic to handle connection failures, such as invalid addresses or unavailable servers, to improve user experience.