If your server returns HTTP 500 on POST /playQueues (logs show Got exception from request handler: std::exception right after PlayQueue: ... Count: 1), and browsing/playlists still work but nothing plays, check this:
"Plex SQLite" "com.plexapp.plugins.library.db" "SELECT seq FROM sqlite_sequence WHERE name='play_queue_items';"
If that value is at/near 2147483647 (INT_MAX), that’s your problem — the play_queue_items row-ID counter has overflowed, so PMS can’t create a new play queue. Note: integrity_check passes, a DB rebuild does not fix it, and DELETE alone doesn’t either (none reset the AUTOINCREMENT counter). Full diagnosis + the actual fix here: [Solved] "An error occurred loading items to play" caused by play_queue_items row ID hitting INT_MAX