mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-04-30 04:39:57 +00:00
136 lines
6.5 KiB
Markdown
136 lines
6.5 KiB
Markdown
* [Connection Issues](#connection-issues)
|
|
* [Plex/Tautulli/Jellyfin don't connect](#plextautullijellyfin-dont-connect)
|
|
* [Jellyfin has warnings about undefined or missing data](#jellyfin-has-warnings-about-undefined-or-missing-data)
|
|
* [Spotify/Deezer/LastFM won't authenticate](#spotifydeezerlastfm-wont-authenticate)
|
|
* [Configuration Issues](#configuration-issues)
|
|
* [Config could not be parsed](#config-could-not-be-parsed)
|
|
* [Scrobbling Issues](#scrobbling-issues)
|
|
* [Last.fm does not scrobble tracks with multiple artists correctly](#lastfm-does-not-scrobble-tracks-with-multiple-artists-correctly)
|
|
* [Jellyfin does not scrobble tracks with multiple artists correctly](#jellyfin-does-not-scrobble-tracks-with-multiple-artists-correctly)
|
|
|
|
# Connection Issues
|
|
|
|
## Plex/Tautulli/Jellyfin don't connect
|
|
|
|
These three [sources](/#source) are **ingress-based** which means that multi-scrobbler waits for the Plex/Tautulli/Jellyfin server to contact multi-scrobbler, as opposed to multi-scrobbler contacting the server.
|
|
|
|
multi-scrobbler will log information about any server that connects to it for these three services. In the logs it looks something like this:
|
|
|
|
```
|
|
2023-02-22T10:55:56-05:00 info : [Ingress - Plex ] Received request from a new remote address: ::ffff:192.168.0.140 (UA: PlexMediaServer/1.24.5.5173-8dcc73a59)
|
|
2023-02-22T10:55:56-05:00 info : [Ingress - Plex ] ::ffff:192.168.0.140 (UA: PlexMediaServer/1.24.5.5173-8dcc73a59) Received valid data from server examplePlex for the first time.
|
|
2023-02-22T10:55:56-05:00 warn : [Plex Request ] Received valid Plex webhook payload but no Plex sources are configured
|
|
```
|
|
It also logs if a server tries to connect to a URL that it does not recognize:
|
|
```
|
|
2023-02-22T11:16:12-05:00 debug : [App ] Server received POST request from ::ffff:192.168.0.140 (UA: PlexMediaServer/1.24.5.5173-8dcc73a59) to unknown route: /plkex
|
|
```
|
|
**So, if you do not see either of these in your logs then Plex/Tautulli/Jellyfin is not able to connect to your multi-scrobbler instance at all.**
|
|
|
|
This is not something multi-scrobbler can fix and means you have an issue in your network.
|
|
|
|
### Troubleshooting
|
|
|
|
Check or try all these steps before submitting an issue:
|
|
|
|
#### Turn on Debug Logging
|
|
|
|
First, turn on **debug** logging for multi-scrobbler by setting the environmental variable `LOG_LEVEL=debug`:
|
|
|
|
* using node `LOG_LEVEL=debug ... node src/index.js`
|
|
* using docker `docker run -e LOG_LEVEL=debug ... foxxmd/multi-scrobbler`
|
|
|
|
Check the output for any additional information.
|
|
|
|
#### Check Host name and URL
|
|
|
|
The URLs examples in the [configuration](configuration/configuration.md) documentation assume you are running Plex/Tautulli/Jellyfin on the same server as multi-scrobbler. If these are not the same machine then you need to determine the IP address or domain name that multi-scrobbler is reachable at and use that instead of `localhost` when configuring these sources. **This is likely the same host name that you would use to access the web interface for multi-scrobbler.**
|
|
|
|
EX `http://localhost:9078/plex` -> `http://192.168.0.140:9078/plex`
|
|
|
|
#### Check Firewall and Port Forwarding
|
|
|
|
If the machine multi-scrobbler is running on has a firewall ensure that port **9078** is open. Or if it is in another network entirely make sure your router is forwarding this port and it is open to the correct machine.
|
|
|
|
#### Check Source Service Logs
|
|
|
|
Plex/Tautulli/Jellyfin all have logs that will log if they cannot connect to multi-scrobbler. Check these for further information.
|
|
|
|
##### Plex
|
|
|
|
Settings -> Manage -> Console
|
|
|
|
##### Tautulli
|
|
|
|
Check the command-line output of the application or docker logs.
|
|
|
|
##### Jellyfin
|
|
|
|
Administration -> Dashboard -> Advanced -> Logs
|
|
|
|
## Jellyfin has warnings about undefined or missing data
|
|
|
|
Make sure you have
|
|
* [Configured the webhook plugin correctly](configuration/configuration.md#jellyfin)
|
|
* Checked the **Send All Properties(ignores template)** option in the webhook settings and **Saved**
|
|
|
|
multi-scrobbler is known to work on Jellyfin `10.8.9` with Webhook version `11.0.0.0`.
|
|
|
|
You can verify the payload sent from the webhook by modifying your jellyfin configuration to include `logPayload: true` which will output the raw payload to DEBUG level logging:
|
|
|
|
```json
|
|
[
|
|
{
|
|
"name": "MyJellyfin",
|
|
"clients": [],
|
|
"data": {
|
|
"users": ["FoxxMD"],
|
|
"options": {
|
|
"logPayload": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
If your issue persists and you open an Issue for it please include the raw payload logs in your report.
|
|
|
|
|
|
## Spotify/Deezer/LastFM won't authenticate
|
|
|
|
Ensure any **client id** or **secrets** are correct in your configuration.
|
|
|
|
The callback/redirect URL for these services must be:
|
|
|
|
* the same address you would use to access the multi-scrobbler web interface
|
|
* the web-interface must be accessible from the browser you are completing authentication from.
|
|
|
|
If multi-scrobbler is not running on the same machine your browser is on then the default/example addresses (`http://localhost...`) **will not work.** You must determine the address you can reach the web interface at (such as `http://192.168.0.140:9078`) then use that in place of `localhost` in the callback URLs.
|
|
|
|
EX `http://localhost:9078/lastfm/callback` -> `http://192.168.0.220:9078/lastfm/callback`
|
|
|
|
# Configuration Issues
|
|
|
|
## Config could not be parsed
|
|
|
|
If you see something like this in your logs:
|
|
|
|
```
|
|
2023-02-19T10:05:42-06:00 warn : [App] App config file exists but could not be parsed!
|
|
2023-02-19T10:05:42-06:00 error : [App] Exited with uncaught error
|
|
2023-02-19T10:05:42-06:00 error : [App] Error: config.json could not be parsed
|
|
```
|
|
|
|
It means the JSON in your configuration file is not valid. Copy and paste your configuration into a site like [JSONLint](https://jsonlint.com/) to find out where errors you have and fix them.
|
|
|
|
# Scrobbling Issues
|
|
|
|
## Last.fm does not scrobble tracks with multiple artists correctly
|
|
|
|
This is a limitation of the [Last.fm API](https://www.last.fm/api/show/track.scrobble) where the **artist** field is only one string and Last.fm does not recognize (play well) with "combined" artists.
|
|
|
|
Multi-scrobbler works the same was the official Spotify-Last.fm integration works -- it only scrobbles the **first** artist on a multi-artist track.
|
|
|
|
## Jellyfin does not scrobble tracks with multiple artists correctly
|
|
|
|
This is a limitation caused by the [Jellyfin webhook plugin](https://github.com/FoxxMD/multi-scrobbler/issues/70#issuecomment-1443804712) only sending the first artist to multi-scrobbler. This issues needs to be [fixed upstream on the Jellyfin webhook repository.](https://github.com/jellyfin/jellyfin-plugin-webhook/issues/166)
|