"Server name cannot be empty", "color" => "danger"]; else if(strlen($name) > 50) $alert = ["text" => "Server name cannot be longer than 50 characters", "color" => "danger"]; else if(strlen($description) > 1000) $alert = ["text" => "Server description cannot be longer than 1000 characters", "color" => "danger"]; else if(Polygon::IsExplicitlyFiltered($name)) $alert = ["text" => "The name contains inappropriate text", "color" => "danger"]; else if(Polygon::IsExplicitlyFiltered($description)) $alert = ["text" => "The description contains inappropriate text", "color" => "danger"]; else if(empty($ip)) $alert = ["text" => "IP address cannot be empty", "color" => "danger"]; else if(!filter_var($ip, FILTER_VALIDATE_IP)) $alert = ["text" => "Invalid IP address", "color" => "danger"]; else if(!is_numeric($port) || $port < 1 || $port > 65536) { $alert = ["text" => "Invalid port", "color" => "danger"]; $port = false; } else if(!in_array($version, ["2009", "2010", "2011", "2012"])) $alert = ["text" => "Invalid version", "color" => "danger"]; else if(!is_numeric($maxplayers) || $maxplayers < 1 || $maxplayers > 2147483648) { $alert = ["text" => "Invalid maximum player count", "color" => "danger"]; $maxplayers = false; } else { $LastServer = db::run( "SELECT created FROM selfhosted_servers WHERE hoster = :uid AND created+3600 > UNIX_TIMESTAMP()", [":uid" => $userId] ); if($LastServer->rowCount()) $alert = ["text" => "Please wait ".GetReadableTime($LastServer->fetchColumn(), ["RelativeTime" => "1 hour"])." before creating a new game", "color" => "danger"]; else { $gears = json_encode(Catalog::$GearAttributes); $ticket = generateUUID(); db::run( "INSERT INTO selfhosted_servers (ticket, name, description, ip, port, version, maxplayers, hoster, allowed_gears, created) VALUES (:ticket, :name, :desc, :ip, :port, :version, :players, :uid, :gears, UNIX_TIMESTAMP())", [ ":ticket" => $ticket, ":name" => $name, ":desc" => $description, ":ip" => $ip, ":port" => $port, ":version" => $version, ":players" => $maxplayers, ":uid" => $userId, ":gears" => $gears ] ); die(header("Location: /games/server?ID=".$pdo->lastInsertId())); } } } pageBuilder::$pageConfig["title"] = "Create Server"; pageBuilder::buildHeader(); ?>

Create a Server

Back
px-2 py-1" role="alert">
>
Use current address >
Cancel
Back