1
[Tutorial] Cambiando ip al tibia 11 Vie Jul 28, 2017 3:28 am
[Admin] God Maya
![[Admin] God Maya](https://2img.net/u/2712/30/40/04/avatars/1-92.jpg)
Administrador

Ahora el tutorial de cómo hacerlo funcionar:
Lo primero, el servidor de inicio de sesión / webservice. Necesita cambiar la url de loginWebService:
Abra la carpeta de instalación de Tibia 11, ingrese a los packages/Tibia/bin y abra el archivo client.exe con el notepad ++, busque el texto "loginWebService =". Usted encontrará un texto del archivo del ini dentro del archivo del exe y usted necesitará cambiar el URL del loginWebService.
buscamos con notepad +++
esto: loginWebService
y encontramos esto
De esto:
![[Tutorial] Cambiando ip al tibia 11 Hmljw410](https://i.servimg.com/u/f11/16/75/54/11/hmljw410.png)
a esto
![[Tutorial] Cambiando ip al tibia 11 Kkdbvq10](https://i.servimg.com/u/f11/16/75/54/11/kkdbvq10.png)
la ip de la cipsoft tine 52 caracteres con punto y barras
loginWebService=
- Código:
https://secure.tibia.com/services/clientservices.php -->52
y nosotros vamos a remplar una de 26 caracteres
loginWebService=
- Código:
http://127.0.0.1/login.php ----> 26
es un simple resta para saber cuantos null tenemos que añadir
52 - 26 = 26 null
por casualidad dio 26
como añadimos los null no vamos al menu del notepad+++
![[Tutorial] Cambiando ip al tibia 11 Captur13](https://i.servimg.com/u/f11/16/75/54/11/captur13.jpg)
ahora donde añadimos nuestro 26 null y que boton apretamos
![[Tutorial] Cambiando ip al tibia 11 Captur14](https://i.servimg.com/u/f11/16/75/54/11/captur14.jpg)
como ven debajo de esta linea:
- Código:
tutorialProgressWebService=https://secure.tibia.com/services/tutorialprogress.php
null null null <<<<<<<<< 26 en nuestro caso por que estamos usando la ip 127.0.0.1
Ahora la última cosa, el cambio de Tibia Pública RSA clave en OpenTibia pública RSA clave.
- Código:
BC27F992A96B8E2A43F4DFBE1CEF8FD51CF43D2803EE34FBBD8634D8B4FA32F7D9D9E159978DD29156D62F4153E9C5914263FC4986797E12245C1A6C4531EFE48A6F7C2EFFFFF18F2C9E1C504031F3E4A2C788EE96618FFFCEC2C3E5BFAFAF743B3FC7A872EE60A52C29AA688BDAF8692305312882F1F66EE9D8AEB7F84B1949
por
- Código:
9B646903B45B07AC956568D87353BD7165139DD7940703B03E6DD079399661B4A837AA60561D7CCB9452FA0080594909882AB5BCA58A1A1B35F8B1059B72B1212611C6152AD3DBB3CFBEE7ADC142A75D3D75971509C321C5C24A5BD51FD460F01B4E15BEB0DE1930528A5D3F15C1E3CBF5C401D6777E10ACAAB33DBE8D5B7FF5
pero como hacemos el cambio? muy bien asi con el notepad++
apretamos en notepad++
ctrl + f y se no abrira una venta y codigo lo pegamos en buscar y apretamos el boton buscar y como veran en la imagen se tornara verde
![[Tutorial] Cambiando ip al tibia 11 Captur15](https://i.servimg.com/u/f11/16/75/54/11/captur15.jpg)
una ves encontrado nos vamos al lado reemplazar y pegamos la rsa de tibia otserv y le damos al boton remplzar
![[Tutorial] Cambiando ip al tibia 11 Captur16](https://i.servimg.com/u/f11/16/75/54/11/captur16.jpg)
listo le damos guardar.
nota: para entrar al tibia es el archivo client.exe el que se encuentra en
packages/Tibia/bin
Bueno ahora solo falta el login.php
se va a su carpeta xampp o uniserv y en la carpeta htdocs o www crean un archivo llamado login.php y pegan esto dentro
- Código:
<?php
/**
* Created by PhpStorm.
* User: jlcvp - leu
* Date: 07/06/17
* Time: 21:22
*/
require 'config/config.php';
// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);
// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);
define('INITIALIZED', true);
if (!defined('ONLY_PAGE'))
define('ONLY_PAGE', true);
// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');
// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');
// DATABASE
include_once('./system/load.database.php');
if (DEBUG_DATABASE)
Website::getDBHandle()->setPrintQueries(true);
// DATABASE END
/*error example:
{
"errorCode":3,
"errorMessage":"Account name or password is not correct."
}*/
//error function
function sendError($error_msg,$code=3){
$retError = array();
$retError["errorCode"] = $code;
$retError["errorMessage"] = $error_msg;
die(json_encode($retError));
}
$request_body = file_get_contents('php://input');
$result = json_decode($request_body, true);
$acc = $result["accountname"];
$password = $result["password"];
$query = $SQL->prepare("SELECT `id`,`premdays` FROM `accounts` WHERE `name` = :acc AND `password` = SHA1(:pass) LIMIT 1");
$query->bindValue(":acc", $acc);
$query->bindValue(":pass", $password);
$dbResource = $query->execute();
if (!$dbResource) {
sendError("failed to get account.");
}
$dbRet = $query->fetch();
if (!dbRet) {
sendError("failed to fetch account data");
}
$accId = $dbRet["id"];
$premdays = $dbRet["premdays"];
if (!$accId) {
sendError("Account name or password is not correct.");
}
$dbResource = $SQL->query("SELECT `name`,`sex`,`lastlogin` FROM `players` WHERE `account_id` = $accId");
if (!$dbResource) {
sendError("failed to get characters.");
}
$accArray = array();
$lastlogin=0;
while ($dbRet = $dbResource->fetch()) {
$dict = array(
"worldid" => 0,
"name" => $dbRet["name"],
"ismale" => (($dbRet["sex"]==1)?true:false),
"tutorial" => (($dbRet["lastlogin"]>0) ? false:true)
);
$accArray[] = $dict;
if($lastlogin<$dbRet["lastlogin"]){
$lastlogin = $dbRet["lastlogin"];
}
}
$data = array();
//TODO: Melhorar estrutura de dado aqui e preencher com os dados reais da account
$session = array(
"sessionkey" => $acc . "\n" . $password,
"lastlogintime" => $lastlogin,
"ispremium" => ($premdays > 0 || $config["server"]["freePremium"]) ? true : false,
"premiumuntil" => ($freePremium) ? (time() + 365 * 86400) : (time() + $premdays * 86400),
"status" => "active"
);
$data["session"] = $session;
$playerData = array();
//TODO: melhorar estrutura de dado aqui para permitir multiple worlds
$world = array(
"id" => 0,
"name" => $config["server"]["serverName"],
"externaladdress" => $config["server"]["ip"],
"externalport" => $config["server"]["gameProtocolPort"],
"previewstate" => 0,
"location" => "BRA",
"externaladdressunprotected" => $config["server"]["ip"],
"externaladdressprotected" => $config["server"]["ip"]
);
$worlds = array($world);
$playerData["worlds"] = $worlds;
$playerData["characters"] = $accArray;
$data["playdata"] = $playerData;
echo json_encode($data);
listo con eso ya se podran conectar a su ot 11++++
God Maya

![[Tutorial] Cambiando ip al tibia 11 YNU5B25](https://i.imgur.com/yNU5B25.png)