Programación > Aportes

Guía Creación de cliente funcional.

(1/17) > >>

Alepcis:
Creación de un cliente funcional.
Programas Requeridos:

* Tener funcional y configurado tu servidor casero.
* Ragnarok Online. [Pueden usar el link del servidor o el alternativo]
* Un programa para crear GRF.
* WeeTool Diff's Descarga.
* Cliente Nativo.
* Carpeta Data.
* Archivos complementarios
1: Descargaremos todos nuestros archivos necesarios, el Ragnarok deberá de estar lo más actualizado (así evitamos posibles errores). Tendremos que agregar la carpeta 'Data' en la raíz de nuestro Ragnarok Online previamente instalada/descargada.
2: Creación de nuestro cliente, después de ser descargado el cliente y  Weetool Diff's este último lo ejecutaremos y tendremos que realizar los siguientes pasos:

* Ejecutamos Weetools Diff's

* Modificaremos y seleccionaremos en la últimas opciones Select patch engine y tomaremos la opción 'WeeDiffGenerator v.1.0.2'
* En la opción Source Executable>Select buscaremos la ubicación de nuestro cliente nativo ya descargado.
* Nos preguntará el nombre para la ventana del cliente (el que aparecerá en la barra de titulo), elegiremos el nombre que queramos.
* Lo siguiente que nos preguntará es el control de spam, es decir en número de líneas iguales que nos permitirá repetir; es necesario poner una cantidad ya es a criterio de cada quien.
* Se nos abrirá una nueva interfaz en la que seleccionaremos algunas configuraciones, cada una va dependiendo de gustos y necesidades del cliente.Spoiler for Hidden: Se recomienda desmarcar estas 2 opciones:
Name : Load LUA Before LUB
Description : Allows you to load LUA files before LUB files are being loaded.

Name : Read Data Folder First
Description : Attempts to read files inside the data folder prior to those in grf archives.
* Verificamos el directorio en el que será enviado nuestro cliente y seleccionamos 'Patch It!'
* Nos mostrará una alerta del total de paquetes aplicados, tendremos que copiar nuestro cliente ya creado en la carpeta del Ragnarok Online que ya habíamos descargado al inicio de la guía.3: Ahora tendremos que dar de 'alta' a nuestro cliente para que sea reconocido por nuestro emulador (servidor casero) por lo que tendremos que hacer lo siguiente:

* Nos dirigiremos a la carpeta de nuestro emulador e iremos a: emulador\src\common\mmo y lo abrimos.
* Buscaremos la siguientes líneas y modificaremos.
--- Código: ---#ifndef PACKETVER
        #define PACKETVER 20120410
        //#define PACKETVER 20111116
#endif
--- Fin del código ---

* En el primer define tiene que ser configurada tal y como está en el código, ya que es la fecha de versión de nuestro cliente. (si no está así  habrá que agregarle)

* Se recomienda recompilar nuestro emulador
* Ahora bien, rathena ha implementado una nueva actualización usando algoritmos para la seguridad de clientes. En caso de que presentemos problemas de conectividad sobre algún error clif_parse: Disconecting session #3 with uknown packet version tendremos que hacer lo siguiente:Busca el archivo core.h en la ubicación src/config y comentaremos la línea

--- Código: ---#define PACKET_OBFUSCATION

--- Fin del código ---

Deberá quedarte algo así:

--- Código: ---/// Comment to disable the official packet obfuscation support.
/// When enabled, make sure there is value for 'packet_keys' of used packet version or
/// defined 'packet_keys_use' in db/[import/]packet_db.txt.
/// This requires PACKETVER 2011-08-17 or newer.
//#define PACKET_OBFUSCATION

/**

--- Fin del código ---
Después de eso compilaremos nuestro emulador y listo.

4: Ahora nos dirigiremos a nuestra carpeta de Ragnarok Online e iremos a la carpeta 'Data' y buscaremos un archivo llamado 'clientinfo.xml'.

--- Código: ---<?xml version="1.0" encoding="euc-kr" ?> <clientinfo>
<desc>Ragnarok Client Information</desc>
<servicetype>korea</servicetype>
<servertype>sakray</servertype>
<extendedslot></extendedslot>
<readfolder></readfolder>

<connection>
<display>CaseRO</display>
<desc>Servidor CaseRO de Ragnarok Online</desc>
<balloon>Rate:10/10/10</balloon>
<address>127.0.0.1</address>
<port>6900</port>
<version>30</version>
<langtype>10</langtype>
<registrationweb>Web site</registrationweb>
<aid>
<admin></admin>
<admin></admin>
<admin></admin>
</aid>
</connection>
</clientinfo>
--- Fin del código ---
Spoiler Descripción: Display es el nombre de nuestro servidor. Aparecerá al conectarnos.
Balloon es el texto flotante que aparece al pasar el ratón por encima del nombre de nuestro servidor.
Desc es una pequeña descripción de nuestro servidor.
Address es la dirección a la que se conecta nuestro cliente, de momento dejamos 127.0.0.1, que es localhost.
Port es el puerto que utiliza el cliente para conectarse, no deberíamos cambiarlo.
Version es la versión de paquetes que utiliza el cliente.
Langtype es la configuración del lenguaje de nuestro cliente.
Registrationweb es la página web a la que redirige el botón de 'Register' en nuestro cliente.
Admin es o son las ID de aquellas cuentas cuyos personajes tendrán ropa de GM.
Image es el nombre de la loading screen. El nombre debe ser 'loadingscreenXX.jpg'. Podemos añadir hasta 7, para ello tenemos que añadir más '<image></image>' debajo.
5: Creación de nuestro GRF.

* Ejecutaremos el programa para la creación de GRF

* Hacemos clic en New seleccionamos la ubicación de nuestra carpeta de Ragnarok Online, elegiremos un nombre para nuestra GRF en este caso podremos nombrarle como queramos, aquí usaremos miserver.grf

* Ahora tocará llenar el GRF con los archivos de nuestra carpeta data, por lo que ahora seleccionaremos 'Fusionar directorio' y seleccionamos nuestra carpeta data y hacemos clic en 'Repack'
* Esperamos que finalice el proceso y ahora buscaremos un archivo llamado DATA.INI en nuestra carpeta de Ragnarok la modificaremos de la sieguiente manera.
--- Código: ---[Data]
0=miserver.grf
1=rdata.grf
2=data.grf
--- Fin del código ---

* Guardamos los cambios y listo tendremos configurado nuestro cliente y funcionando
FAQ:

* ¿Cómo puedo crear una cuenta?         Deberás ingresar una nueva cuenta para ello deberás seguir el formato ID_Sexo y contraseña.
         ID: Alepcis_M
         Password: alepcis123

         M:Masculino
         F:Femenino
         Después de ingresar la contraseña y loguear por primera vez, ya no será necesario agregar el _Sexo sólo con la ID
         ID: Alepcis
         Password: alepcis123

* ¿Cómo puedo tener los comandos para mi personaje?         Para eso abriremos nuestro manejador de base de datos, iremos a la tabla login y buscaremos nuestra cuenta. Seleccionaremos la casilla group_id y la cambiaremos a 99. Sólo relogueamos el cliente o el personaje y listo deberás tener permisos de administador.

* Me aparece un mensaje de error: clif_parse: Disconecting session #3 with uknown packet versionBusca el archivo core.h en la ubicación src/config y deberás comentar la línea.
[/list]
--- Código: ---#define PACKET_OBFUSCATION

--- Fin del código ---

Deberá quedarte algo así:

--- Código: ---/// Comment to disable the official packet obfuscation support.
/// When enabled, make sure there is value for 'packet_keys' of used packet version or
/// defined 'packet_keys_use' in db/[import/]packet_db.txt.
/// This requires PACKETVER 2011-08-17 or newer.
//#define PACKET_OBFUSCATION

--- Fin del código ---
Compilamos nuestro emulador y listo.



hdmi:
Agradezco el aporte, pero cabe recordar que XatiyaRO necesita un cliente nuevo.

Saludos.

Alepcis:
Claro que lo necesita, está más que claro la única diferencia que el cliente que yo aporté es lo más básico y es sólo para hacer funcionar el servidor casero. El cliente de XatiyaRO necesita un Diffeado superior a esto.

hdmi:

--- Cita de: Alepcis en 04 de Octubre de 2013, 21:47:18 pm ---Diffeado

--- Fin de la cita ---

Esa palabra no existe   /laugh

Podrías almenos explicar cuales son las dificultades para implementar un nuevo cliente en Xatiyaro, seguro que es por que usamos eathena de la era catapum chimpum.

Raeylight:
seguí al 100 esta guía de la creación del cliente todo perfecto, pero las skill se muestran en coreano igual que las cartas, lo demás hasta ahora todo bien
podrías por favor ayudarme a solucionar el hecho de que se vean en coreano??
gracias, buena guía por lo demás!!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa