Plexamp for Raspberry Pi - How to create a new server.json file now older desktop versions of Plexamp no longer work

Trying to get Plexamp working on my Raspberry Pi but I’ve come across a stumbling block. To create the server.json file that’s needed the procedure used to be to install the older v1 version of Plexamp desktop app for Mac/Windows and get the file that way. These older versions of Plexamp no longer function. How can I create a server.json now?

2 Likes

I second this. Running into the same issue right now.

Even if you manage to get a server.json it probably won’t work any more.
I had a Raspberry Pi 4 running Plexamp for over 2 years and it stopped working a few days ago while I changed nothing. It shows up as a player but won’t play anything you “cast” to it. I’ve read that others have the same problem so I think the “beta” from 2019 has reached its end of life.
As if having to install an old version of nodejs by hand wasn’t bad enough already…

It’s a shame since not having to have my PC running while listening to music over the stereo was very convenient. I kind of regret getting the Plexpass, seeing as Plex’s development focuses on stuff I don’t use and completely neglects user requests such as adjusting playback speed or stuff like this problem.

Nothing has happened in close to 3 years so I wouldn’t expect anything to happen now.

That’s probably because of Plexamp raspberry pi certificate expired - #21 by xkonni

maybe you should make that sticky :wink:

I may know what happened to you! At any rate I figured it out with my new instance. The problem is that the program can no longer get a media provider list from Plex. It tries to reach this resource at https://plex.tv/media/providers with an X-Plex-Token (google it if need be) as authentication. That URL is now returning a 406 code. You can try it yourself at https://plex.tv/media/providers?X-Plex-Token=YOUR_TOKEN

So I think your system needed to update its media provider list for whatever reason, and now it’s screwed. The program caches this info, so other people running the rpi plex client may be on borrowed time until they need to refresh.

Because I’m running my own Plex server instance, I was able to work around this by substituting the URL for its media provider list and then hacking the JavaScript around it to work with the response. I could post a modified server.prod.js for others to use but I don’t know how useful it will be generally. It would not work for cases where you want to get a media provider list from someone else’s server, for example, unless you could get them to give you their (hopefully static) IP address and server ID etc.

However, if someone who knows more about current Plex endpoints for the media provider list could chime in, perhaps we could get a more general solution out there. Hope this helps.

1 Like

Is there a simple way to find out what my Server ID is?

Yes. Use these instructions to get an X-Plex-Token and visit your server’s IP address in a web browser using the token as authentication. For this purpose, just the IP address, port, and ?X-Plex-Token= query string will take you to the right place. There you’ll look for the value of the “machineIdentifier” key in the XML output. That’s your server ID.

So are you saying that there is an updated URL to use to get the providers list? If so, one might be able to handle the hand off from the old URL to the new URL via the webserver itself. This would have the advantage of not hacking a production js file, since that will undoubtedly break as soon as the PMS updated itself.

Yeah, I’m not super happy about hacking a production js file myself. But since the endpoint the program tries to access is on https://plex.tv, I have no way of redirecting it. Hacking the script to look elsewhere is the only way to fix it from my end. I’m not too worried about this solution breaking immediately because I doubt that the PMS will be changing the structure of the new URL often, but of course anything is possible.

Also if you’d like to see the solution in detail I posted it here: GitHub - IvanKaramazov/rpi_plexamp_hack

Hi Ivan,

Finally, I got Plexamp to work on a fresh installed Pi with the help of your instructions and server.prod.js. However, it is not your version hacked version that is running in the end because I ran into MPD errors as well. Neither localhost nor 127.0.0.1 worked.

I switched back and forth between your hacked version and the original. Your version worked to retrieve all the required connections data on the pi (the resources-server.json). The original version now is playing perfectly.

At last I am very happy. :smiley: Thanks :+1:

I was already switching over to Jellyfin and Jellycli but gave it a last shot this morning, starting over from scratch. Because I love Plex’ radios and I am a long time Plex Pass user.

It’s an absolute shame that it is this difficult these days to use Plexamp as headless audio player connect to a decent HiFi setup.

(it’s a Pi 3B with HifiBerry DAC+ on Raspios/Raspian Buster by the way. Tried Bullseye as well but you cannot get NodeJS v9 on Bullseye anymore from the nodesource.com repository. It was necessary to use xkonni’s instructions as well)

Interesting, someone else reported that reinstalling MPD solved their issues. Idk what it is that’s getting tripped up with MPD in the switch to the hacked code but glad you were able to work around it.

I still haven’t got it working, but will also attempt a fresh install.

Which version of the headless plexamp are you using? Plexamp-v2.0.0-rPi-beta or plexamp-v1.0.5-pi?

The 2.0.0 beta version

1 Like

Original stop working suddenly… strange connection errors: Connection Tester: Failure (7, HTTP code 0).

I installed MPD (was not present before!) and I can now confirm your version is working fine.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.