Yban 2.0.2

12 月 2, 2018
13
4
3
#1
Yomogiβの新しいコンテンツ:

Yban - クライアントidではない別の端末idを利用したbanシステム

AltayPlayer.phpを見ていたら、クライアントidとは別の端末idを取得する関数を見つけ、自分の環境で動かしてみると、以下の特徴を見つけました。

  • 名前を変えてもidが変わらない
  • xboxへのログインの有無に関係なくidが変わらない
  • 接続先を変えてもidが変わらない
  • マイクラをアンインストールしてもidが変わらない
  • 端末を再起動してもidが変わらない

という、かなり使い勝手のいいものだったのでこれを利用してbanプラグインを作成しました

注意
...
このコンテンツの詳細を読む...
 

Yomogiβ

New member
12 月 2, 2018
13
4
3
#7
注意: 端末idはクライアントidと同じ場所に保存されており、容易に変更可能です。
ご指摘ありがとうございます。
Client IDの保存場所はおそらく games\com.mojang\minecraftpe\clientId.txt だと思われるのですが、自分の環境だと、このあたり周辺に、Device IDの記載らしきものがないよな気がします。しかし、これは自分がiPhoneでiTunesの共由機能を使用してgamesファイルを取り出しているためかもしれません。もしよろしければ、Device ID記載の場所を教えてもらえないでしょうか?お願いいたします。
 

Yomogiβ

New member
12 月 2, 2018
13
4
3
#8
YomogiβがYbanのアップデートをしました:

pm-mpアップデートによる仕様変更への仮対応、

最新のsrcにて、banユーザーをkickする際に、サーバーエラーが起きるバグを修正しました。


詳細:

今まで、kickの際はPlayerPreLoginEventをキャンセルしていたのですが、pm-mp側がこのEventのキャンセルを is notにしたため、使用できなくなりました。
PHP:
BadMethodCallException: "pocketmine\event\player\PlayerPreLoginEvent is not Cancellable" (EXCEPTION) in "src/pocketmine/event/Event" at line 70

そこで、PlayerLoginEventをキャンセルしたのですが、こちらは、PreSpawnSessionHandlerでエラーが発生しました。

PHP:
 TypeError: "Argument 2 passed to...
このコンテンツの詳細を読む...
 
3月 30, 2018
2
0
1
#9
ご指摘ありがとうございます。
Client IDの保存場所はおそらく games\com.mojang\minecraftpe\clientId.txt だと思われるのですが、自分の環境だと、このあたり周辺に、Device IDの記載らしきものがないよな気がします。しかし、これは自分がiPhoneでiTunesの共由機能を使用してgamesファイルを取り出しているためかもしれません。もしよろしければ、Device ID記載の場所を教えてもらえないでしょうか?お願いいたします。
失礼しました。「容易に変更可能」というのは僕の勘違いでした。
clientIdと同様の場所にhsというファイルがありますが、ここにdeviceIdが記録されていました。
ですが、削除や書き換えを行っても復元するため、ある程度の信用性はある…ようです。
(ですが端末idを書き換えてる?(まだ調査中なのですが…)ようなユーザーをたまに見かけるんですよね…)
 

Yomogiβ

New member
12 月 2, 2018
13
4
3
#10
失礼しました。「容易に変更可能」というのは僕の勘違いでした。
clientIdと同様の場所にhsというファイルがありますが、ここにdeviceIdが記録されていました。
ですが、削除や書き換えを行っても復元するため、ある程度の信用性はある…ようです。
(ですが端末idを書き換えてる?(まだ調査中なのですが…)ようなユーザーをたまに見かけるんですよね…)
自分の環境ではhsというファイルが見当たらなかったので、もう少し調べておく必要があったと反省しております。そして、わざわざ調査をありがとうございます。
 

Yomogiβ

New member
12 月 2, 2018
13
4
3
#12
YomogiβがYbanのアップデートをしました:

軽微な修正

device idは安全だと信じたい道端の草がYbanに軽微な修正を加えました

・何故かapi 4.0.0にしているのを修正
・PlayerPreLoginEventのイベントキャンセルが可能になっていたので、ban該当者の接続キャンセルをkickからイベントキャンセルに変更


おしまい。
このコンテンツの詳細を読む...