aboutsummaryrefslogtreecommitdiff
path: root/lib/MasterServer/TCP/UCCAppletQuery.pm
diff options
context:
space:
mode:
authorDarkelarious <darkelarious@333networks.com>2017-05-13 14:18:28 +0200
committerDarkelarious <darkelarious@333networks.com>2017-05-13 14:20:49 +0200
commit34a2c7390ea9662d33258d384e72fff1912343ff (patch)
treed96ea33c0107e4906a152aa1de4b5c75b81ba0a8 /lib/MasterServer/TCP/UCCAppletQuery.pm
parent84af66aba26d2088d5d95c240d176f3edaf17b58 (diff)
downloadMasterServer-Perl-34a2c7390ea9662d33258d384e72fff1912343ff.tar.gz
MasterServer-Perl-34a2c7390ea9662d33258d384e72fff1912343ff.zip
revised synchronization methods, config settings and bug fixesv2.3.0
Diffstat (limited to 'lib/MasterServer/TCP/UCCAppletQuery.pm')
-rwxr-xr-xlib/MasterServer/TCP/UCCAppletQuery.pm16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/MasterServer/TCP/UCCAppletQuery.pm b/lib/MasterServer/TCP/UCCAppletQuery.pm
index 7637e9f..2c32de9 100755
--- a/lib/MasterServer/TCP/UCCAppletQuery.pm
+++ b/lib/MasterServer/TCP/UCCAppletQuery.pm
@@ -1,4 +1,3 @@
-
package MasterServer::TCP::UCCAppletQuery;
use strict;
@@ -18,7 +17,7 @@ sub query_applet {
my ($self, $ms) = @_;
# be nice to notify
- $self->log("tcp","start querying $ms->{ip}:$ms->{port} for '$ms->{game}' games");
+ $self->log("tcp","start querying $ms->{ip}:$ms->{port} for '$ms->{gamename}' games");
# list to store all IPs in.
my $master_list = "";
@@ -27,7 +26,7 @@ sub query_applet {
my $handle;
$handle = new AnyEvent::Handle(
connect => [$ms->{ip} => $ms->{port}],
- timeout => 5,
+ timeout => $self->{timeout_time},
poll => 'r',
on_error => sub {$self->error($!, "$ms->{ip}:$ms->{port}"); $handle->destroy;},
on_eof => sub {$self->process_ucc_applet_query($master_list, $ms); $handle->destroy;},
@@ -36,7 +35,7 @@ sub query_applet {
# receive and clear buffer
my $m = $_[0]->rbuf;
$_[0]->rbuf = "";
-
+
# remove string terminator
chop $m if $m =~ m/secure/;
@@ -48,20 +47,21 @@ sub query_applet {
$m =~ s/\\([^\\]+)\\([^\\]+)/$r{$1}=$2/eg;
# respond to challenge
- my $validate = $self->validate_string(gamename => $ms->{game},
+ my $validate = $self->validate_string(gamename => $ms->{gamename},
enctype => $r{enctype}||0,
secure => $r{secure});
# send response
- $handle->push_write("\\gamename\\$ms->{game}\\location\\0\\validate\\$validate\\final\\");
+ $handle->push_write("\\gamename\\$ms->{gamename}\\location\\0\\validate\\$validate\\final\\");
# part 3: also request the list \list\gamename\ut -- skipped in UCC applets
- $handle->push_write("\\list\\\\gamename\\$ms->{game}\\final\\");
+ $handle->push_write("\\list\\\\gamename\\$ms->{gamename}\\final\\");
}
# part 3b: receive the entire list in multiple steps.
- if ($m =~ m/\\ip\\/) {
+ # $m contains \ip\ or part of that string
+ else {
# add buffer to the list
$master_list .= $m;
}