Yah, I think I’m loosing you, let me try to spell this out further. This is a fundamental issue with the decisions that the Plex Dev team has made and I’m hoping that they can correct this sooner than later.
Problem:
Plex Dev decided to include hard coded IP addresses against software best practices.
Preferences.xml:
PubSubServer="45.33.119.35"
PubSubServer="72.14.179.64"
PMS Log:
Plex Media Server.3.log:Jan 29, 2025 08:15:30.704 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:15:45.729 [124902394833720] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:16:00.747 [124902399028024] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:16:15.777 [124902399028024] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:16:30.795 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:16:45.813 [124902399028024] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:17:00.839 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:17:15.858 [124902394833720] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:17:30.883 [124902399028024] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:17:45.897 [124902399028024] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:18:00.917 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:18:15.936 [124902399028024] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:18:30.955 [124902399028024] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:18:45.982 [124902394833720] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:19:01.001 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:19:16.026 [124902394833720] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:19:31.045 [124902394833720] ERROR - [EventSourceClient/pubsub/45.79.23.169:443] Retrying in 15 seconds.
Plex Media Server.3.log:Jan 29, 2025 08:19:46.064 [124902394833720] ERROR - [EventSourceClient/pubsub/45.33.125.156:443] Retrying in 15 seconds.
Environment:
My Plex Deployment has static IPv6 ULA & GUA addresses and no ipv4 addresses utilizing NAT64/DNS64 to access pure-ipv4 services from my pure ipv6 environment (NAT64 - Wikipedia).
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
link/ether bc:24:11:a5:c8:33 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet6 fdd4:d987:94f1:130::8/64 scope global
valid_lft forever preferred_lft forever
inet6 REDACTED:502::8/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::be24:11ff:fea5:c833/64 scope link
valid_lft forever preferred_lft forever
My main client is an AppleTV 4k that also is pure IPv6 and works fantastically. The router (Juniper SRX) & DNS servers (BIND) translate the IPv4 DNS “A” records into “AAAA” records following rfc6146, the IPv4 address gets NAT’d into the 64:ff9b::/96 well known prefix and the application is none the wiser to the fact the service doesn’t support IPv6. This is how Hulu which is IPv4 only works in this environment, and how all other IPV4 only services continue to operate as designed. NAT64 is the future after CG-NAT since it is a lot lower cost to run for the carriers, all low-end virtual hosting environments are moving away from IPv4 due to the costs of the addresses now. Just look at what an elastic IP costs per hour in EC2 now a days and you will see why this is getting popular.
The Solution:
The Plex Dev’s need to get these hard coded IPs out of the code base and replace them with forward IPv4 “A” DNS records inside one of their owned domains e.g. plex.tv. This would allow the NAT64/DNS64 transport to translate it into IPv6 addresses and “AAAA” DNS records like all the other services on the internet. Plex’s infrastructure doesn’t need to support IPv6 for this to work, but it does open the door for an easier migration to IPv6. In the future they can just add AAAA records when they are ready and it would bypass the NAT64/DNS64 translation seamlessly.
Conclusion
Those of us that want/need to run IPv6 networks have found a few devices that have hard coded addresses preventing their operation. This fix should take no longer than a couple hours to create the DNS entries and change the code to reference them instead of the raw IPs which shouldn’t have been there in the first place.
Example from Microsoft → Use of Hardcoded IPv4 Addresses - Win32 apps | Microsoft Learn
Cloudflare DNS64 Page
Google DNS64 Page