SIGMA-L / PlayerRoleChecker

MinecraftアカウントとDiscordアカウントを連携する為のプラグインです。
https://prc-mc.net
GNU General Public License v3.0
5 stars 2 forks source link

[Bug] CheckerとConnectorの同時導入環境でコードが表示されない #14

Open wacch opened 1 year ago

wacch commented 1 year ago

1.20.1環境かつ、RoleCheckerとConnectorを同時に導入している環境で、verifiedPlayerIgnoreをtrueにしているにも関わらず、Connector側の認証を促すメッセージが優先され、認証コードが表示されません。 1.19.2のときは正常に動いていたconfigにもかかわらず、アップデートを行った後動作しなくなったためマインクラフトのバージョンがこの問題のトリガーになっている可能性があります。 (私の予想なのですが、1.20からプラグインの優先順位に関する何かしらの変更が入っていた気がするので、それが関係しているのではないかなと思っています。)

この問題は、whitelistSkipをtrueにすることで認証コードが表示され、認証を行うことができますが、通常は認証プロセス自体をスキップできなければならないはずなのと、ホワリスの利用前提の場合は認証プラグインを使用する理由もないため、問題の解決にはなりません。

環境 Minecraft: Purpur1.20.1 git-2004 Plugins: PlayerRoleChecker4.22-no-mysql PlayerRoleCheckerConnector4.22-no-mysql

出力

[23:51:50 INFO]: Disconnecting com.mojang.authlib.GameProfile@764fd44f[id=4688d87b-4423-4566-8ca1-43e80b6db63a,name=wachwach_1009,properties={textures=[com.mojang.authlib.properties.Property@2f121a9c]},legacy=false] (/IP:37492): あなたには参加権限がありません。
Discordの#認証用で認証を行う必要があります。
[23:51:50 INFO]: com.mojang.authlib.GameProfile@764fd44f[id=4688d87b-4423-4566-8ca1-43e80b6db63a,name=wachwach_1009,properties={textures=[com.mojang.authlib.properties.Property@2f121a9c]},legacy=false] (/IP:37492) lost connection: あなたには参加権限がありません。
Discordの#認証用で認証を行う必要があります。

Config(一部抜粋) ・RoleChecker

Discord:
  limits:
    ## canRegisterUnlimitedAccount: 1アカウントごとの登録可能数を無限にします (SQLの通信が減ります)
    canRegisterUnlimitedAccount: true
    ## maxDiscordPerAccount: 1アカウントごとにマインクラフトのアカウントを何個登録できるか (SQLの通信が増えます)
    maxAccountPerDiscord: 1
  DiscordToken: token
  AdminChannel: id
  ChannelID: id
  addToRole: id
  ChangeNickName: false
  limitCommand: false
  CreateTicketChannel: false
  ChannelCategory: id
## Message: 色々なメッセージをカスタマイズできます
## JoinEvent: マインクラフトユーザーがコードを発行したときのメッセージ
## - already-code: すでに発行されている場合のkickメッセージ
## - code: 発行された場合のkickメッセージ
JoinEvent:
  limit:
    min: 1000
    max: 9999
  verifiedPlayerIgnore: true
  deleteSecond: 300
  already-code:
    - '&cあなたには参加権限がありません。&6Discordの&b#認証用&6で認証を行う必要があります。'
    - '&cあなたのコードは発行済みです。コードは「%code%」 です。発行されてから5分以内に認証してください。'
  code:
    - '&cあなたには参加権限がありません。&6Discordの&b#認証用&6で認証を行う必要があります。'
    - '&cあなたのコードは「%code%」です。5分以内に認証してください。'

・Connector

Discord:
  DiscordToken: token
  GuildID: id
  RoleID:
    - id
## Minecraft: 参加メッセージ
## %name% - プレイヤー名
## %uuid% - UUID
## %discordid% - discordID
## %role% - role
Minecraft:
  debug: true
  ## whitelistSkip: マインクラフトのホワイトリストでスキップするか
  whitelistSkip: true
  ## defaultJoinMode: 初期の参加可能モード
  defaultJoinMode: true
  kickMessage:
    - '&cあなたには参加権限がありません。'
    - '&6Discordの&b#認証用&6で認証を行う必要があります。'
  errorCaught:
    - '&cエラーが発生しました。'
    - '&c管理者に報告してください。'
KoutaChan commented 1 year ago

2個同時に入れることは非推奨ですが一応修正します 今後、恐らく一つになったバージョンを追加すると思います。