誤BANについて

※筆者はQBCoreを使用しています、ESXについては存じ上げません。

 

今回は誤BAN対策と、誤BANが起きてしまったときの

対応について書いていきます。

 

 

私が運営をしていて初めて起きた誤BANは、QBの宝石強盗スクリプト(qb-jewelry)が原因でした。
宝石強盗を行っていた犯罪者たちが一斉にサーバーからBANされてしまいました。

 

 

 

qb-jewelry以外にもMODの中にはチーターやグリッチ対策用に

とある条件が満ちた場合にプレイヤーをBANする」記述が書かれているものがあります。

 

①怪しいリソースからbanに関する記述を探し、消す

 

qb-jewelryのスクリプトを見てみると、server/main.luaの中にこんな記述が↓↓

ちなみに、私はいつも怪しいと思ったリソースフォルダをVScodeで開き

左側の虫眼鏡マークで「ban」で調べて該当部分を発見しています。

 

 

プログラミングがあまり分からないので、

banって書いてあるからたぶんこれだ!!!!くらいの気持ちで発見しています。

 

とりあえずbanに関する記述がある部分を全てコメントアウトさせます。
luaのコメントアウトは「–(半角ハイフン2つ)」を付けるとできますよ!

 

該当部分を消してしまうと、それでプログラムが動かなくなったときに困るので
基本的に消したい部分はコメントアウトにしておくと安全です。

 

 

コメントアウトとは?…プログラムにおいて、実行されないようメモ書きすること。

 

こんな感じ。

ちなみにプログラムによってコメントアウトの仕方は違うので、調べてみてください。

 

 

プログラムが勝手にBANしてしまう記述が消せたらリソースを再起動します。

 

これで今後そのリソースによって誤BANされることはないでしょう。

 

②BANの解除方法

 

さて、次はすでに誤BANされてしまった方のBAN解除方法です。

 

上のプログラムを見ると、

MySQL.insert(’INSERT INTO bans(name,license,discord,ip,reason,expire,bannedby)とありますね。

つまり、データベースのbansテーブルにBANされた方の情報が入ってしまっているということです。

 

そのためデータベースのbansテーブルの中から該当人物の記述を消せば、完了です。

 

 

ちなみに、bansテーブルの中身を消すためのSQLは

delete from bans where [条件];

です。

 

[条件]には、BANされてしまっている人の情報をいれます。

そうすることで、条件に合ったデータのみが削除可能です。

 

 

上のINSERT文を見てみると、

bansに入っている情報は「name, license, discord, ip, reason, expire, bannedby」なので

 

delete from bans where license = “123456789”;

 

と入れれば、ライセンスが123456789の人がBANから削除されます。

 

ライセンスの番号は、txAdminの右側プレイヤーリストをクリックし

「IDs」を見ると書いてあります。

 

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です