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

ScoreboardManager is null at the start of the server #268

Open tommrchd opened 4 months ago

tommrchd commented 4 months ago

Hi, I have an issue each time I restart my server and try to reach scoreboard objectives. The only solution that I have is to reload the plugin one time after each restart. I think it come from the fact that the plugin maybe load before the worlds, and it leads to unloaded objectives :

java.lang.NullPointerException: Cannot invoke "org.bukkit.scoreboard.ScoreboardManager.getMainScoreboard()" because "this.scoreboardManager" is null
        at io.servertap.api.v1.ServerApi.objectiveGet(ServerApi.java:252) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.routing.HandlerEntry.handle(HandlerEntry.kt:19) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.http.servlet.DefaultTasks.HTTP$lambda$8$lambda$6$lambda$5$lambda$4$lambda$3(DefaultTasks.kt:32) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.http.servlet.JavalinServlet.handleTask(JavalinServlet.kt:88) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.http.servlet.JavalinServlet.handleSync(JavalinServlet.kt:53) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.http.servlet.JavalinServlet.service(JavalinServlet.kt:41) ~[ServerTap-0.6.1.jar:?]
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:58) ~[ServerTap-0.6.1.jar:?]
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[ServerTap-0.6.1.jar:?]
        at io.javalin.jetty.JettyServer$start$wsAndHttpHandler$1.doHandle(JettyServer.kt:61) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.Server.handle(Server.java:563) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) ~[ServerTap-0.6.1.jar:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) ~[ServerTap-0.6.1.jar:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]