mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-05-21 02:20:26 +00:00
143 lines
No EOL
52 KiB
HTML
143 lines
No EOL
52 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-FAQ" data-has-hydrated="false">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v3.9.2">
|
||
<title data-rh="true">FAQ | Multi-Scrobbler</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://foxxmd.github.io/preview-images/fcd6f42ce8ddb51f60a32fd68f4c38e4ea767885.png"><meta data-rh="true" name="twitter:image" content="https://foxxmd.github.io/preview-images/fcd6f42ce8ddb51f60a32fd68f4c38e4ea767885.png"><meta data-rh="true" property="og:url" content="https://foxxmd.github.io/multi-scrobbler/FAQ/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="FAQ | Multi-Scrobbler"><meta data-rh="true" name="description" content="Connection Issues"><meta data-rh="true" property="og:description" content="Connection Issues"><link data-rh="true" rel="icon" href="/multi-scrobbler/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.multi-scrobbler.app/FAQ/"><link data-rh="true" rel="alternate" href="https://docs.multi-scrobbler.app/FAQ/" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.multi-scrobbler.app/FAQ/" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"FAQ","item":"https://foxxmd.github.io/multi-scrobbler/FAQ"}]}</script><meta name="google-site-verification" content="8hqrPhw4yuoTBM6c3S10aC8L4tu4aIBe8Q-oSP3OES0">
|
||
<script src="https://ry.foxxmd.dev/api/script.js" defer="defer" data-site-id="3"></script><link rel="stylesheet" href="/multi-scrobbler/assets/css/styles.1eee1a46.css">
|
||
<script src="/multi-scrobbler/assets/js/runtime~main.49e3916c.js" defer="defer"></script>
|
||
<script src="/multi-scrobbler/assets/js/main.acb3391f.js" defer="defer"></script>
|
||
<meta name="image" content="https://foxxmd.github.io/preview-images/fcd6f42ce8ddb51f60a32fd68f4c38e4ea767885.png"></head>
|
||
<body class="navigation-with-keyboard">
|
||
<svg style="display: none;"><defs>
|
||
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></symbol>
|
||
</defs></svg>
|
||
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"dark"),document.documentElement.setAttribute("data-theme-choice",t||"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/multi-scrobbler/img/icon.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/multi-scrobbler/"><div class="navbar__logo"><img src="/multi-scrobbler/img/icon.svg" alt="Logo" class="themedComponent_mlkZ themedComponent--light_NVdE" height="40"><img src="/multi-scrobbler/img/icon.svg" alt="Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU" height="40"></div><b class="navbar__title text--truncate">Multi-Scrobbler</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/multi-scrobbler/">Docs</a><a class="navbar__item navbar__link" href="/multi-scrobbler/playground/">Config Playground</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/foxxmd/multi-scrobbler" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://multi-scrobbler.app" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Website<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><div class="navbar__search searchBarContainer_NW3z" dir="ltr"><input placeholder="Search" aria-label="Search" class="navbar__search-input searchInput_YFbd" value=""><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/multi-scrobbler/"><img src="/multi-scrobbler/img/icon.svg" alt="Logo" class="themedComponent_mlkZ themedComponent--light_NVdE" height="40"><img src="/multi-scrobbler/img/icon.svg" alt="Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU" height="40"><b>Multi-Scrobbler</b></a><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/multi-scrobbler/"><span title="Overview" class="linkLabel_WmDU">Overview</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/multi-scrobbler/quickstart/"><span title="Quickstart" class="linkLabel_WmDU">Quickstart</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/multi-scrobbler/installation/"><span title="Installation" class="categoryLinkLabel_W154">Installation</span></a><button aria-label="Expand sidebar category 'Installation'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/multi-scrobbler/updating/"><span title="Updating" class="linkLabel_WmDU">Updating</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/multi-scrobbler/configuration/"><span title="Configuration" class="categoryLinkLabel_W154">Configuration</span></a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/multi-scrobbler/category/development/"><span title="Development" class="categoryLinkLabel_W154">Development</span></a><button aria-label="Expand sidebar category 'Development'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/multi-scrobbler/FAQ/"><span title="FAQ" class="linkLabel_WmDU">FAQ</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/multi-scrobbler/help/"><span title="Help" class="linkLabel_WmDU">Help</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/multi-scrobbler/playground/"><span title="Config Playground" class="linkLabel_WmDU">Config Playground</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/multi-scrobbler/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">FAQ</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>FAQ</h1></header><h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="connection-issues">Connection Issues<a href="#connection-issues" class="hash-link" aria-label="Direct link to Connection Issues" title="Direct link to Connection Issues" translate="no"></a></h2>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="ingress-connection">Webscrobbler/Listenbrainz Endpoint doesn't connect<a href="#ingress-connection" class="hash-link" aria-label="Direct link to Webscrobbler/Listenbrainz Endpoint doesn't connect" title="Direct link to Webscrobbler/Listenbrainz Endpoint doesn't connect" translate="no"></a></h3>
|
||
<p>These sources are <strong>ingress-based</strong> which means that multi-scrobbler waits for the Webscrobbler extension or app using Listenbrainz Endpoint to contact multi-scrobbler, as opposed to multi-scrobbler contacting them.</p>
|
||
<p>multi-scrobbler will log information about any server that connects to it for these services. In the logs it looks something like this:</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">[2025-07-10 12:32:21.417 -0400] INFO : [App] [API] [Ingress] [WebScrobbler] [Ingress] [WebScrobbler] Received request from a new remote address: ::ffff:127.0.0.1 (192.168.0.100) (UA: Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">[2025-07-10 12:32:21.418 -0400] INFO : [App] [API] [Ingress] [WebScrobbler] [Ingress] [WebScrobbler] ::ffff:127.0.0.1 (192.168.0.100) (UA: Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0) Received data for API URL slug '(none)' for the first time.</span><br></span></code></pre></div></div>
|
||
<p>It also logs if a server tries to connect to a URL that it does not recognize:</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">2023-02-22T11:16:12-05:00 debug : [App ] Server received POST request from ::ffff:192.168.0.100 (UA: PlexMediaServer/1.24.5.5173-8dcc73a59) to unknown route: /plkex</span><br></span></code></pre></div></div>
|
||
<p><strong>So, if you do not see either of these in your logs then the Source is not able to connect to your multi-scrobbler instance at all.</strong></p>
|
||
<p>This is not something multi-scrobbler can fix and means you have an issue in your network.</p>
|
||
<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="troubleshooting">Troubleshooting<a href="#troubleshooting" class="hash-link" aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting" translate="no"></a></h4>
|
||
<p>Check or try all these steps before submitting an issue:</p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="turn-on-debug-logging">Turn on Debug Logging<a href="#turn-on-debug-logging" class="hash-link" aria-label="Direct link to Turn on Debug Logging" title="Direct link to Turn on Debug Logging" translate="no"></a></h5>
|
||
<p>First, turn on <strong>debug</strong> logging for multi-scrobbler by setting the environmental variable <code>DEBUG_MODE=true</code>. Then, check the output for any additional information.</p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="check-host-name-and-url">Check Host name and URL<a href="#check-host-name-and-url" class="hash-link" aria-label="Direct link to Check Host name and URL" title="Direct link to Check Host name and URL" translate="no"></a></h5>
|
||
<p>The URLs examples in the <a class="" href="/multi-scrobbler/configuration/#base-url">configuration</a> documentation assume you are running Webscrobbler/LFM Endpoint 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 <code>localhost</code> when configuring these sources. <strong>This is likely the same host name that you would use to access the web interface for multi-scrobbler.</strong></p>
|
||
<p>EX <code>http://localhost:9078/api/webscrobbler</code> -> <code>http://192.168.0.140:9078/api/webscrobbler</code></p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="check-firewall-and-port-forwarding">Check Firewall and Port Forwarding<a href="#check-firewall-and-port-forwarding" class="hash-link" aria-label="Direct link to Check Firewall and Port Forwarding" title="Direct link to Check Firewall and Port Forwarding" translate="no"></a></h5>
|
||
<p>If the machine multi-scrobbler is running on has a firewall ensure that port <strong>9078</strong> 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.</p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="check-source-service-logs">Check Source Service Logs<a href="#check-source-service-logs" class="hash-link" aria-label="Direct link to Check Source Service Logs" title="Direct link to Check Source Service Logs" translate="no"></a></h5>
|
||
<h6 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="webscrobbler">Webscrobbler<a href="#webscrobbler" class="hash-link" aria-label="Direct link to Webscrobbler" title="Direct link to Webscrobbler" translate="no"></a></h6>
|
||
<p>See <a href="https://github.com/web-scrobbler/web-scrobbler/wiki/Debug-the-extension" target="_blank" rel="noopener noreferrer" class="">Debugging the extension</a> to get logs which should have information about failed requests.</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="spotifydeezerlastfm-wont-authenticate">Spotify/Deezer/LastFM won't authenticate<a href="#spotifydeezerlastfm-wont-authenticate" class="hash-link" aria-label="Direct link to Spotify/Deezer/LastFM won't authenticate" title="Direct link to Spotify/Deezer/LastFM won't authenticate" translate="no"></a></h3>
|
||
<p>Ensure any <strong>client id</strong> or <strong>secrets</strong> are correct in your configuration.</p>
|
||
<p>The callback/redirect URL for these services must be:</p>
|
||
<ul>
|
||
<li class="">the same address you would use to access the multi-scrobbler web interface
|
||
<ul>
|
||
<li class="">the web-interface must be accessible from the browser you are completing authentication from.</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p>If multi-scrobbler is not running on the same machine your browser is on then the default/example addresses (<code>http://localhost...</code>) <strong>will not work.</strong> You must determine the address you can reach the web interface at (such as <code>http://192.168.0.140:9078</code>) then use that in place of <code>localhost</code> in the callback URLs.</p>
|
||
<p>EX <code>http://localhost:9078/lastfm/callback</code> -> <code>http://192.168.0.220:9078/lastfm/callback</code></p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="i-get-errors-with-econnreset-etimedout-enotfound-eai_again">I get errors with <code>ECONNRESET</code> <code>ETIMEDOUT</code> <code>ENOTFOUND</code> <code>EAI_AGAIN</code><a href="#i-get-errors-with-econnreset-etimedout-enotfound-eai_again" class="hash-link" aria-label="Direct link to i-get-errors-with-econnreset-etimedout-enotfound-eai_again" title="Direct link to i-get-errors-with-econnreset-etimedout-enotfound-eai_again" translate="no"></a></h3>
|
||
<p>These are errors indicating a network issue is occuring between you and the Source/Client.</p>
|
||
<ul>
|
||
<li class=""><code>ECONNRESET</code> means the upstream service unexpectedly closed the connection</li>
|
||
<li class=""><code>ETIMEDOUT</code> means the upstream service did not respond to a request MS</li>
|
||
<li class=""><code>ENOTFOUND</code> means that MS could not find a DNS record for the domain of the upstream service</li>
|
||
<li class=""><code>EAI_AGAIN</code> means that a DNS server did not respond to MS's request to lookup the record for a domain</li>
|
||
</ul>
|
||
<p><code>ECONNRESET</code> and timeout issues can occur when you have a poor connection or if the upstream service is overloaded or is generally not behaving well. This is a common occurrence for Listenbrainz/Musicbrainz related requests.</p>
|
||
<p>Please check the <a href="https://status.multi-scrobbler.app" target="_blank" rel="noopener noreferrer" class="">Upstream Services Status Page</a> to independently verify if the service is misbehaving. If the service is up and has good uptime then the issue may be in your network.</p>
|
||
<p><code>ENOTFOUND</code> and <code>EAI_AGAIN</code> and generally caused by DNS caching (stale records) or misbehaving DNS servers. Though this can happen at the upstream service's end, it is <em>usually</em> an issue in your network. If you run a Pihole, AdGaurd, or other DNS solution try flushing the cache for the mishaving domain and check that your DNS application is working correctly.</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="youtube-music-fails-after-some-time">Youtube Music fails after some time<a href="#youtube-music-fails-after-some-time" class="hash-link" aria-label="Direct link to Youtube Music fails after some time" title="Direct link to Youtube Music fails after some time" translate="no"></a></h3>
|
||
<p>If you see errors in multi-scrobbler for YTM that contain <strong>401</strong> or <strong>403</strong> like</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Error: Could not send the specified request to browse. Status code: 401</span><br></span></code></pre></div></div>
|
||
<p>then YTM has invalidated your authentication.</p>
|
||
<p>First, ensure you are NOT using <a class="" href="/multi-scrobbler/configuration/sources/youtube-music/?ytmAuth=ytt#ytm-auth">YoutubeTV authentication.</a> If you completed authentication by entering a "User Code" you are using YoutubeTV which has stopped working. You should reauthenticate using <strong>Cookies</strong> or <strong>Custom OAuth.</strong></p>
|
||
<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="when-using-oauth-client-authentication">When using OAuth Client Authentication<a href="#when-using-oauth-client-authentication" class="hash-link" aria-label="Direct link to When using OAuth Client Authentication" title="Direct link to When using OAuth Client Authentication" translate="no"></a></h4>
|
||
<p>Refresh your authentication by using the <strong>(Re)authenticate</strong> link from MS's web dashboard.</p>
|
||
<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="when-using-cookies-authentication">When using Cookies Authentication<a href="#when-using-cookies-authentication" class="hash-link" aria-label="Direct link to When using Cookies Authentication" title="Direct link to When using Cookies Authentication" translate="no"></a></h4>
|
||
<p>The library MS uses relies on scraping the YTM site by using cookies from your actual browser to pretend it is a browser. It does its best to keep these up to date but since this is not an official way to access the service YTM may invalidate your access <em>to the authenticated session</em> at any time. How this is triggered is unknown and not something multi-scrobbler can control. You can help limit the chance of your session being invalidated by <a href="https://github.com/LuanRT/YouTube.js/issues/803#issuecomment-2504032666" target="_blank" rel="noopener noreferrer" class="">getting the cookie from an Incognito/Private Session</a> and then immediately closing the browser afterwards.</p>
|
||
<p>To re-authenticate MS <a class="" href="/multi-scrobbler/configuration/sources/youtube-music/?ytmAuth=cookie#ytm-auth">follow the YTM instructions to retrieve a new set of cookies for multi-scrobbler</a> and then restart MS to potentially resolve the problem.</p>
|
||
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="configuration-issues">Configuration Issues<a href="#configuration-issues" class="hash-link" aria-label="Direct link to Configuration Issues" title="Direct link to Configuration Issues" translate="no"></a></h2>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="config-could-not-be-parsed">Config could not be parsed<a href="#config-could-not-be-parsed" class="hash-link" aria-label="Direct link to Config could not be parsed" title="Direct link to Config could not be parsed" translate="no"></a></h3>
|
||
<p>If you see something like this in your logs:</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">2023-02-19T10:05:42-06:00 warn : [App] App config file exists but could not be parsed!</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">2023-02-19T10:05:42-06:00 error : [App] Exited with uncaught error</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">2023-02-19T10:05:42-06:00 error : [App] Error: config.json could not be parsed</span><br></span></code></pre></div></div>
|
||
<p>It means the JSON in your configuration file is not valid. Copy and paste your configuration into a site like <a href="https://jsonlint.com/" target="_blank" rel="noopener noreferrer" class="">JSONLint</a> to find out where errors you have and fix them.</p>
|
||
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="scrobbling-issues">Scrobbling Issues<a href="#scrobbling-issues" class="hash-link" aria-label="Direct link to Scrobbling Issues" title="Direct link to Scrobbling Issues" translate="no"></a></h2>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="how-do-i-prevent-duplicate-scrobbles">How do I prevent duplicate scrobbles?<a href="#how-do-i-prevent-duplicate-scrobbles" class="hash-link" aria-label="Direct link to How do I prevent duplicate scrobbles?" title="Direct link to How do I prevent duplicate scrobbles?" translate="no"></a></h3>
|
||
<p>Multi-scrobbler has a <a class="" href="/multi-scrobbler/configuration/duplicates/#how-duplicates-are-detected">robust duplicate scrobble detection system</a> that should handle this for you in the majority of usecases. If you have a <a class="" href="/multi-scrobbler/configuration/duplicates/#valid-configs">simple setup without any circular dependencies</a> then you are already protected against duplicates.</p>
|
||
<p>If your scenario is more complex or you have a service(s) acting as <strong>both</strong> a <strong>Client</strong> and <strong>Source</strong> you should refer to the <a class="" href="/multi-scrobbler/configuration/duplicates/#valid-configs"><strong>Duplicate Scrobble Guidance</strong></a> page to determine if you can avoid a configuration that may result in duplicate scrobbles.</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="lastfm-does-not-scrobble-tracks-with-multiple-artists-correctly">Last.fm does not scrobble tracks with multiple artists correctly<a href="#lastfm-does-not-scrobble-tracks-with-multiple-artists-correctly" class="hash-link" aria-label="Direct link to Last.fm does not scrobble tracks with multiple artists correctly" title="Direct link to Last.fm does not scrobble tracks with multiple artists correctly" translate="no"></a></h3>
|
||
<p>This is a limitation of the <a href="https://www.last.fm/api/show/track.scrobble" target="_blank" rel="noopener noreferrer" class="">Last.fm API</a> where the <strong>artist</strong> field is only one string and Last.fm does not recognize (play well) with "combined" artists.</p>
|
||
<p>Multi-scrobbler works the same was the official Spotify-Last.fm integration works -- it only scrobbles the <strong>first</strong> artist on a multi-artist track.</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="google-cast-track-information-is-missingincorrect-or-ms-player-has-weird-times">Google Cast track information is missing/incorrect or MS player has weird times<a href="#google-cast-track-information-is-missingincorrect-or-ms-player-has-weird-times" class="hash-link" aria-label="Direct link to Google Cast track information is missing/incorrect or MS player has weird times" title="Direct link to Google Cast track information is missing/incorrect or MS player has weird times" translate="no"></a></h3>
|
||
<p>The Google Cast integration relies on a few common fields in the data it receives from your casting device. Every platform that can cast (Spotify, Pandora, etc...) <em>should</em> use these fields the same but there are slight differences between their implementations that may confuse multi-scrobbler. Specific platforms may also return more information in non-common fields that are undocumented.</p>
|
||
<p>To diagnose these issues you <a class="" href="/multi-scrobbler/configuration/sources/google-cast/#cast-troubleshooting"><strong>must enable payload logging</strong></a> for your google cast Source, run MS, and then include logs with this output from that run. Without the raw data logged from your cast device it will be nearly impossible to resolve your issue.</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="google-cast-device-does-not-track-media">Google Cast device does not track media<a href="#google-cast-device-does-not-track-media" class="hash-link" aria-label="Direct link to Google Cast device does not track media" title="Direct link to Google Cast device does not track media" translate="no"></a></h3>
|
||
<p>It is likely the app playing on the cast device is incorrectly reporting the media type as <strong>not music</strong>.</p>
|
||
<p>MS logs will tell you what type the media is reported as with lines like:</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">My Artist - Example Track has 'unknown' media type and allowUnknownMedia=false, will not track</span><br></span></code></pre></div></div>
|
||
<p>Refer to <a class="" href="/multi-scrobbler/configuration/sources/google-cast/#allow-unknown-media-type">Allow Unknown Media Type</a> section to fix this</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">My Artist - Example Track has 'movie' media type so will not track</span><br></span></code></pre></div></div>
|
||
<p>Refer to <a class="" href="/multi-scrobbler/configuration/sources/google-cast/#forcing-media-tracking">Force Media Tracking</a> section to fix this</p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="vlc-is-not-scrobbling-fields-correctly">VLC is not scrobbling fields correctly<a href="#vlc-is-not-scrobbling-fields-correctly" class="hash-link" aria-label="Direct link to VLC is not scrobbling fields correctly" title="Direct link to VLC is not scrobbling fields correctly" translate="no"></a></h3>
|
||
<p>Before reporting an issue turn on metadata logging in the MS VLC configuration, <a class="" href="/multi-scrobbler/configuration/sources/vlc/#vlc-information-reporting">see the VLC documentation.</a></p>
|
||
<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="youtube-music-misses-or-duplicates-scrobbles">Youtube Music misses or duplicates scrobbles<a href="#youtube-music-misses-or-duplicates-scrobbles" class="hash-link" aria-label="Direct link to Youtube Music misses or duplicates scrobbles" title="Direct link to Youtube Music misses or duplicates scrobbles" translate="no"></a></h3>
|
||
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>How MS detects YTM history</summary><div><div class="collapsibleContent_i85q"><p>In order for multi-scrobbler to accurately determine if a song has been scrobbled it needs <strong>a source of truth.</strong> For YTM this is a "history" list scraped from the YTM website. Unfortunately, the data in this list can be (often) inconsistent which makes it hard for multi-scrobbler to "trust" that it is correct and determine when/if new scrobbles occur. This inconsistency is not something multi-scrobbler can control -- it is a side-effect of having to use an unofficial method to access YTM (scraping).</p><p>To compensate for this multi-scrobbler resets when it considers this list the "source of truth" based on if the list changes in an inconsistent way between consecutive checks. New scrobbles can only be detected when this list is "OK" as a source of truth for N+1 checks. Therefore, any new tracks that appear when the list is inconsistent will be ignored.</p><p>Duplicate scrobbles can also occur if the change between two checks is technically consistent. For instance, if you listen to a track twice in some period, separated by other music, YTM will sometimes "remove" the track from the earlier time (further down in your history) and "re-add" it at the top of the history.</p></div></div></details>
|
||
<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="reporting-ytm-scrobble-issues">Reporting YTM scrobble issues<a href="#reporting-ytm-scrobble-issues" class="hash-link" aria-label="Direct link to Reporting YTM scrobble issues" title="Direct link to Reporting YTM scrobble issues" translate="no"></a></h4>
|
||
<p>If you experience scrobble detection issues you can help improve MS's YTM heureistic by providing thorough feedback as <a href="https://github.com/FoxxMD/multi-scrobbler/issues/new?assignees=&labels=bug&projects=&template=01-bug-report.yml&title=bug%3A+" target="_blank" rel="noopener noreferrer" class="">an issue.</a> <strong>Please do the following to provide the most useful report:</strong></p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="turn-on-change-detection">Turn on Change Detection<a href="#turn-on-change-detection" class="hash-link" aria-label="Direct link to Turn on Change Detection" title="Direct link to Turn on Change Detection" translate="no"></a></h5>
|
||
<p>In your YTM configuration (<code>ytmusic.json</code>) add <code>logDiff</code> under <code>options</code> like this:</p>
|
||
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"type"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ytmusic"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"MyYTM"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"data"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> ... </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"options"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"logDiff"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
|
||
<p>or set either ENVs:</p>
|
||
<ul>
|
||
<li class=""><code>YTM_LOG_DIFF=true</code></li>
|
||
<li class=""><a class="" href="/multi-scrobbler/configuration/#debug-mode"><code>DEBUG_MODE=true</code></a></li>
|
||
</ul>
|
||
<p>This will cause MS to log YTM history changes similar to this:</p>
|
||
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">[Ytmusic - MyYTM] Changes from last seen list:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">1. (tuhe1CpHRxY) KNOWER - I’m The President --- undefined => Moved - Originally at 6</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">2. (Mtg8V6Xa2nc) Vulfpeck - Romanian Drinking Song --- Schvitz => Moved - Originally at 1</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">3. (rxbCaiyYSXM) Nightmares On Wax - You Wish --- In A Space Outta Sound => Moved - Originally at 2</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">4. (tMt_YXr90AM) Gorillaz - O Green World --- undefined => Moved - Originally at 3</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">...</span><br></span></code></pre></div></div>
|
||
<p>Which are essential to troubleshooting this behavior.</p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="turn-on-file-logging">Turn on File Logging<a href="#turn-on-file-logging" class="hash-link" aria-label="Direct link to Turn on File Logging" title="Direct link to Turn on File Logging" translate="no"></a></h5>
|
||
<p>Optionally, if your logs are busy due to many other sources, you can log <strong>only</strong> YTM logs to a file. Turn this on with the <code>logToFile</code> config option:</p>
|
||
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"type"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ytmusic"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"MyYTM"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"data"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"> ... </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"options"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"logDiff"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">"logToFile"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
|
||
<p>This will cause MS to write YTM logs to a file in your <code>logs</code> folder named <code>ytmusic-MyYTM.log</code> (based on your source name).</p>
|
||
<h5 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="provide-detail-and-context">Provide Detail and Context<a href="#provide-detail-and-context" class="hash-link" aria-label="Direct link to Provide Detail and Context" title="Direct link to Provide Detail and Context" translate="no"></a></h5>
|
||
<p>Provide a detailed account of how you were using YTM when the issue occurred, including things like:</p>
|
||
<ul>
|
||
<li class="">the platform listening on (desktop, mobile, 3rd party client, etc...)</li>
|
||
<li class="">any changes in platform
|
||
<ul>
|
||
<li class="">
|
||
<blockquote>
|
||
<p>I switched from desktop to listening on my phone...</p>
|
||
</blockquote>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="">how you were listening to music
|
||
<ul>
|
||
<li class="">
|
||
<blockquote>
|
||
<p>I was playing an album start to finish</p>
|
||
</blockquote>
|
||
</li>
|
||
<li class="">
|
||
<blockquote>
|
||
<p>I listened to two songs in a row, then browsed for a new song in library by artist, then went back to a song in the queue...</p>
|
||
</blockquote>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p>Explain the expected behavior (it should have scrobbled songs x, y, then z) and what actually happened (it scrobbled songs x, then y, then x again, then z)</p>
|
||
<p>Provide ALL logs from the time when the issue occurred including logs from BEFORE (ideally 2-3 minutes of logs) and AFTER the issue.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https:/github.com/FoxxMD/multi-scrobbler/blob/master/docsite/docs/FAQ.md?plain=1" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/multi-scrobbler/development/flatpak/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Flatpak</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/multi-scrobbler/help/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Help</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#connection-issues" class="table-of-contents__link toc-highlight">Connection Issues</a><ul><li><a href="#ingress-connection" class="table-of-contents__link toc-highlight">Webscrobbler/Listenbrainz Endpoint doesn't connect</a><ul><li><a href="#troubleshooting" class="table-of-contents__link toc-highlight">Troubleshooting</a><ul><li><a href="#turn-on-debug-logging" class="table-of-contents__link toc-highlight">Turn on Debug Logging</a></li><li><a href="#check-host-name-and-url" class="table-of-contents__link toc-highlight">Check Host name and URL</a></li><li><a href="#check-firewall-and-port-forwarding" class="table-of-contents__link toc-highlight">Check Firewall and Port Forwarding</a></li><li><a href="#check-source-service-logs" class="table-of-contents__link toc-highlight">Check Source Service Logs</a></li></ul></li></ul></li><li><a href="#spotifydeezerlastfm-wont-authenticate" class="table-of-contents__link toc-highlight">Spotify/Deezer/LastFM won't authenticate</a></li><li><a href="#i-get-errors-with-econnreset-etimedout-enotfound-eai_again" class="table-of-contents__link toc-highlight">I get errors with <code>ECONNRESET</code> <code>ETIMEDOUT</code> <code>ENOTFOUND</code> <code>EAI_AGAIN</code></a></li><li><a href="#youtube-music-fails-after-some-time" class="table-of-contents__link toc-highlight">Youtube Music fails after some time</a><ul><li><a href="#when-using-oauth-client-authentication" class="table-of-contents__link toc-highlight">When using OAuth Client Authentication</a></li><li><a href="#when-using-cookies-authentication" class="table-of-contents__link toc-highlight">When using Cookies Authentication</a></li></ul></li></ul></li><li><a href="#configuration-issues" class="table-of-contents__link toc-highlight">Configuration Issues</a><ul><li><a href="#config-could-not-be-parsed" class="table-of-contents__link toc-highlight">Config could not be parsed</a></li></ul></li><li><a href="#scrobbling-issues" class="table-of-contents__link toc-highlight">Scrobbling Issues</a><ul><li><a href="#how-do-i-prevent-duplicate-scrobbles" class="table-of-contents__link toc-highlight">How do I prevent duplicate scrobbles?</a></li><li><a href="#lastfm-does-not-scrobble-tracks-with-multiple-artists-correctly" class="table-of-contents__link toc-highlight">Last.fm does not scrobble tracks with multiple artists correctly</a></li><li><a href="#google-cast-track-information-is-missingincorrect-or-ms-player-has-weird-times" class="table-of-contents__link toc-highlight">Google Cast track information is missing/incorrect or MS player has weird times</a></li><li><a href="#google-cast-device-does-not-track-media" class="table-of-contents__link toc-highlight">Google Cast device does not track media</a></li><li><a href="#vlc-is-not-scrobbling-fields-correctly" class="table-of-contents__link toc-highlight">VLC is not scrobbling fields correctly</a></li><li><a href="#youtube-music-misses-or-duplicates-scrobbles" class="table-of-contents__link toc-highlight">Youtube Music misses or duplicates scrobbles</a><ul><li><a href="#reporting-ytm-scrobble-issues" class="table-of-contents__link toc-highlight">Reporting YTM scrobble issues</a><ul><li><a href="#turn-on-change-detection" class="table-of-contents__link toc-highlight">Turn on Change Detection</a></li><li><a href="#turn-on-file-logging" class="table-of-contents__link toc-highlight">Turn on File Logging</a></li><li><a href="#provide-detail-and-context" class="table-of-contents__link toc-highlight">Provide Detail and Context</a></li></ul></li></ul></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/multi-scrobbler/">Overview</a></li><li class="footer__item"><a class="footer__link-item" href="/multi-scrobbler/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/multi-scrobbler/configuration/">Configuration</a></li><li class="footer__item"><a class="footer__link-item" href="/multi-scrobbler/development/dev-common/">Development</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/foxxmd/multi-scrobbler" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://multi-scrobbler.app" target="_blank" rel="noopener noreferrer" class="footer__link-item">Website<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Multi-Scrobbler. Built with Docusaurus.</div></div></div></footer></div>
|
||
</body>
|
||
</html> |