誤BANについて

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

 

今回は誤BAN対策と、誤BANが起きてしまったときの対応について書いていきます。

 

私が運営をしていて初めて起きた誤BANは、デフォルトで入っていた宝石強盗スクリプト(qb-jewelry)が原因でした。

宝石強盗を行っていた犯罪者たちが一斉にサーバーからBANされてしまいました。

 

qb-jewelry以外にもMODの中にはチーターやグリッチ対策用に
とある条件が満ちた場合にプレイヤーをBANする」記述が書かれているものがあります。

 

当時の私は「えぇぇぇなんで!?BANなんかしてないよ!?!?」と大焦り….

スクリプトに自動BANの処理がされてるなんて思ってもいなかったですw

 

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

 

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

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

左側の虫眼鏡マークで「ban」で調べて該当部分を発見しています。
※VScodeでなくても、Googleやメモ帳などでもCtrl+Fを押すと文字検索が出来ますよ!

私はプログラミングがあまり分からないので、
banって書いてあるからたぶんこれだ!!!!くらいの気持ちで発見しています。

 

とりあえずbanに関する記述がある部分を全てコメントアウトさせます。
luaのコメントアウトは「–(半角ハイフン2つ)」を付けるとできますよ!
※VSCodeやSublimeTextであれば「Ctrl+?」で自動的にその書式にあったコメントアウトが付きます。

 

BANに関する記述なんていらないじゃん!消しちゃおうよ!と思う気持ちもわかります。
でも、該当部分を完全に消してしまうと、それでプログラムが動かなくなったときに困るので
基本的に消したい部分はコメントアウトにしておくと安全です♫

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

 

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

例)HTML <!–コメントアウトはコレで挟む!手入力せずCtrl+?でも勝手に付くよ! –>

 

プログラムが勝手に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されてしまっている人の情報をいれます。
そうすることで、条件に合ったデータのみが削除可能です。

ちなみにHeidiSQLを使っている場合は、bansテーブルの中の行を右クリックで削除するだけ!!

上のINSERT文を見てみると、

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

 

delete from bans where license = “123456789”;

 

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

 

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

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