Пример #1
0
    $agentHistory = [];
    $fromServer = explode(",", $input);
    if (sizeof($fromServer) < 3 || sizeof($fromServer) % 2 == 0) {
        throw new Exception("Invalid agent history.");
    }
    $lastDate = $fromServer[0];
    for ($i = 1; $i < sizeof($fromServer); $i += 2) {
        $currentDate = $fromServer[$i] + $lastDate;
        $lastDate = $currentDate;
        $agentCount = $fromServer[$i + 1];
        $agentHistory[] = array("Date" => $currentDate, "Count" => $agentCount);
    }
    return $agentHistory;
}
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
$servers = $db->GetServers();
foreach ($servers as $server) {
    if (!$server['enabled']) {
        continue;
    }
    $serverResponse = @file_get_contents($server['address'] . "/population");
    if ($serverResponse === false) {
        // TODO: GHETTO.
        if (strstr($http_response_header[0], "404 Not Found")) {
Пример #2
0
<?php

include_once dirname(__FILE__) . "/lib/SimStatsDatabase.php";
include_once dirname(__FILE__) . "/lib/SecondlifeHeader.php";
include_once dirname(__FILE__) . "/lib/Utils.php";
if (!isset($_GET["queryUrl"])) {
    http_response_code("500");
    LogToFile("No queryUrl sent");
    die;
}
$queryUrl = $_GET["queryUrl"];
$slHeader = new SecondlifeHeader($_SERVER);
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
try {
    $shardId = $db->GetOrCreateShardId($slHeader->shard);
    $ownerId = $db->GetOrCreateUserId($slHeader->ownerKey, $slHeader->ownerName, $shardId);
    $db->CreateOrUpdateServer($slHeader->objectName, $shardId, $ownerId, $queryUrl, $slHeader->objectKey);
} catch (Exception $ex) {
    http_response_code("500");
    LogToFile("Failed to register server. See log for details.", $ex->getMessage());
    die;
}
echo "OK";
LogToFile("New or updated query server.");
Пример #3
0
<?php

include_once dirname(__FILE__) . "/../lib/SimStatsDatabase.php";
include_once dirname(__FILE__) . "/../lib/Utils.php";
if (!isset($_GET['serverId'])) {
    die("Missing serverId");
}
$uuid = $_GET['serverId'];
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogAndEchoJson("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
$mapUrl = $db->GetServerAddress($uuid);
if ($mapUrl == null || $mapUrl == "") {
    LogToFile("Failed to get map address. Try again.");
    echo "null";
    return;
}
$contents = @file_get_contents($mapUrl . "/agents");
if ($contents == "") {
    LogToFile("Failed to contact map server. Try again.");
    echo "null";
    return;
}
// TEMP: Replace 'Players' with 'data'
echo substr_replace($contents, "data", 2, 7);
Пример #4
0
<?php

include_once dirname(__FILE__) . "/../lib/SimStatsDatabase.php";
include_once dirname(__FILE__) . "/../lib/Utils.php";
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogAndEchoJson("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
$servers = $db->GetServersForFrontend();
echo json_encode($servers);
Пример #5
0
}
$uuid = $_GET['serverId'];
$format = null;
$start = null;
$end = null;
if (isset($_GET['start']) && is_numeric($_GET['start'])) {
    $start = intval($_GET['start']);
}
if (isset($_GET['end']) && is_numeric($_GET['end'])) {
    $end = intval($_GET['end']);
}
if (isset($_GET['format'])) {
    $format = $_GET['format'];
}
try {
    $db = new SimStatsDatabase();
    $db->ConnectToDatabase();
} catch (Exception $ex) {
    http_response_code("500");
    LogAndEchoJson("Failed to connect to database. See log for details.", $ex->getMessage());
    die;
}
try {
    $serverNameAndId = $db->GetServerNameAndId($uuid);
    if ($serverNameAndId === null) {
        http_response_code("500");
        LogAndEchoJson("Server not found.");
        die;
    }
    $stats = $db->GetStats($serverNameAndId['id'], $start, $end);
} catch (Exception $ex) {