Closed wacch closed 1 year ago
対応が遅くなりすいませんでした 恐らくJDAの問題なのでzipファイルの中に入っているjarファイルで試してみてください packed.zip
エラー内容を見直しましたが、登録しているユーザーが抜けていませんか?(通常debugをtrueにしない限りエラーは出ないはずですが、falseにしている場合は教えてください。)
もしそうだったら抜けているユーザーに対して別のエラーメッセージを送るように修正したほうがいいですか?
デバッグはtrueに設定しています。 登録するユーザーはDiscordサーバーにきちんと入っている状態でこのエラーが出ます。どうやら全員に出るようではなく、一部のプレイヤーに出る問題かもしれませんし(プラグイン更新前に他のプレイヤーが認証に成功していました)、Discordもしくはマインクラフトサーバーがわの一時的な障害の可能性もあります。 現状はひとまずプラグインを更新して、認証ができるか確認するところです。
追加情報ですが、認証しようとしたプレイヤーはJE版です。逆に異常発生後にログインに成功したプレイヤーはBE版でした。他に必要な情報がある場合は教えてもらえれば都度提供します。
エラーが再度発生するなら、教えてください。 微調整してみます
おまたせしました 更新版で再度確認しましたが、同様の問題が発生しますね...(エラー内容は同じですが一応末尾に共有します) そしておそらく特定の個人にのみ起こっている問題である可能性が高いです
Discordサーバに入り直してもらったりもしましたが、効果なしですね ニックネームも関係ないようです
どのような情報が問題の解決に必要かわからないので、必要であれば教えていただけると助かります。
[17:08:19 WARN]: net.dv8tion.jda.api.exceptions.ErrorResponseException: 10007: Unknown Member
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.internal.requests.RestActionImpl.complete(RestActionImpl.java:227)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.internal.requests.DeferredRestAction.complete(DeferredRestAction.java:182)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.api.requests.RestAction.complete(RestAction.java:632)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.klnetwork.playerrolecheckerconnector.event.JoinEvent.isJoin(JoinEvent.java:63)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.klnetwork.playerrolecheckerconnector.event.JoinEvent.onPreLoginEvent(JoinEvent.java:42)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.klnetwork.playerrolechecker.api.data.JoinManager.lambda$onAsyncPlayerJoinEvent$0(JoinManager.java:30)
[17:08:19 WARN]: at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.klnetwork.playerrolechecker.api.data.JoinManager.onAsyncPlayerJoinEvent(JoinManager.java:28)
[17:08:19 WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor75.execute(Unknown Source)
[17:08:19 WARN]: at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77)
[17:08:19 WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76)
[17:08:19 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[17:08:19 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:678)
[17:08:19 WARN]: at net.minecraft.server.network.LoginListener$LoginHandler.fireEvents(LoginListener.java:433)
[17:08:19 WARN]: at net.minecraft.server.network.LoginListener$2.run(LoginListener.java:377)
[17:08:19 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[17:08:19 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[17:08:19 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[17:08:19 WARN]: Caused by: net.dv8tion.jda.api.exceptions.ContextException
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.api.exceptions.ContextException.here(ContextException.java:54)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.api.requests.Request.<init>(Request.java:72)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.api.requests.RestFuture.<init>(RestFuture.java:35)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.internal.requests.RestActionImpl.submit(RestActionImpl.java:209)
[17:08:19 WARN]: at PlayerRoleCheckerConnector-4.22-no-mysql.jar//net.dv8tion.jda.internal.requests.RestActionImpl.complete(RestActionImpl.java:219)
[17:08:19 WARN]: ... 17 more
一応確認なんですが GuildIDとかは設定してますか?
特定の個人ならSQL関係もあやしいですが...
DBは後ほど確認してみます
原因が判明しました。
エラー内容を見直しましたが、登録しているユーザーが抜けていませんか? 結論から言いますとこれが原因です。
今回認証を行おうとしていたユーザーが過去に別のDiscordアカウントで認証を行なっていたようで、その後Discrordサーバーからは抜けてしまったのですが、別のアカウントで再度Discordサーバーに入り、認証をしようとしたためにこの問題が発生したようです。 レコードの削除は行なっていおらず、かつMinecraftのアカウントは同一のものを使用していたようです。
完全に別の人物だと思っていたので、この事実に気がつくことができませんでした。なので、プラグインの問題ではありませんでした。大変お騒がせしました...
PlayerRoleCheckerConnector-4.22にて未認証のプレイヤーがログインすると以下のエラーが出力され、認証コードを確認することができません。認証済みのプレイヤーには影響はありません。 PlayerRoleCheckerとPlayerRoleCheckerConnectorを同一環境に導入しています。
環境 Minecraft: Purpur1.19.2 git-1858 Plugins: PlayerRoleChecker4.22-no-mysql PlayerRoleCheckerConnector4.22-no-mysql DiscordVersion: Stable 196098 (47dfda7), Host 1.0.9013 (32266)
出力