Walkyst / lavaplayer-fork

Apache License 2.0
173 stars 68 forks source link

Can't play music on SoundCloud #113

Closed phamleduy04 closed 1 year ago

phamleduy04 commented 1 year ago

URL: https://soundcloud.com/devnguyxn/nhac-hoi-chay

Logs

2023-07-03 02:14:39.671  INFO 1 --- [  XNIO-1 task-2] l.server.player.AudioLoaderRestHandler   : Got request to load for identifier "https://soundcloud.com/devnguyxn/nhac-hoi-chay"
2023-07-03 02:14:39.674  INFO 1 --- [ader-2-thread-1] c.s.d.l.s.s.SoundCloudClientIdTracker    : Updating SoundCloud client ID (current is null).
2023-07-03 02:14:39.761 ERROR 1 --- [ader-2-thread-1] c.s.d.l.s.s.SoundCloudClientIdTracker    : SoundCloud client ID update failed.
java.io.IOException: Invalid status code for main page response: 403
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:157) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudClientIdTracker.findScriptUrls(SoundCloudClientIdTracker.java:89) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudClientIdTracker.findClientIdFromSite(SoundCloudClientIdTracker.java:82) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudClientIdTracker.updateClientId(SoundCloudClientIdTracker.java:56) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudClientIdTracker.getClientId(SoundCloudClientIdTracker.java:67) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudHttpContextFilter.onRequest(SoundCloudHttpContextFilter.java:47) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.tools.http.SettableHttpRequestFilter.onRequest(SettableHttpRequestFilter.java:41) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface.execute(HttpInterface.java:69) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.DefaultSoundCloudDataLoader.load(DefaultSoundCloudDataLoader.java:19) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:209) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.processAsSingleTrack(SoundCloudAudioSourceManager.java:186) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadItem(SoundCloudAudioSourceManager.java:123) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:449) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:431) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:223) ~[lavaplayer-1.4.2.jar!/:na]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
2023-07-03 02:14:40.080  WARN 1 --- [ader-2-thread-1] c.s.d.l.p.DefaultAudioPlayerManager      : Suspicious exception for loading item https://soundcloud.com/devnguyxn/nhac-hoi-chay
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading track from SoundCloud failed.
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:218) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.processAsSingleTrack(SoundCloudAudioSourceManager.java:186) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadItem(SoundCloudAudioSourceManager.java:123) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:449) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:431) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:223) ~[lavaplayer-1.4.2.jar!/:na]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation: 
  lavaplayer.version: 1.4.2-original
  os.arch: amd64
  os.name: Linux
  os.version: 5.4.0-153-generic
  java.vendor: Eclipse Adoptium
  java.version: 18.0.2.1
  java.runtime.version: 18.0.2.1+1
  java.vm.version: 18.0.2.1+1
Caused by: java.io.IOException: Invalid status code for video page response: 401
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:157) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.DefaultSoundCloudDataLoader.load(DefaultSoundCloudDataLoader.java:24) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:209) ~[lavaplayer-1.4.2.jar!/:na]
    ... 9 common frames omitted
2023-07-03 02:14:40.081 ERROR 1 --- [ader-2-thread-1] lavalink.server.player.AudioLoader       : Load failed
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading track from SoundCloud failed.
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:218) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.processAsSingleTrack(SoundCloudAudioSourceManager.java:186) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadItem(SoundCloudAudioSourceManager.java:123) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:449) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:431) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:223) ~[lavaplayer-1.4.2.jar!/:na]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
    Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation: 
  lavaplayer.version: 1.4.2-original
  os.arch: amd64
  os.name: Linux
  os.version: 5.4.0-153-generic
  java.vendor: Eclipse Adoptium
  java.version: 18.0.2.1
  java.runtime.version: 18.0.2.1+1
  java.vm.version: 18.0.2.1+1
Caused by: java.io.IOException: Invalid status code for video page response: 401
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:157) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.DefaultSoundCloudDataLoader.load(DefaultSoundCloudDataLoader.java:24) ~[lavaplayer-1.4.2.jar!/:na]
    at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:209) ~[lavaplayer-1.4.2.jar!/:na]
    ... 9 common frames omitted
jarcopolo commented 1 year ago

I have a similar issue, playing from Soundcloud works when i'm using my app on my Windows desktop, but not when using it on my remote Linux server

com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading track from SoundCloud failed.
        at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:218)
        at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.processAsSingleTrack(SoundCloudAudioSourceManager.java:186)
        at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadItem(SoundCloudAudioSourceManager.java:123)
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:449)
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:431)
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:223)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
        Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.4.2-original
  os.arch: aarch64
  os.name: Linux
  os.version: 5.4.17-2136.318.7.1.el7uek.aarch64
  java.vendor: Oracle Corporation
  java.version: 17.0.5
  java.runtime.version: 17.0.5+9-LTS-191
  java.vm.version: 17.0.5+9-LTS-191
Caused by: java.io.IOException: Invalid status code for video page response: 401
        at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:157)
        at com.sedmelluq.discord.lavaplayer.source.soundcloud.DefaultSoundCloudDataLoader.load(DefaultSoundCloudDataLoader.java:24)
        at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager.loadTrack(SoundCloudAudioSourceManager.java:209)
        ... 9 more
AADI0009 commented 1 year ago

Got the same issue and mine error shows 403 and 401 and whereas 403 is for a failed request where the server understood the request but failed or refused to fullfil it and the 401 is unauthorised which maybe a issue with soundcloud authentication on how it works with lavaplayer

Walkyst commented 1 year ago

@phamleduy04 @jarcopolo @AADI0009 From what country you do requests?

jarcopolo commented 1 year ago

I've done some testing, and the results are:

2 days ago (July 03, 2023):

Windows desktop, Poland - ✔️ working
Linux remote server, Germany - ❌ not working (youtube worked fine though)

Today (July 05, 2023):

Windows desktop, Poland - ✔️ working
Windows desktop, VPN to Germany - ✔️ working
Linux as VM on Windows host, Poland - ✔️ working
Linux as VM on Windows host, VPN to Germany - ✔️ working
Linux as VM on Windows host, VPN to Norway - ✔️ working

And surprisingly:
Linux remote server, Germany - ✔️ now working without trouble

I didn't change anything meaningful in my app, and now it works as expected. Possibly the error is on Souncloud's side

phamleduy04 commented 1 year ago

@phamleduy04 @jarcopolo @AADI0009 From what country you do requests?

I request using VPN to Houston, TX, US

phamleduy04 commented 1 year ago

I did use the link again. It worked now 👍. Seems like SoundCloud issue