servertap-io / servertap

ServerTap is a REST API for Bukkit/Spigot/Paper Minecraft servers
https://servertap.io
MIT License
226 stars 57 forks source link

World download endpoints are resulting in garbage zips on Windows #128

Closed ATechAdventurer closed 2 years ago

ATechAdventurer commented 2 years ago

When attempting to hit any of the world download endpoints on windows the system spits out bad data.

java.util.regex.PatternSyntaxException: Unexpected internal error near index 2 ^\ at java.util.regex.Pattern.error(Pattern.java:2028) ~[?:?] at java.util.regex.Pattern.compile(Pattern.java:1789) ~[?:?] at java.util.regex.Pattern.(Pattern.java:1430) ~[?:?] at java.util.regex.Pattern.compile(Pattern.java:1069) ~[?:?] at java.lang.String.replaceFirst(String.java:2895) ~[?:?] at io.servertap.api.v1.ServerApi.addFolderToZip(ServerApi.java:223) ~[ServerTap-0.2.0.jar:?] at io.servertap.api.v1.ServerApi.addFolderToZip(ServerApi.java:216) ~[ServerTap-0.2.0.jar:?] at io.servertap.api.v1.ServerApi.downloadWorld(ServerApi.java:272) ~[ServerTap-0.2.0.jar:?] at io.servertap.PluginEntrypoint.lambda$null$1(PluginEntrypoint.java:147) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet.addHandler$lambda-5(JavalinServlet.kt:113) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet$service$tryBeforeAndEndpointHandlers$1.invoke(JavalinServlet.kt:44) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet$service$tryBeforeAndEndpointHandlers$1.invoke(JavalinServlet.kt:39) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet.service$tryWithExceptionMapper(JavalinServlet.kt:129) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet.service$tryBeforeAndEndpointHandlers(JavalinServlet.kt:39) ~[ServerTap-0.2.0.jar:?] at io.javalin.http.JavalinServlet.service(JavalinServlet.kt:87) ~[ServerTap-0.2.0.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[ServerTap-0.2.0.jar:?] at io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:58) ~[ServerTap-0.2.0.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[ServerTap-0.2.0.jar:?] at io.javalin.jetty.JettyServer$start$wsAndHttpHandler$1.doHandle(JettyServer.kt:52) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[ServerTap-0.2.0.jar:?] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[ServerTap-0.2.0.jar:?] at java.lang.Thread.run(Thread.java:833) ~[?:?]

phybros commented 2 years ago

@ATechAdventurer can you try this again with the latest version?

phybros commented 2 years ago

closing due to inactivity, and because we use .tar.gz now