[PHP] Веб-панель банов (БЧ, БП, БА)

wsok

WebServerOK
Пользователь
20 Янв 2013
121
49
28
47
какой ещё адрес? оО =)
wsok.net
Текущая версия скрипта 1.2
Что нового в последней версии:


Удален из кода лишний мусор, пакеты данных приведены в надлежащий вид (спасибо Vieraw за то что тыкнул носом, почему пакет не работал). Теперь любой бан работает как часы, главное указывайте ID в зависимости от типа бана (персонажа или аккаунта). При бане аккаунта игрока гарантированно катапультирует, если он был в игре каким либо персонажем(LINK: Сервер отключен) из игры, при бане персонажа тоже (Вы должны покинуть игру). Бан чата работает как общий бан на все чаты (общий, группа, клан, мировой, горн, торговый).


Проверен скрипт на версиях 1.4.4 и 1.5.1, т.е. должен работать на всех версиях от 1.4.4+.

333.jpg 3334.jpg 3335.jpg

Последний раз обновлялся: 12.04.2014

PSS: Если интересует скрипт разбана аккаунтов, то и такой есть, но за ним придется сходить ко мне на сайт =)
 

Вложения

  • banned_1.2.php.zip
    1,7 KB · Просмотры: 75
Последнее редактирование:

Vieraw

Администратор
Команда форума
Администратор
12 Май 2012
273
145
43
28
А чем тебе пакет 8004 - ForbidUser не угодил, для БА?

PHP:
<?php
	$host = "127.0.0.1";
	$port = 29400;
	function socketsend($data, $ip,$port)
	{
		if(!@$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP))
{
throw new Exception("Не удалось связать сокет"); 
exit();
}
		 socket_connect($sock,$ip,$port);
		 socket_set_block($sock);
		 socket_send($sock, $data, 8192, 0);
		 socket_recv($sock, $buf, 8192, 0);
		 socket_set_nonblock($sock);
		 socket_close($sock);
		 return $buf;
	}
	function cuint($data)
	{
		if($data < 128)
			return strrev(pack("C", $data));
		else if($data < 16384)
			return strrev(pack("S", ($data | 0x8000)));
		else if($data < 536870912)
			return strrev(pack("I", ($data | 0xC0000000)));
		return strrev(pack("c", -32) . pack("i", $data));
	}
	function PackString($data)
	{
		$data = iconv("UTF-8", "UTF-16LE", $data);
		return cuint(strlen($data)).$data;
	}
	function PackOctet($data)
	{
		$data = pack("H*", $data);
		return cuint(strlen($data)).$data;
	}
function ban($host, $port, $operation, $userid, $time, $reason)
{
$retcode = pack("N*",-1);
		$operation = pack("C*", $operation);
$gmuserid = pack("N*", -1);
$source = pack("N*", 0);
		$userid = pack("N*", $userid);
$time = pack("N*", $time);
		$reason = PackString('Проверка');
		$Packet = $retcode.$operation.$gmuserid.$source.$userid.$time.$reason;
		$Data = cuint(8004).cuint(strlen($Packet)).$Packet;
		socketsend($Data, $host,$port);
}
ban($host, $port, 1, 1024, 60, 'Проверка');
?>
 
Последнее редактирование:
  • Like
Реакции: wsok и Echo

Пользователи онлайн

Сейчас на форуме нет ни одного пользователя.

Последние ресурсы

Статистика форума

Темы
3.838
Сообщения
21.202
Пользователи
7.615
Новый пользователь
saneawot11