Clients not working (remotely or locally)

Server Version#: 1.21.0.3616

Player Versions:
Web Player: 4.43.4
iPhone: 7.10.1
iPad: 7.10.1
AppleTV: 7.10
Sony Smart TV: 8.9.2.21619

This is not a new problem, I’ve been fighting this issue since I got Plex and the lifetime Plex Pass. In retrospect, I wish I hadn’t bought it… it’s been a colossal waste of money… which explains why I keep trying to get it to work.

I cannot use the players except for the web player. All the rest of them will not work at all, or work intermittently. And it doesn’t matter if I’m at home on the same network as the server or trying to access it remotely.

The iPad Plex Player and one of the Apple TV players will sometimes work locally, but only if I switch users and then switch back. Before I do the user switching, the server is listed as offline. But sometimes, the user switching will still not work.

On the other AppleTV and all other players, it usually doesn’t even see the server, but will sometime see it but can’t load the libraries. Occasionally, I’ll get very lucky and it works remotely for a few days, but then it inevitably stops. Locally, it never works. The user switching trick does not work on these devices. And that’s what really gets me, as much trouble as I have trying to get remote access to work, it works a ton better than local access which never functions except for those two players I listed above and then only very sporadically.

The only way I can reliably watch my Plex library is with 3rd party apps using the DLNA service.

This has been going on across 4 separate routers. The first was the first Windstream router. The second was another Windstream router (ActionTec T3200). Then I had a NetGear router with the ActionTec in bridge mode), and currently I run a Unifi USG with the ActionTec in bridge mode. I have had the same issue with all 4 routers.

Is this a problem with the macOS version of Plex Server? Does Windstream actively block Plex servers?

I have followed the instructions from this article but got nowhere. https://support.plex.tv/articles/200931138-troubleshooting-remote-access/

  1. UPnP and NAT-PMP are working, though Plex still would not work so it is manually port-forwarded on port 32400.
  2. The server settings are set exactly like the article shows. Plex Server itself says it’s available from outside the network. Canyouseeme.org shows the port is open.
  3. I do not have a double-NAT situation.
  4. I added a WAN In firewall rule to allow for the Plex Worker IPs (which didn’t change a thing)
  5. I do not have Jumbo Frames set up. USG has not been changed from the default of 1500.
  6. I do not use Xfinity xFi.

Does the macOS version of Plex Server just not work? Do I have to put this server in a DMZ to get it to work? I wouldn’t keep coming back to this once or twice a year if I had not bought a lifetime Plex Pass at the beginning… I would just have went to some other software that did work. But I paid for a lifetime Plex Pass so I keep trying to fix it but nothing I do works.

Plex Media Server works just fine on macOS (I’m running on 10.15.7, but I know of others using Big Sur). I can also confirm that it works just fine in a Unifi USG (3P) environment, as that’s what I use. For local clients, you definitely do not need to place the server in a DMZ; nor should you need to manually create any firewall rules for local clients. Also, the USG will automatically create firewall rules for remote clients based on your port forwarding configuration.

Having said that, there are things which can prevent the use of both local and remote clients. Most of the problems are down to network configuration issues. You may eventually need to provide debug (not verbose) logs, but for now let’s get a couple of questions out of the way:

  1. Are you using an RFC-1918 address block for your local network? That is, a 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16 network?
  2. What do you use as your DNS server for your network? In Unifi, you can define the DNS name servers for your LAN network. If you leave it set to Auto, it will give the USG’s LAN IP as the DNS name server.

Using a non-RFC-1918 address block for your local network can cause connectivity issues for your Plex clients. They expect to themselves and the server to reside in a private address space.

If you’re using Auto for the DNS server, try specifying it manually and use Google (8.8.8.8) or CloudFlare (1.1.1.1) as a test. Then try one of your phones (after renewing its DHCP lease). The reason is a feature called DNS rebinding protection can interfere with the method Plex clients use to connect to the server. Using a public DNS server bypasses this feature of the router.

I’m using 192.168.1.0/24 for my network, so that shouldn’t be it.

I did have DNS set to auto. I had heard about DNS Rebinding being a problem and had an entry on the Netscape router something like rebind-domain-ok=/plex.direct/ but even with that in place, I still couldn’t use it. I had been trying to find where in USG that setting could be, so I thank you for that.

Anyway, I changed it to manual and put 1.1.1.1, 1.0.0.1, 8.8.8.8, and 8.8.4.4 in. My CloudFlare Gateway IP’s are still public, but I wanted to follow your instructions to the letter. However, even after setting them, letting the USG provision, and renewing leases, I’m still having the exact same problem.

A bright point, the phone did connect remotely briefly, then was gone again. But I have no idea if that was anything I did from your instructions, they’ve connected before briefly every so often since I started down this Plex nightmare. Not enough for me to use them, though.

Thanks for the ideas. I’m wide open for any more.

Oh, also… I’m running it on a 2008 Mac Pro but I’m running macOS Catalina. I know it’s not supported on that hardware and I’ve thought about dropping back to earlier versions, but the problem has been consistent across OS’s.

Same issue. Works intermittently.

I know it sounds like I hate Plex. Just the opposite, I actually really like it, if I could use it. My clients can connect no problem to other friends libraries, just won’t connect to mine. And I really want to use it

Try this, just to ensure DNS is working properly. On the server host itself, open a terminal and run defaults read com.plexapp.plexmediaserver CertificateUUID

This should display a string letters and numbers. Don’t post this value here in the forums. Using that string and your server’s IP address with the octets delimited by hyphens, construct an FQDN which looks something like this:

192-168-1-100.abcdef1234567890.plex.direct

In this example, 192.168.1.100 is the server’s IP address and “abcdef1234567890” is the certificate UUID returned from the command above (it will actually be about twice as long). Note that the periods in the IP address have been replaced by hyphens.

Now that you’ve constructed this FQDN, try pinging it, first from the server itself, then from other devices on your network. What are the results?

1 Like

Results were low latency for the server itself, as expected. Average of 0.135ms.

Averages:
Server: 0.135 ms
MacBook Pro: 2.045 ms
iPad: 20.32 ms
iPhone: 13.03 ms
Sony Smart TV: 0.50 ms

0 packet loss on any of them.
All of them using WiFi other than the server itself.
I couldn’t find a decent app for the AppleTV.

And the responses came from your server’s local IP address, correct? If so, then it’s not a DNS issue. You should be able to do the same thing with your public IP address, by the way.

Assuming that’s the case (server’s local IP address responded) then it’s not a DNS issue. So, is your network flat, and all one address space? That is, do you separate devices into their own networks (like IoT devices)? And your ISP router is in bridge mode, with no other devices connected to it directly, correct?

Also, are you able to connect to your server by its public IP address in a browser? If you browse to https://public.server.ip.address:32400/web (replace 32400 with your manually configured remote access port, if necessary) with your phone’s Wi-Fi disconnected, what do you see?

Yes, they came back from the servers internal IP address.

My network is flat. I am planning on putting IoT devices on their own vlan at some point, but currently they’re on the same network. Everything is on 192.168.1.0/24

Correct, the Windstream router is in bridge mode and the only thing connected to it is the USG.

The iPhone did connect to the library using the web client (Wi-Fi disabled), but then the web client always connects. It’s the app clients that don’t. So I accessed it just fine by the phones web connection, but the Plex app on the same phone still wouldn’t connect.

Ok, another test. Run the following from the terminal and note the value returned; do not post the output here:
defaults read com.plexapp.plexmediaserver PlexOnlineToken

Then, from a browser, navigate to:

https://plex.tv/api/resources?X-Plex-Token=your_token_here

The result should be an XML document listing all of your active servers and clients. If you’re using Safari, you’ll likely get a blank page back. If so, right-click in the browser window and select “Save Page As…” You can open the resulting document in TextEdit.

Find your server and locate the “Connection” keys listed for it. This is the connection information clients receive when they want to connect to your server. Make sure they make sense for both the local and non-local entries, for both the IP addresses and ports.

Your clients will also be listed in this document. You may want to have a look at their entries to see if anything looks odd. Either way, it may be worthwhile to sign your clients out and log them back in. While you’re at it, maybe try a full app uninstall/reinstall on one of them.

We may be getting somewhere, though I’m not sure.

All the web clients were coming in at the default port 32400 (unless like the iPhone test you wanted me to run earlier from outside the network and then the web client came in on the UPnP port).

However… every Plex app is trying to use port 32500. But the 32500 port is listed in the uri of the clients device IP. The ones that aren’t working are trying to use port 32500.

Example:
Connection protocol=“http” address=“192.168.1.128” port=“32500” uri=“192.168.1.128:32500” local=“1”
192.168.1.128 is the client address, not the server address.

I even tried to make another port forwarding rule mapping 32500 to 32400, but it had no effect. But since they are inside the network, the port forwarding rules aren’t having any effect.

I logged out of them, then I went into the Plex Authorized Devices menu and deleted everything but the Plex Server itself. I then started logging back in. But no change. The Plex apps are still using 32500, while the web apps are using the correct 32400 internally and the correct uPnP port externally. I even uninstalled/reinstalled and the Plex apps will still not work and continue trying to use 32500.

The clients using port 32500 is normal. I have an iPhone and iPad as well which show the same, and they both work. The client connection string is how it can be reached, not how it’s going to connect to the server. So, unfortunately, that’s probably not indicative of any issue on your side.

What I was more curious about was the connection information for the server. Does it show the correct local and non-local IP addresses? And do the ports match what you expect them to be (local will always be 32400 for the server)? For that matter, do the connections show local=“1” and local=“0” for the private and public IPs, respectively?

All the information you’ve provided so far suggests that the clients either don’t know where the server is (bad connection information) or do know be are unable to reach it (some sort of network issue). The fact that you can connect via browser both locally and remotely suggests the former.

I was hoping the 32500 port was going to be a clue. Lol

The server connection info does show the correct IP and port numbers for private and non-private. And the local value is 1 for private and 0 for non-private.

I’m not sure then. What do you see when you browse to https://app.plex.tv, both on- and off-network? Does it load the web client correctly?

Actually, no. Use the web client to connect directly to my home IP works fine. Using the link you gave me does almost the same thing as the Plex apps. Doesn’t see the server, yet it knows what the individual libraries are inside of it. They are all listed with an exclamation point inside a yellow circle and are grayed out. When you click on them, they say the same thing that the Plex apps do “Server is unavailable”

Given the behavior of the apps, that’s not unexpected. Let’s try this. Try connecting again using https://app.plex.tv. When it loads, go to Settings -> (Plex Web) Debug and select Restore Defaults. It should take you through the initial setup process again, including picking your default server and which libraries to pin. I’m curious if it give the choice of more than one server, perhaps with the same name. Go through the configuration process and see what happens.

Ok, that did something… be it for good or ill.

It gave me the option of selecting my server, or one of my friends who shares his. But they’re completely different names. His always shows up and works fine. However, mine never does. I’ve deleted his library before in the chance it was doing something, but the problem still persisted with no change.

But now things are different almost all across the board, with the exception of the Sony Smart TV. It’s still the same. The Apple TV is almost the same, except instead of saying my server is unavailable, it now says Direct Connection Unavailable when trying to initially select it, but once I do that, it goes back to just being unavailable.

However, both my iPad and iPhone Plex apps are working. (Oops. Too soon. iPhone Plex app stop working when the remote access stopped working. See below.) However, that news needs to be tempered with the fact they occasionally work for brief instances. So far, those two are still working. I wish it were the two TV’s that were working since those two accounts for 99% of my viewing (obviously though with 3rd party players).

A big change happened with the Web Clients. When directly accessing it with the IP, the server is listed as nearby, and once set up, it works perfectly as it did before. I just never use the web clients. However, when using app.plex.tv to access the web client, now it’s saying that my server does not allow secure connections (even though my network secure connections settings are set as Preferred, not Required or Disabled). Once I tap Allow Insecure Connections, it connects fine. This happens both on the LAN or outside networks. I have to tap Allow Insecure Connections every time I load the page, though.

One other change that just occurred, my server is now saying it is not available outside the network, and now my phone can’t access it from the App, but it can still access it from the web app. No one is awake or available to check to see if they can access it at this time of the morning. When I enable remote connections, it’ll be available briefly and then go back to saying unavailable outside your network. This is the same thing that happened a few month ago the last time I tried to get this thing working before I threw up my hands in defeat and went back to using the 3rd party players. But that doesn’t help my sister and friend. (I should note that as of now, Infuse which is my 3rd party player, is accessing my libraries through Plex directly, and not through DLNA which just baffles me even more that Plex’s own player can’t.)

I changed nothing in the USG port forwarding rules when this happened.

This is why I have given up so many times before. I think I’m making progress and then it all falls apart. The hope I have now is you’re running your server on macOS and you’re using the USG. If anyone can help, it’ll be you.

That’s interesting. Restore Defaults would have only affected the client on which it was performed. It essentially resets that client back to its freshly installed state. It should have had no effect on the server itself, just that clients view of the server. Something else, perhaps not of your doing, likely occurred coincidentally.

Now, let’s try doing something similar to your server. Don’t worry, this will not cause you to lose your libraries; however, it will cause the server to be seen as new otherwise (not signed in/claimed).

  1. Stop your Plex Media Server.
  2. Navigate to /Users/yourusername/Library/Preferences/ and find the file named “com.plexapp.plexmediaserver.plist”. Rename this file such that it has “.bak” on the end: “com.plexapp.plexmediaserver.plist.bak”. Side note: Placing those periods outside the quotes hurt my soul a little bit.
  3. Start your Plex Media Server.
  4. On the server, open https://127.0.0.1:32400/web in your browser. You should be greeted with the new server setup wizard.
  5. Configure your server as you normally would, being sure to sign in and claim it. It should be claimed automatically by completing the setup wizard, giving it a different name than before; you can double check this by looking under Settings -> General (the second in the list, under your server).

After this is done, configure remote access. On my own server, I use a manually configured port. “Manually specify public port” is checked and I entered a value there. The default is 32400, and I’d suggest sticking with that initially. I have UPnP disabled on my USG and have a port forwarding rule configured. If you need help with that part let me know, but here are some screenshots to give you an idea. Disable UPnP:


Port forward rule:

After doing all that, give it a few minutes to percolate and see remote access settles to “Fully accessible outside your network.”

Assuming it does, try your clients. Try with just your iPhone first to see the results. I’d recommend restoring defaults in the Plex app. To do so, from the home screen select the edit button (ellipsis in the top-right) and select “Restore Defaults.” It will take you through a process very similar to what you did in the web client.

Depending on the results, you can either keep the new server configuration or completely undo it. To keep it, do nothing for now. Maybe later delete that backup of the .plist.bak file you made above. To undo it, stop the server, delete the new com.plexapp.plexmediaserver.plist file and rename the old one back. Start the server again.

I hope this make sense, let me know if you have any questions.

That did a lot of something.

Even with the plist renamed and missing as far as it knew, it attempted to bring in the old library. Actually it did bring in the old server. So it had the new server and the old server (both pointed to the same libraries, of course).

And here’s where it gets weird… Er… weirder.

It couldn’t see the old server (exactly like the Plex apps) even though this was being done on the server hardware itself. The new server pointed to the same drive showed up, except that I only added TV shows and movies in the library. I have other libraries: Concerts, Home Movies, Cartoon Shorts (Disney, Looney Tunes, Tom and Jerry, etc), and TV Specials (mainly Christmas specials). Even though I only added movies and TV series, when it came up, it had all of them in there with the same name as in the old server. I changed the library names slightly because I just had this feeling that was going to be useful. So the server shows up, but each individual library said it couldn’t be found. And now I have a new named server, and the old named server. Neither one accessible in different ways. The old named server didn’t even register it was there, though it picked it up from somewhere.

So I shut it down again.

So, after this I looked around. And noticed I had a Plex Player on the server as well. I don’t know how it got there, but I deleted it using AppCleaner which finds any file related to the app I’m deleting so I can delete all traces of it.

It was at this point I had an idea, I dragged Plex Server over to the app to see what files it would show me, and it took minutes to search out every file. There is 68.19 GB of files associated with Plex Server including the application itself, but that doesn’t include the libraries at all. My libraries are Terabytes, not gigabytes.

There’s a lot of logs, though tiny. However, “~/Library/Caches/PlexMediaServer” accounts for 6.48 GB of that number, and “~/Library/Application Support/Plex Media Server” accounts for the bulk of it at 61.43 GB.

Furthermore, there is a “~/Library/Application Support” and a “~/Library/ApplicationSupport”, the only difference being that space between Application and Support. But both have the same folder structure inside.

The port forwarding rule was correct, by the way.

My first inclination would ordinarily be that things got corrupt during an OS upgrade especially with those two almost identical folders with the exception of a space, but this has been an issue since I started using Plex.

Should I just scrap everything Plex and purge anything related to Plex off the server and start again? Should I just reinstall the OS from scratch? (I have been through every iteration of macOS since El Capitan through Catalina.) Or are these file sizes normal for a 4-5 TB library?

PS - trying to type a period outside of quotations gives me fits as well, even when I know it’s correct.

That’s expected behavior since the Plex data directory (~/Library/Application Support/Plex Media Server/) was left in place.

That’s also expected behavior, for the same reason as above.

It’s definitely strange that you have two locations with Plex data. The only one used by Plex is under ~/Library/Application Support/Plex Media Server/. Perhaps the other one is left from some OS migration or some other even which required a potential roll-back to a previous state?

If you’ve got the stomach for it, I’d say try a nuke and pave of Plex Media Server first. As part of that process, log in to https://app.plex.tv and navigate to Settings → Authorized Devices. Filter by “Server” in the drop-down and delete any of your servers. Also make sure to delete the com.plexapp.plexmediaserver.plist file. If you want to hedge a bit, before deleting Plex Media Server, rename ~/Library/Application Support/Plex Media Server/ to ~/Library/Application Server/Plex Media Server.bak/. That way you can restore it at a later time if you like.

Doing the above should be exactly like a clean install of Plex Media Server; so, if there are any vestiges of your previous installation causing issues, this should eliminate them.

I wouldn’t normally suggest a clean OS install as a solution to problems with one application. However, if it’s important enough to you and you want to eliminate any potential issues carrying the baggage from previous upgrades may cause then maybe. For what it’s worth, Mac hasn’t had a clean installation since El Capitan.