> For the complete documentation index, see [llms.txt](https://horizongames.gitbook.io/kronos-matchmaking/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://horizongames.gitbook.io/kronos-matchmaking/advanced/steam-sockets.md).

# Steam Sockets

<figure><img src="/files/77Unbpix2so6vI56ms5p" alt=""><figcaption></figcaption></figure>

## What is Steam Sockets

**Steam Sockets** is a networking plugin in Unreal Engine that takes advantage of the new Steam network protocol layer. Compared with the previous SteamNetworking protocol, this plugin provides improved security and reliability using Steam's communication network, with built-in DDoS protection, end-to-end encryption, and NAT traversal. Steam Sockets also provides **ping calculation** for listen servers.

For more information about the **Steam Sockets** plugin, please refer to the official documentation by Epic Games: [**Using Steam Sockets in Unreal Engine**](https://dev.epicgames.com/documentation/en-us/unreal-engine/using-steam-sockets-in-unreal-engine)

## Ping Calculation Using Steam Sockets

As of version 2.2.0, Kronos automatically handles session pinging with the **Steam Sockets** plugin. When ping data is available, sessions will be sorted into ping buckets (e.g. sessions with less then 30ms ping) and then each bucket is sorted based on player count for efficient session filling.

## **Important Notes**

<details>

<summary><strong>Fix For Unreal Engine 5.1</strong></summary>

The **Steam Sockets** plugin in Unreal Engine 5.1 has a major bug where client verification doesn't work properly. This results in connection requests being rejected. Thankfully there is a simple workaround that will skip client verification for the time being until Epic fixes the plugin. Open your projects `DefaultEngine.ini` file and add the following settings:

```ini
[ConsoleVariables]
net.MinHandshakeVersion=2
net.CurrentHandshakeVersion=2
```

Now you can create and join matches as expected.

Please note that this only fixes direct matchmaking functionality like creating and finding sessions. Parties will still behave very inconsistently when joining a match from the party.

</details>
