Announcement

Collapse
No announcement yet.

Modulo para Web-Masters de Clanes

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Modulo para Web-Masters de Clanes

    Hola de nuevo,
    Despues de varios pedidos por PM y MSN reposteo el viejo tema sobre el modulo para los web-master de los diferentes clanes level 1+ que tienen web page.
    Hace un tiempo largo atras me puse a diseñar unos módulos para el juego, los cuales le permitirán a los web-master obtener información directamente desde la base de datos del juego, el primero de los módulos ya esta listo pero aunque aun no lo doy por terminado, básicamente ya funciona correctamente, mas adelante le iremos agregando mas opciones y se irán produciendo cambios.
    El primer modulo se llama pedidos y es un programita que esta en el servidor de GZ, que envía la información requerida, se puede usar desde cualquier lenguaje de servidor que permita hacer inclusiones o llamadas externas, incluso también desde javascript (no recomendado por seguridad) para el que no tenga lenguajes Server-Side.

    A continuación agrego un pequeño manualcito para que puedan usar este modulo en las paginas Web de sus clanes.

    Antes de empezar con el manual, el web-master que desee utilizar la librería deberá pedir que se le cree una contraseña la cual estará encriptada en 128bits por el método MD5 es totalmente segura y solo el la sabra, no corre riesgo ningun dato de su cuenta y es imposible que le roben la cuenta al que cree esta peticion.
    Solo el lider del clan puede crear esa cuenta, usando la pagina de creacion de cuentas.
    Para inscribir tu clan apreta aca

    Una vez que tengas el password para tu clan la forma de usar el modulo es sencilla
    1. la dirección del modulo:
      HTML Code:
      http://l2.3dgames.com.ar/GZmodules/pedidos.php
    2. Los argumentos que este acepta:
      user : aca va el nombre del clan
      password : debe ir encriptado en 128 bits usando MD5 (mas adelante explico como)
      peticion : lo que queres que el Server te devuelva
    3. Las cosas que se le pueden pedir por ahora al server

      clanwarehouse : te tira todos los ítems que hay en el clan warehouse (item-cantidad)
      clanintegrantes : lista de los integrantes del clan (nombre)
      clanlevels : lista de los integrantes y su level (nombre-level)
      clanclase : lista de los integrantes y su clase (nombre-clase)
      clanduelo : lista de los integrantes con PK y Duelos (nombre-pk-PvP)
      claninfo : lista de los integrantes con clase y level (nombre-level-clase)
      Agregado 28/03/2005
      clanemail : lista de los integrantes con su email (nombre\email)
      clancastillo : nombre del castillo que el clan posee, te devuelve un valor:
      0 = Ninguno
      1 = Gludio Castle
      2 = Dion Castle
      3 = Giran Castle
      4 = Oren Castle
      5 = Aden Castle

      *mas adelante voy a poner mas que sean útiles y se me vayan ocurriendo
    4. Como se usa todo esto?

      Fácil, usando el método GET en la URL o sea que vamos a suponer que tu clan se llama “MiClan” y tu pass es “mipassword”
      O sea que supongamos que queres una lista de los integrantes de tu clan, la línea de comando quedaría algo así:
      HTML Code:
      http://l2.3dgames.com.ar/GZmodules/pedidos.php?user=MiClan&password=mipassword&peticion=clanintegrantes
      recorda que el password va encriptado o sino no te va a dar los datos que pidas sino un error
      Así como puse clanintegrantes podía pone cualquiera de la lista que esta en el punto 3

      El resultado de esta línea de comando es una lista texto plano de los nombres de cada integrante separado por un carácter “/”
      Para facilitarle las cosas a los que menos saben use el “-“ (signo menos) para separar campos y el “/” para separar las líneas
      O sea que si le haces una petición al Server claninfo te daría algo así:

      Jugador1-30-8/jugador2-28-15/jugador3-40-54/jugador4-15-3/jugadorX-level-clase

      El resultado como explica el punto 3 te tira el nombre del char – el level – y el numero de clase

      Después voy a agregar una tabla con el numero de clase para que tengan todo lo que necesitan, ejemplo: el 8 es Teasure Hunter, o sea que Jugador1 es TH level 30
    5. Códigos de error:
      En caso de que el Server este caído, que pongas algo mal en la línea de comando, o que la info que ingreses sea incorrecta en server te va a devolver un código de error

      error1 : Problemas con la conexión a la base de datos o Acceso erróneo a la info, si recibís este error lo mas seguro es que el Server del juego este caído o que haya problemas en el motor de base de datos, solucion: esperar que se arregle solo, osea rezale a son theone.
      error2 : error de autentificación, metiste la pata en el user o en el password Solucion: fijate que escribiste mal y trata de nuevo, recorda que el pass va en MD5
      error3 : error en la petición o petición no disponible, estas pifiándola en la instrucción que le pedís al modulo, ya sea por un error de ortografía o porque te olvidaste de escribirla, este error también te lo da cuando pedís algo que aun no hemos activado ya sea por no estar terminado, Solucion: Fijate que es lo que pusiste en peticion que esta mal y cambialo por algo que sirva

      La información como te la tira el Server es un poco borrosa de entender para un humano por lo tanto es inútil para una Web, así que…
    6. Programación usando el modulo
      A continuación pongo un pequeño ejemplo en PHP de cómo usar el modulo de una manera mas eficaz para mostrar los datos en una tabla, tratando de usar un codigo facil de entender para los que sepan menos, de todas maneras puedo dar una mano al que la necesite
      PHP Code:
      <html>
      <head>
      <title>Ejemplos para el Modulo</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>
      <?PHP
      $user 
      'MiClan';
      $password MD5('mipassword'); #fijate que aca estoy convirtiendo mi password a MD5
      $peticion 'claninfo';

      ob_start(); #capturamos la salida a una variable
      include("http://l2.3dgames.com.ar/GZmodules/pedidos.php?password=$password&user=$user&peticion=$peticion");
      $Mensage ob_get_contents();
      ob_end_clean();

      #control de errores
      switch ($Mensage){
          case 
      'error1':{
              echo 
      'problemas con la conexión a la base de datos o Acceso erróneo';
          }break;
          case 
      'error2':{
              echo 
      'error de autentificación';
          }break;
          case 
      'error3':{
              echo 
      'error en la petición o petición no disponible';
          }break;
          default:{ 
      #si no dio error entonces el resultado es la info que necesito

          #empiezo a dibujar la tabla

              
      echo'<table width="100%" border="1" cellspacing="0" cellpadding="0">';
              
              
      $lista explode('/',$Mensage); #separo las lineas
              
      foreach($lista as $value){
                  echo 
      '<tr>';
                  if(
      $peticion == 'clanemail'){ #para email uso un separador diferente porque el '-' es usado en los emails normalmente
                  
      $lista2 explode("\\",$value);
                      foreach(
      $lista2 as $value2){
                          echo 
      '<td>'.$value2.'</td>';
                      }
                  }else{
                      if(
      $peticion == 'clanintegrantes'){ # recorda que si solo pedis los nombres de los pj no es necesario el segundo foreach ya que solo devuelve 1 linea de datos 

                          
      echo '<td>'.$value.'</td>';
                      }else{
                          
      $lista2 explode('-',$value); #separo las columnas
                          
      foreach($lista2 as $value2){
                              echo 
      '<td>'.$value2.'</td>';
                          }
                      }
                  }
                  echo 
      '</tr>';
              }
              echo 
      '</table>';
              

          }break;
      }
      ?>
      </body>
      </html>
      Este código funciona para todos los pedidos posibles incluso esta preparado para pedidos de una sola línea de datos (ej:clanintegrantes), este código es muy genérico y sirve para todos, vos podes hacer el tuyo propio para otras utilidades, incluso en vez de mostrar los datos guardarlos en ARRAYs para usarlo para otras cosas
    7. Conclusión
      Ya que la base de datos te larga solo los códigos de cada cosa, vas a tener que agregar las tablas de que es cada cosa, me refiero a las clases y a los tipo de ítems, por ejemplo el ítem numero 57 es ADENA, todas las paginas de Lineage 2 usan en mismo sistema de números y podes usar su base de datos ^_^

      Muchos de los que han usado el modulo me dicen que les sale un error en el include, esto es debido a que muchos de los servers gratis no permiten acceso a otros servers para sacarles info por razones que aun no entiendo pero seguro que es porque algunos lo usan para maldades, que se yo :nixweiss:
      Poco a poco voy a ir poniendo más info para ir completando todo
      Para ver un ejemplo de como queda el modulo andando podes dirijiste a la web de mi clan a la seccion clan info donde abajo de todo sale una lista echa por el modulo:

      ejemplo de como implementar el modulo en tu web


    El modulo en la web de IG la uso de la siguiente manera, que me parecio la mejor para cuando entra toda la gente que es cuando se cae el server, asi que lo que hago es que a las 12am hora local del server, haga todas las peticiones al server de GZ y las guarda en tablas temporales, despues actualiza todo en la web y espera 24 horas otra vez en caso de no poder hacer el update espera 1 hora y asi hasta que puede (una vez estuvo mas de 1 mes esperando porque estaba caida la web de GZ)
    eso es lo mejor para los mas avanzados ya que hace que su web no se relentize toda cuando haces la peticion a cada rato y ademas no genera lag en el foro
    Saludos

    PD: el viejo threat sobre esto esta aca
    By GMthe0ne.
    Brannigan, tenes casa, ropa, arma, consumibles, comida y toda la adena que me pidan, y aún querés un sueldo? Okas, devolveme todo lo que te dí, y yo te daré un sueldo mensual de 5kk
    Y bueh, si no te gusta, ya podes volver al nido de ratas del que te saqué. Y te podes olvidar de Európea. No pagaré tus deudas de juego, ni tus vicios =/

    Name: Dharon Level: El que convenga segun la situación
    Prof: Palus Knight [seee... 1ª prof, se me piantó un lagrimón =,) ]
    Clan: GZconsejeros Ally: GameMasters
    Alineación: Neutral, hasta con los neutrales
Working...
X