Zemyna actúa como una especie de proxy, hace que el cliente se conecte a un servidor local especial que reenvía todos los paquetes del cliente al servidor real. De esta manera puede leer cada paquete que se envía o recibe. Estos paquetes pueden luego pasarse a otras aplicaciones, para que puedan trabajar con ellos, por ejemplo, registradores como PaleTree.
Para que Zemyna pueda leer paquetes, necesita control sobre el proceso de inicio, ya que ajusta temporalmente su cliente para hacer un túnel en su conexión. Lo hace haciendo una copia de seguridad de su client.xml, que contiene información sobre dónde conectarse, y crea una nueva. Este cambio se revierte una vez que se cierra Zemyna, de esta manera usted no tendrá que manipular ningún archivo usted mismo.
Para indicarle a Zemyna dónde conectar el cliente, utiliza parámetros de línea de comando. Por ejemplo, digamos que deseas registrar paquetes en el servidor internacional Laima, simplemente debes iniciarlo así desde la línea de comando, después de mover Zemyna a la carpeta de tu juego:
Zemyna.exe host:54.88.25.242 port:2000
La IP y el puerto son del servidor de inicio de sesión de Laima. Puede buscar el host y el puerto de su servidor de destino en la lista de servidores oficiales. La URL se puede encontrar en client.xml.
Para una reutilización más sencilla, debe crear un enlace o un archivo bat. Luego, Zemyna tomará los pasos necesarios para poder leer paquetes de la red e iniciar el cliente. Una pequeña ventana en la esquina superior izquierda le mostrará que Zemyna se está ejecutando y se cierra automáticamente cuando se cierra el cliente. También puede hacer doble clic en él para cerrar rápidamente Zemyna y el cliente.
Dado que de esta manera solo puede tener un servidor en la lista de servidores, el que especifique en los parámetros, puede crear múltiples enlaces/bats, uno para cada servidor.
Si desea utilizar Zemyna en un servidor que no utiliza el inicio de sesión automático de Steam, debe proporcionarle a Zemyna un static__Conf.txt, donde el valor UseSteamClient
está establecido en NO
.
ServiceNation=GLOBAL
Dictionary=YES
UseNexonSSO=NO
UseNexonGLM=NO
UseHackshield=NO
UseSteamClient=NO
UseXigncode=NO
UseNISMS_TESTURL=NO
UseNISMS_ONLY_OFFER=YES
Si el archivo está en su servidor web local, en "/toslive/patch", haría que Zemyna lo use así:
Zemyna.exe host:127.0.0.1 port:2000 staticconfig:http://127.0.0.1/toslive/patch/
Tenga en cuenta que el cliente accede al archivo a través de SSL (HTTPS), así que configure su servidor web en consecuencia.
Zemyna utiliza la misma API que la herramienta en la que se inspiró, "Alissa". Utiliza mensajes WM_COPY para comunicarse entre la ventana de Zemyna y la del suscriptor. Para suscribirte a Zemyna, para recibir paquetes, envías el "op" (dwData) 100
a la ventana de Zemyna (nombre de la ventana: "mod_Tossa"), para cancelar la suscripción, envías 101
. Mientras esté suscrito, recibirá todos los paquetes entrantes (op 0x10101012
) y salientes (op 0x10101011
) mediante el mismo método.
Para ver un ejemplo real de cómo funciona esto, sugiero mirar las funciones correspondientes en Pale. Alternativamente, también puedes crear un complemento para Pale, lo que será más fácil.
Si revisa las versiones, encontrará varias versiones, una de ellas para kTOS (observe el prefijo "k"). Elija ese si desea registrar paquetes en el servidor coreano.
Debido a que kTOS utiliza un inicio de sesión web, tuvimos que hacer las cosas un poco diferentes para la versión coreana de Zemyna. Necesita un argumento adicional, "kr", que activa ciertas opciones exclusivas de KR. Ejemplo:
Zemyna.exe host:54.88.25.242 port:2000 kr nosteam
Después de iniciar Zemyna de esa manera, el cliente no se iniciará automáticamente, pero aún modificará los archivos del cliente, por lo que cuando finalmente inicie el cliente a través del inicio de sesión web, la conexión seguirá pasando por Zemyna, lo que le permitirá registrar paquetes usando Árbol pálido.