From 74e16b82c0483aba405d68de66f6227c1013ef84 Mon Sep 17 00:00:00 2001 From: timriker Date: Mon, 25 Nov 2002 19:53:08 +0000 Subject: [PATCH] sort git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk@713 c11ca15a-4712-0410-83d8-924469b57eb5 --- blootbot/src/Modules/BZFlag.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/blootbot/src/Modules/BZFlag.pl b/blootbot/src/Modules/BZFlag.pl index b17e45d..980f760 100755 --- a/blootbot/src/Modules/BZFlag.pl +++ b/blootbot/src/Modules/BZFlag.pl @@ -48,6 +48,7 @@ sub BZFlag::list { my $req = HTTP::Request->new('GET', 'http://list.bzflag.org:5156/'); my $res = $ua->request($req); + my %servers; for my $line (split("\n",$res->content)) { my ($serverport, $version, $flags, $ip, $comments) = split(" ",$line,5); # not "(A4)18" to handle old dumb perl @@ -59,10 +60,13 @@ sub BZFlag::list { unpack("A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4", $flags); my $playerSize = hex($rogueSize) + hex($redSize) + hex($greenSize) + hex($blueSize) + hex($purpleSize); - if ($playerSize > 0) { - $response .= "$serverport($playerSize) "; - } + $servers{$serverport} = $playerSize; } + foreach my $key (sort {$servers{$b} <=> $servers{$a}} (keys(%servers))) { + if ($servers{$key} > 0) { + $response .= "$key($servers{$key}) "; + } + } &::performStrictReply($response); return; } -- 2.39.5