Plex Media Server can be a pain in the neck to get fully working with a direct connection between your clients, whether on your local network or remote, and your server. Here’s a quick checklist to diagnose and troubleshoot these connectivity issues. This entry is not meant to go much into details, but rather to give a high-level sequence from lower to higher layers, i.e. from networking to the Plex application to (optionally) its container.
1. What’s Wrong with Not Connecting Directly and How to Know for Sure?
The telltale that you’re not connecting directly is forced transcoding at a horrible rate of 1Mbps (free Plex users) or 2Mbps (Plex Pass) during playback, even locally. Skipping or moving within the video during playback may also be very slow, whereas it should be pretty much immediate if you have a decent server (mine is a beefed up Synology DS920+) client (I like the Nvidia Shield), and network (I wired my entire house with Cat6A Ethernet cables). Failing to establish a direct connection to your PMS means your client is accessing it through Plex’s (throttled) Relay.
If you can’t trust your lying eyes, you’ll know it for a fact by going to the Dashboard of the Status section of your server’s settings.
You absolutely want to ensure you have a direct connection to your server otherwise your 80′ 8K OLED TV will look like it’s playing VHS from the 80s. Don’t settle for such a horrible experience!
2. How do I fix it in PMS and/or My Local Network?
The next step is to go in PMS to Settings > Remote Access and check that remote access is enabled and working. I like to manually set the public port, which I then forward in my router and open in my firewall. Until and unless you get a green checkmark here, as per the screenshot introducing this entry, don’t expect to get a direct play or stream going on, even on your LAN. Don’t worry if the checkmark is red when you first go to that page, what matters is whether it turns green after you tell Plex to check.
If you’re struggling, try (temporarily!) disabling your firewall(s) – and you might have one on your router and another one running on your server – and/or use uPnP or NAT-PMP to try and isolate the root cause of your connectivity problem: is it faulty IP address routing, or is it too aggressive port blocking? Is only a single client failing to connect directly, or all of them? Don’t forget to roll back these changes after you’re done to make sure your security is tight.
3. What If I Use Docker, a Reverse Proxy, or Other Fancy Tech That Makes Troubleshooting Harder?
If you’re running Plex in Docker, that opens up additional potential connectivity issues. Long story short, you’ll either have to set up your Bridge network in the container’s settings (more involved) or use it in Host mode (easier). Remember that while you can change the outward-facing port, Plex’s internal port should always be 32400.
Similarly, if you’re running a reverse proxy and/or your own domain name maintained via DDNS, you’ll have to troubleshoot specifically those parts of your setup. For instance, can you access your server from app.plex.tv, your internal IP address, but not the self-owned domain name you might have assigned to Plex? Do you face similar issues with other apps or containers, or is this only happening with Plex?
The whole idea when you’re facing a hairy technical issue that might have a very long list of possible causes is to divide and conquer by making a list of what works as intended until you manage to isolate the source(s) of the issue. You can’t fix what you don’t know is broken.
For further details and related content, see: