setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); $dbcon->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); }catch (PDOExpection $e){ echo $e->getMessage(); } $stmtU = $dbcon->prepare("SELECT * FROM games WHERE `privatekey`=:key;"); $stmtU->bindParam(':key', $key, PDO::PARAM_STR); $stmtU->execute(); $dbcon = null; if ($stmtU->rowCount() == 0) { exit; } $rGame = $stmtU->fetch(PDO::FETCH_ASSOC); $serverID = $rGame['id']; if (!isset($_GET['port'])) { $serverPort = $rGame['port']; }else{ $serverPort = $_GET['port']; } $serverKey = $rGame['privatekey']; $gameVersion = $rGame['version']; ?> game:GetService("NetworkServer"):Start(, 20) game:GetService("RunService"):Run() print("Graphictoria Server") coroutine.resume(coroutine.create(function() while (true) do wait(60) end end)) function authenticate(newPlayer) coroutine.resume(coroutine.create(function() local verification = game:HttpGet("http://api.gtoria.net/server/checkPlayer.php?uname=" .. newPlayer.Name .. "&gameId=&uid=".. newPlayer.userId .."&tick=" .. tick(), true) if (verification:sub(4) ~= "yes") then local p = game:GetService("NetworkServer"):GetChildren() for i = 1, #p do if (p[i]:GetPlayer().Name == newPlayer.Name) then print (newPlayer.Name .. " has failed to authenticate.") wait() p[i]:CloseConnection() end end return false else return true end end)) if (newPlayer.Name == "Player") then coroutine.resume(coroutine.create(function() local p = game:GetService("NetworkServer"):GetChildren() for i = 1, #p do if (p[i]:GetPlayer().Name == newPlayer.Name) then print (newPlayer.Name .. " has connected with an invalid username.") wait() p[i]:CloseConnection() end end end)) return false else return true end local plrNum = 0 local p = game.Players:GetChildren() for i = 1, #p do if (p[i].Name == newPlayer.Name) then plrNum = plrNum + 1 end end if (plrNum > 1) then coroutine.resume(coroutine.create(function() local p = game:GetService("NetworkServer"):GetChildren() for i = 1, #p do if (p[i]:GetPlayer().Name == newPlayer.Name) then print (newPlayer.Name .. " has been kicked for duplication.") wait() p[i]:CloseConnection() end end end)) return false else return true end end function hex(str) return (str:gsub('.', function (c) return string.format('%02X', string.byte(c)) end)) end game:GetService("NetworkServer").ChildAdded:connect(function(newConnection) newConnection.Name = "ClientConnection" wait(1) newConnection.Name = ("Connection " .. math.random(0, 99999999)) end) game:GetService("Players").PlayerAdded:connect(function(newPlayer) wait() newPlayer.Chatted:connect(function(message) local hexmsg = hex(message) if (hexmsg:find'A0') then newPlayer.Parent = nil end if (message == ";reset") then newPlayer.Character.Humanoid.Health = 0 end end) if (authenticate(newPlayer)) then print(newPlayer.Name .. " has joined this server") --[[ newPlayer.CharacterAdded:connect(function(newCharacter) newCharacter.Humanoid.Died:connect(function() wait(5) newPlayer:LoadCharacter() end) end) ]] newPlayer:LoadCharacter() end end)