Skip to content

Bad request when dowload cursforge modpack #133

@AlexisHutin

Description

@AlexisHutin

With this pack : https://www.curseforge.com/minecraft/modpacks/modecube
It cannot download the pack, maybe the cause is the zip url that it contains an 'é'.
I can download it manually and the link is encoded like this by my browser : https://edge.forgecdn.net/files/4374/742/Mod%C3%A9Cube-1.12.zip

If you need more info, tell me :)

[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 2 1000 1000 4096 Feb  2 21:06 /data'

[init] Resolved version given LATEST into 1.19.3 and major version 1.19

[init] Resolving type given AUTO_CURSEFORGE

[mc-image-helper] 21:09:11.261 INFO  : Processing modpack 'ModéCube 1.12' (modecube) @ 790391:4374742

[mc-image-helper] 21:09:11.830 ERROR : 'install-curseforge' command failed. Version is 1.24.20

me.itzg.helpers.http.FailedRequestException: HTTP request of https://edge.forgecdn.net/files/4374/742/ModéCube-1.12.zip failed with 400 Bad Request: Trying to retrieve file

    at me.itzg.helpers.http.FetchBuilderBase.failedRequestMono(FetchBuilderBase.java:145)

    at me.itzg.helpers.http.SpecificFileFetchBuilder.lambda$assemble$6(SpecificFileFetchBuilder.java:109)

    at reactor.netty.http.client.HttpClientFinalizer.lambda$responseSingle$6(HttpClientFinalizer.java:121)

    at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)

    at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)

    at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:174)

    at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:172)

    at reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:431)

    at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:710)

    at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onStateChange(DefaultPooledConnectionProvider.java:195)

    at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onStateChange(DefaultPooledConnectionProvider.java:456)

    at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:647)

    at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)

    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

    at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)

    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)

    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)

    at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)

    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

    at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1373)

    at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1236)

    at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1285)

    at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)

    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)

    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)

    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)

    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)

    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)

    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)

    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)

    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397)

    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)

    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)

    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

    at java.base/java.lang.Thread.run(Unknown Source)

    Suppressed: java.lang.Exception: #block terminated with an error

  	  at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)

  	  at reactor.core.publisher.Mono.block(Mono.java:1710)

  	  at me.itzg.helpers.http.SpecificFileFetchBuilder.execute(SpecificFileFetchBuilder.java:61)

  	  at me.itzg.helpers.curseforge.CurseForgeInstaller.downloadAndProcessModpackZip(CurseForgeInstaller.java:269)

  	  at me.itzg.helpers.curseforge.CurseForgeInstaller.processModPack(CurseForgeInstaller.java:185)

  	  at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:124)

  	  at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:137)

  	  at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:20)

  	  at picocli.CommandLine.executeUserObject(CommandLine.java:2041)

  	  at picocli.CommandLine.access$1500(CommandLine.java:148)

  	  at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)

  	  at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)

  	  at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)

  	  at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)

  	  at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)

  	  at picocli.CommandLine.execute(CommandLine.java:2170)

  	  at me.itzg.helpers.McImageHelper.main(McImageHelper.java:121)

[init] ERROR failed to auto-install CurseForge modpack

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions