Помогите пожалуйста, я не знаю как избавиться отч читаков, я не могу найти анти чит
напиши в чат “Кто использует тулбокс тот натурал”
Ну попробуй айди клиента узнать, и если оно отличается то кикай игрока
$client = $player->getCilentId();
Ждем, не дождемся
- удалить майнкрафт
Бля, не додумался, спасибо
1 лайк
Гоу
А че он заново пишет?
Хз
pm3:
public function handlePacketReceived(DataPacketReceiveEvent $ev) {
if ($ev->getPacket() instanceof LoginPacket) {
$clientData = $ev->getPacket()->clientData;
if ($clientData["DeviceOS"] === 1) { // is Android
$model = explode(" ", $clientData["DeviceModel"], 2)[0];
if ($model !== strtoupper($model)) {
$ev->getPlayer()->close("", "тулбокс пошел нахуй");
}
}
}
}
метод сработает в 90% случая, но я выявил, что если тулбокс стоит на телефоне huawei, то проверка не срабатывает. у huawei байпасс крч почему-то)
Щяс зайду на свою локалку с тулбокса
Жаль не рабоатет
повезло мне с huawei
honor, samsung, и еще некоторые модели, тоже могут спокойно заходить.
онор это подразделение хуавей
я вкурсе
<?php
namespace LiteCore;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerPreLoginEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Internet;
class AntiCheatPlugin extends PluginBase implements Listener {
public function onEnable() {
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
public function onPlayerPreLogin(PlayerPreLoginEvent $event) {
$playerName = $event->getPlayer()->getName();
$ip = $event->getAddress();
// Check if the player is connecting from ToolBox
if ($this->isConnectingFromToolBox($ip)) {
$event->setCancelled();
$event->setKickMessage("Вы не можете использовать ToolBox для подключения к этому серверу");
$this->getLogger()->notice("Игрок {$playerName} был заблокирован при попытке подключения с использованием ToolBox");
}
}
/**
* Check if the player is connecting from ToolBox
*
* @param string $ip
* @return bool
*/
public function isConnectingFromToolBox(string $ip): bool {
$url = "https://api.toolbx.dev/v2/anti-cheat/ip/{$ip}";
$response = Internet::getURL($url, 5);
$json = json_decode($response, true);
return isset($json["toolbox"]);
}
}