Guest User

Tibia 11 Webservice (FIX) - Milice@OTLand

a guest
Nov 19th, 2016
1,431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.19 KB | None | 0 0
  1. <?php
  2.     if($_SERVER['HTTP_USER_AGENT'] == "Mozilla/5.0") {
  3.         @error_reporting(0);
  4.         @ini_set('display_errors', 'Off');
  5.         header("Content-Type: application/json");
  6.  
  7.         $loginInfo = json_decode(file_get_contents("php://input"));
  8.         $accountName = $loginInfo->{"accountname"};
  9.         $password = $loginInfo->{"password"};
  10.  
  11.         if($accountName == "" || $password == "") {
  12.             die('{"errorCode":3,"errorMessage":"Account name or password is incorrect."}');
  13.         }
  14.  
  15.         $MySQL_Host = "127.0.0.1";
  16.         $MySQL_User = "root";
  17.         $MySQL_Password = "";
  18.         $MySQL_DB = "forgottenserver";
  19.  
  20.         $SQL = new mysqli($MySQL_Host, $MySQL_User, $MySQL_Password, $MySQL_DB);
  21.  
  22.         if(mysqli_connect_error()) {
  23.             die('{"errorCode":3,"errorMessage":"Internal error. Please try again later or contact customer support if the problem persists."}');
  24.         }
  25.  
  26.         $AccountQuery = $SQL->query("SELECT * FROM `accounts` WHERE `name` = '".$SQL->real_escape_string($accountName)."' AND `password` = '".SHA1($SQL->real_escape_string($password))."'")->fetch_array(MYSQLI_ASSOC);
  27.         if($AccountQuery["name"] != $accountName) {
  28.             die('{"errorCode":3,"errorMessage":"Account name or password is incorrect."}');
  29.         }
  30.  
  31.         $AccountID = $AccountQuery["id"];
  32.         $Secret = $AccountQuery["secret"];
  33.         $Premdays = $AccountQuery["premdays"];
  34.  
  35.         $CharacterQuery = $SQL->query("SELECT `name` FROM `players` WHERE `account_id` = '".$AccountID."'")->fetch_all(MYSQLI_ASSOC);
  36.  
  37.         $worldID = 0;
  38.         $worldName = "Tibia11 Server";
  39.         $serverAddress = $_SERVER["SERVER_ADDR"];
  40.         $serverPort = 7172;
  41.         $freePremium = false;
  42.  
  43.         echo '{"session":{"sessionkey":"'.$accountName.'\n'.$password.'\n'.$secret.'\n'.(floor(time() / 30)).'","lastlogintime":0,"ispremium":'.($Premdays > 0 || $freePremium ? "true" : "false").',"premiumuntil":'.($freePremium ? "0" : time() + ($Premdays * 86400)).',"status":"active"},"playdata":{"worlds":[{"id":'.$worldID.',"name":"'.$worldName.'","externaladdress":"'.$serverAddress.'","externalport":'.$serverPort.',"previewstate":0}],"characters":[';
  44.         foreach($CharacterQuery as $Character) {
  45.             if($Character != $CharacterQuery[0]) {
  46.                 echo ',';
  47.             }
  48.             echo '{"worldid":'.$worldID.',"name":"'.$Character["name"].'"}';
  49.         }
  50.         echo ']}}';
  51.     return;
  52.     }
  53. ?>
Add Comment
Please, Sign In to add comment