public function __construct($id, $row = null)
 {
     if ($id != -1 && GameserverManager::ExistsById($id)) {
         // Check
         if (null != $row) {
             $this->Data = $row;
         } else {
             $con = Database::getCon();
             $res = $con->query("SELECT * FROM gameserver WHERE id = {$id}") or die(mysqli_error($con));
             $this->Data = $res->fetch_array();
             $this->Data["settings"] = json_decode($this->Data["settings"], true);
             unset($this->Data["settings"][0]);
             $this->initDataObject("gameserver", "id", $id);
         }
     } else {
         die("tried to create gameserver with no valid id");
     }
 }
<?php

/* 
 * WolfPanel (c) 2015 by Fursystems.de (Marcel Kallen)
 * 
 * WolfPanel is licensed under a
 * Creative Commons Attribution-NonCommercial 4.0 International License.
 * 
 * You should have received a copy of the license along with this
 * work. If not, see <http://creativecommons.org/licenses/by-nc/4.0/>. 
 */
// Get status of starting Server
GameserverManager::checkStartStopServerState();
<?php

/* 
 * WolfPanel (c) 2015 by Fursystems.de (Marcel Kallen)
 * 
 * WolfPanel is licensed under a
 * Creative Commons Attribution-NonCommercial 4.0 International License.
 * 
 * You should have received a copy of the license along with this
 * work. If not, see <http://creativecommons.org/licenses/by-nc/4.0/>. 
 */
include "../core.php";
// Admin Check
$user = UserManager::getLocalUser();
if (!$user->isAdmin()) {
    PageManager::displayErrorPage("access");
    return;
}
$page = new Page($smarty, "modals/AdminGameserverControl.tpl");
$gsID = isset($_GET['gameserver']) ? $_GET['gameserver'] : null;
if (GameserverManager::existsById($gsID)) {
    $gs = new Gameserver($gsID);
    $page->assign("gs", $gs);
    $page->assign("controllable", $gs->isControlable());
    if (!$gs->isControlable()) {
        $page->assign("t_Report", Reporting::error("This Gameserver is not availabe for control at the moment."));
    }
} else {
    $page->assign("t_Report", Reporting::error("This Gameserver isnt available."));
}
$page->display();
         $username = $user->getData("username");
         $userID = $user->getData("id");
         $serverPort = $gameserver->getData("port");
         Core::addToAdminLog("Admin {$localUsername} ({$localID}) has disabled a gameserver ({$gameName} [{$ip}:{$serverPort}]) (Owner: {$username} #{$userID})");
     } else {
         $page->assign("t_Report", Reporting::error(Utils::buildErrorString($error)));
     }
 } else {
     if ("EnableGameserver" == $do) {
         $error = array();
         // Serverid
         $err = @Utils::checkInput($_POST['gameserverid'], "Gameserver ID", 1, 64, INPUT_TYPE_NUMERIC);
         if (strlen($err) != 0) {
             $error[] = $err;
         } else {
             if (!GameserverManager::existsById($_POST['gameserverid'])) {
                 $error[] = "The given gameserver id doesn't exists.";
             } else {
                 $gameserver = new Gameserver($_POST['gameserverid']);
                 if ($gameserver->getData("status") != GAMESERVER_STATUS_DISABLED) {
                     $error[] = "The given gameserver isn't disabled.";
                 }
             }
         }
         if (count($error) == 0) {
             $page->assign("t_Report", Reporting::success("The gameserver will be enabled soon."));
             $gameserver->enable();
             // Log
             $local = UserManager::getLocalUser();
             $localUsername = $local->getData("username");
             $localID = $local->getData("id");
 public static function getAll()
 {
     return GameserverManager::getAllByUserID();
 }
Example #6
0
 * work. If not, see <http://creativecommons.org/licenses/by-nc/4.0/>. 
 */
include "assets/core.php";
$smarty->assign("page", "Dashboard");
$smarty->assign("pageActive", "userdashboard");
$page = new Page($smarty, "pages/userDashboard.tpl");
if (isset($_GET['do']) || isset($_POST['do'])) {
    $do = isset($_GET['do']) ? $_GET['do'] : $_POST['do'];
    if ("select" == $do) {
        $error = array();
        // Gameserver ID
        $err = @Utils::checkInput($_REQUEST['id'], "Gameserver ID", 1, 64, INPUT_TYPE_NUMERIC);
        if (strlen($err) != 0) {
            $error[] = $err;
        } else {
            if (!GameserverManager::existsById($_REQUEST['id'])) {
                $error[] = "The given Gameserver doesnt exist.";
            } else {
                $gameserver = new Gameserver($_REQUEST['id']);
                if ($gameserver->getOwnerId() != UserManager::GetLocalUser()->getData("id")) {
                    $error[] = "You dont have permission to perform this command";
                } else {
                    UserManager::GetLocalUser()->setSelectedGameserver($gameserver);
                }
            }
        }
        if (count($error) == 0) {
            $page->assign("t_Report", Reporting::Success("The server has been selected."));
            UserManager::GetLocalUser()->setSelectedGameserver($gameserver);
        } else {
            $page->assign("t_Report", Reporting::error(Utils::buildErrorString($error)));
 * WolfPanel (c) 2015 by Fursystems.de (Marcel Kallen)
 * 
 * WolfPanel is licensed under a
 * Creative Commons Attribution-NonCommercial 4.0 International License.
 * 
 * You should have received a copy of the license along with this
 * work. If not, see <http://creativecommons.org/licenses/by-nc/4.0/>. 
 */
include "../core.php";
if (isset($_GET["id"])) {
    // Gameserver ID
    $err = @Utils::checkInput($_GET['id'], "Gameserver ID", 1, 64, INPUT_TYPE_NUMERIC);
    if (strlen($err) != 0) {
        $error[] = $err;
    } else {
        if (!GameserverManager::existsById($_GET['id'])) {
            $error[] = "The given Gameserver doesnt exist.";
        } else {
            $gameserver = new Gameserver($_GET['id']);
            if ($gameserver->getOwnerId() != UserManager::GetLocalUser()->getData("id")) {
                $error[] = "You dont have permission to perform this command";
            } else {
                $smarty->assign("ip", $gameserver->getPrintIP());
                $smarty->assign("status", $gameserver->getStatusString());
                $smarty->assign("iconFile", $gameserver->getTemplate()->getIconFileURI());
                $smarty->assign("gameName", $gameserver->getTemplate()->getData("gameName"));
            }
        }
    }
    $smarty->display("ajax/getGameserverStatus.tpl");
}
 * WolfPanel (c) 2015 by Fursystems.de (Marcel Kallen)
 * 
 * WolfPanel is licensed under a
 * Creative Commons Attribution-NonCommercial 4.0 International License.
 * 
 * You should have received a copy of the license along with this
 * work. If not, see <http://creativecommons.org/licenses/by-nc/4.0/>. 
 */
include "../core.php";
// Admin Check
$user = UserManager::getLocalUser();
if (!$user->isAdmin()) {
    PageManager::displayErrorPage("access");
    return;
}
if (isset($_GET["userid"])) {
    if (UserManager::existsById($_GET['userid'])) {
        $gs = GameserverManager::getAllByUserID($_GET['userid']);
        if ($gs !== false) {
            $smarty->assign("Gameservers", $gs);
        }
    } else {
        $smarty->assign("t_Report", Reporting::error("The given user doesnt exist."));
    }
} else {
    $gs = GameserverManager::getAll();
    if ($gs !== false) {
        $smarty->assign("Gameservers", $gs);
    }
}
$smarty->display("ajax/getAdminGameserverList.tpl");
Example #9
0
 public function execute()
 {
     $done = true;
     if (!$this->_validate()) {
         return $this->delete();
     }
     try {
         switch ($this->getData("type")) {
             case TASK_SERVER_INIT:
                 $err = $this->server->initializeForUse();
                 if (strlen($err) == 0) {
                     Core::addToTaskLog("Server " . $this->getData("serverID") . " has been initialized.");
                 } else {
                     Core::addToTaskLog("Server " . $this->getData("serverID") . " could not be initialized. Reason: {$err}.");
                 }
                 break;
             case TASK_SERVER_UPDATE:
                 $server = new PhysicalServer($this->getData('serverID'));
                 $server->updateServer();
                 Core::addToTaskLog("Server " . $this->getData("serverID") . " has been updated");
                 break;
             case TASK_SERVER_INSTALL_TEMPLATE:
                 if (!PhysicalServerManager::existsById($this->getData("serverID"))) {
                     $this->delete();
                 }
                 if (!TemplateManager::existsById($this->getData("addInfo"))) {
                     $this->delete();
                 }
                 $server = new PhysicalServer($this->getData("serverID"));
                 $template = new Template($this->getData("addInfo"));
                 $template->installOnServer($server);
                 Core::addToTaskLog("Template (" . $template->getData("id") . ", " . $template->getData("gameName") . ") installed on server " . $server->getData("id") . " (" . $server->getData("name") . ")");
                 break;
             case TASK_TEMPLATES_INSTALL_FROM_REMOTE:
                 $template = TemplateManager::loadTemplateByRemote($this->getData("addInfo"));
                 Core::addToTaskLog("Gameserver templated downloaded. (" . $template->getData("gameName") . ")");
                 break;
             case TASK_GAMESERVER_UPDATESETTINGS:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     echo "Updating Config.";
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $gameserver->settingsUpdateOnServer();
                     $id = $gameserver->getData("id");
                     Core::addToTaskLog("Gameserver settings saved. (ID: {$id})");
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             case TASK_GAMESERVER_INSTALL:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $gameserver->install();
                     $id = $gameserver->getData("id");
                     Core::addToTaskLog("Gameserver installed. (ID: {$id})");
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             case TASK_GAMESERVER_UNINSTALL:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $done = $gameserver->delete();
                     $id = $gameserver->getData("id");
                     if ($done) {
                         Core::addToTaskLog("Gameserver deleted. (ID: {$id})");
                     }
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             case TASK_GAMESERVER_START:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $gameserver->start();
                     $id = $gameserver->getData("id");
                     Core::addToTaskLog("Gameserver started. (ID: {$id})");
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             case TASK_GAMESERVER_STOP:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $gameserver->stop();
                     $id = $gameserver->getData("id");
                     Core::addToTaskLog("Gameserver stopped. (ID: {$id})");
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             case TASK_GAMESERVER_DISABLE:
                 if (GameserverManager::existsById($this->getData("addInfo"))) {
                     $gameserver = new Gameserver($this->getData("addInfo"));
                     $gameserver->disable();
                     $id = $gameserver->getData("id");
                     Core::addToTaskLog("Gameserver disabled. (ID: {$id})");
                 } else {
                     $id = $this->getData("addInfo");
                     Core::addToTaskLog("Gameserver Install Task couldnt be executed. Gameserver doesnt exist (ID: {$id})", LOGLEVEL_WARNING);
                 }
                 break;
             default:
                 $id = $this->getData("id");
                 Core::addToTaskLog("Task couldnt be executed. Unknown Job. (ID: {$id})", LOGLEVEL_WARNING);
                 $this->delete();
                 return;
         }
         if ($done) {
             $con = Database::getCon();
             $con->query("UPDATE tasks SET done = 1 WHERE id = " . $this->getData("id"));
         }
     } catch (Exception $e) {
         echo "Task couldnt be executed. (ID: " . $this->getData("id") . ") Message: " . $e->getMessage();
         Core::addToTaskLog("Task couldnt be executed. (ID: " . $this->getData("id") . ") Message: " . $e->getMessage(), LOGLEVEL_ERROR);
     }
 }
Example #10
0
 public function setSelectedGameserver($gameserver)
 {
     if ($gameserver != null) {
         if (GameserverManager::ExistsById($gameserver->getData("id"))) {
             if ($gameserver->getOwnerId() == $this->getData("id")) {
                 $_SESSION["gameserver"] = $gameserver->getData("id");
             } else {
                 $_SESSION["gameserver"] = INVALID_ID;
             }
         } else {
             $_SESSION["gameserver"] = INVALID_ID;
         }
     } else {
         $_SESSION["gameserver"] = INVALID_ID;
     }
 }