По настоянию n0rd'а введены полноценные хуки для плагинов в \Network\DirectConnection.pm, позволяющие подключать к OpenKore блоки дешифровки траффика, что актуально для работы с некоторыми хитрожопыми пиратскими серверами.
Вот как они выглядят:
Код: Выделить всё
sub serverRecv {
my $self = shift;
my $msg;
return undef unless (dataWaiting(\$self->{remote_socket}));
$self->{remote_socket}->recv($msg, 1024 * 32);
if (Plugins::hasHook("Network::serverRecv")) {
Plugins::callHook("Network::serverRecv", { msg => \$msg });
}
if (!defined($msg) || length($msg) == 0) {
# Connection from server closed.
close($self->{remote_socket});
return undef;
}
return $msg;
}
Код: Выделить всё
sub serverSend {
my $self = shift;
my $msg = shift;
if ($self->serverAlive) {
if (Plugins::hasHook("Network::serverSend/pre")) {
Plugins::callHook("Network::serverSend/pre", { msg => \$msg });
}
if (defined $msg) {
$self->{remote_socket}->send($msg);
if (Plugins::hasHook("Network::serverSend")) {
Plugins::callHook("Network::serverSend", { msg => $msg });
}
}
}
}