Skip to content

Instantly share code, notes, and snippets.

@serverok
Created August 17, 2021 18:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save serverok/9b6a470c54c62b250980109899c9d9d6 to your computer and use it in GitHub Desktop.
Save serverok/9b6a470c54c62b250980109899c9d9d6 to your computer and use it in GitHub Desktop.
<?php
# Author: Yujin Boby
# Web: https://serverok.in
$rs_worlds_fav = array(
65,73,10,64,21,23,22,32,52,30
);
$rs_worlds_all = array(
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,70,71,72,73,
74,75,76,77,78,79,80,81,82,83,84,85,86,87,
88,89,91,92,94,95,96,97,98,99,100,101,102,
103,104,105,106,107,108,109,110,111,112,
113,114,115,116,117,118,119,120,121,122,
123,124,125,126,127,128,129,130,131,132,
133,134,135,136,137,138,139,140
);
if (isset($argv[1]) && $argv[1] == 'fav') {
$rs_worlds_all = $rs_worlds_fav;
}
$server_ping_results = [];
foreach ($rs_worlds_all as $rs_world_number) {
$server = 'world' . $rs_world_number . '.runescape.com';
$ping = ping($server);
if ($ping) {
$server_ping_result['server'] = $server;
$server_ping_result['ping'] = $ping;
$server_ping_results[] = $server_ping_result;
}
}
$pings = [];
foreach ($server_ping_results as $key => $row) {
$pings[$key] = $row['ping'];
}
array_multisort($pings, SORT_DESC, $server_ping_results);
echo "\n\n";
echo "=======================================================\n";
echo "PING \t\tSERVER \n";
echo "=======================================================\n";
foreach ($server_ping_results as $key => $row) {
echo $row['ping'] . "\t\t" . $row['server'] . "\n";
}
echo "\n\n";
function ping($server) {
$cmd = '/bin/ping -c 5 ' . $server;
$result = exec($cmd);
$pattern = '/rtt min\/avg\/max\/mdev = \d{1,3}\.\d{1,3}\/(\d{1,3}).\d{1,3}\/\d{1,3}.\d{1,3}\/\d{1,3}\.\d{1,3} ms/';
if (preg_match($pattern, $result, $matches)) {
return $matches[1];
} else {
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment