Fix for long distance (High delay / rtt / ping) streaming from Windows 10 Plex Server

I recently ran into an issue not being able to stream content while visiting family abroad. My current rtt/ping to home is ~200ms and I found that I couldn’t get more than 1-2mbps of throughput which was constantly dipping down to about 700kbps. I tried a bunch of tests using IPerf3 to narrow down the issue and was able to get my full home ISP bandwidth by stacking up 20 parallel TCP streams. This lead me to believe there was a problem with the TCP window size in MS Win10 not getting big enough to compensate for the 200ms delay.

It took a lot of digging and head scratching but I was able to fix W10 by enabling RFC1323 options in the registry.

The Tcp1323Opts value in the following registry key can be added to control scaling windows and timestamp:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

1. On the toolbar, select Start > Run, and then type Regedit to start the Registry Editor.
2. In the Registry Editor, select Edit, point to New, and then select DWORD Value.
3. In the New Value box, type Tcp1323Opts, press ENTER, and then on the Edit menu, select Modify.

I set the value to 3 which enables both window scaling and timestamps. I’m able to stream from the other end of the world (~200ms) without any issues whatsoever now :grin:

TBH it feels kinda stupid that Microsoft wouldn’t have these enabled by default, and I suspect W11 may handle this better.

According to Microsoft documentation, window scaling and time stamps are enabled by default. Therefore changing this registry key should have zero positive effect.
(unless you have disabled them earlier on this machine)

damn, you’re right! I dont know why it started working for me today but then ran into issues later on. The weird thing is I can still hit full throughput using multiple tcp streams but plex streaming starts to fall apart from time to time.