Zemyna agit comme une sorte de proxy, il permet au client de se connecter à un serveur local spécial qui transmet tous les paquets du client au serveur réel. De cette façon, il est capable de lire chaque paquet envoyé ou reçu. Ces paquets peuvent ensuite être transmis à d'autres applications, afin qu'elles puissent travailler avec eux, par exemple des enregistreurs comme PaleTree.
Pour que Zemyna puisse lire les paquets, il doit contrôler le processus de démarrage, car il ajuste temporairement votre client, pour tunneliser sa connexion. Pour ce faire, il effectue une sauvegarde de votre client.xml, qui contient des informations sur l'endroit où se connecter, et en crée une nouvelle. Ce changement est annulé une fois Zemyna fermé, de cette façon vous n'avez pas à manipuler de fichiers vous-même.
Pour indiquer à Zemyna où connecter le client, vous utilisez les paramètres de ligne de commande. Par exemple, disons que vous vouliez enregistrer des paquets sur le serveur international Laima, vous le démarreriez simplement comme ceci depuis la ligne de commande, après avoir déplacé Zemyna dans votre dossier de jeu :
Zemyna.exe host:54.88.25.242 port:2000
L'IP et le port sont ceux du serveur de connexion pour Laima. Vous pouvez rechercher l'hôte et le port de votre serveur cible dans la liste officielle des serveurs. L'URL d'accès se trouve dans le fichier client.xml.
Pour une réutilisation plus facile, vous devez créer un lien ou un fichier bat. Zemyna fera alors les démarches nécessaires pour pouvoir lire les paquets du réseau, et démarrer le client. Une petite fenêtre dans le coin supérieur gauche vous montrera que Zemyna est en cours d'exécution, elle se ferme automatiquement lorsque le client se ferme. Vous pouvez également double-cliquer dessus pour fermer rapidement Zemyna et le client.
Puisque vous ne pouvez avoir qu'un seul serveur dans la liste des serveurs de cette façon, celui que vous spécifiez dans les paramètres, vous pouvez créer plusieurs liens/bats, un pour chaque serveur.
Si vous souhaitez utiliser Zemyna sur un serveur qui n'utilise pas la connexion automatique Steam, vous devez fournir à Zemyna un fichier static__Conf.txt, où la valeur UseSteamClient
est définie sur NO
.
ServiceNation=GLOBAL
Dictionary=YES
UseNexonSSO=NO
UseNexonGLM=NO
UseHackshield=NO
UseSteamClient=NO
UseXigncode=NO
UseNISMS_TESTURL=NO
UseNISMS_ONLY_OFFER=YES
Si le fichier se trouve sur votre serveur Web local, dans "/toslive/patch", vous feriez en sorte que Zemyna l'utilise comme ceci :
Zemyna.exe host:127.0.0.1 port:2000 staticconfig:http://127.0.0.1/toslive/patch/
Notez que le client accède au fichier via SSL (HTTPS), configurez donc votre serveur Web en conséquence.
Zemyna utilise la même API que l'outil dont elle s'est inspirée, "Alissa". Il utilise les messages WM_COPY pour communiquer entre la fenêtre de Zemyna et celle de l'abonné. Pour vous abonner à Zemyna, pour recevoir des paquets, vous envoyez le "op" (dwData) 100
à la fenêtre de Zemyna (nom de la fenêtre : "mod_Tossa"), pour vous désabonner, vous envoyez 101
. Pendant que vous êtes abonné, vous recevez tous les paquets entrants (op 0x10101012
) et sortants (op 0x10101011
) via la même méthode.
Pour un exemple concret de la façon dont cela fonctionne, je suggère de regarder les fonctions correspondantes dans Pale. Alternativement, vous pouvez également créer un plug-in pour Pale, ce qui sera plus simple.
Si vous vérifiez les versions, vous trouverez plusieurs versions, l'une d'elles étant pour kTOS (notez le préfixe "k"). Choisissez celui-ci si vous souhaitez enregistrer les paquets sur le serveur coréen.
En raison du fait que kTOS utilise une connexion Web, nous avons dû faire les choses un peu différemment pour la version coréenne de Zemyna. Vous avez besoin d'un argument supplémentaire, "kr", qui active certaines options KR uniquement. Exemple:
Zemyna.exe host:54.88.25.242 port:2000 kr nosteam
Après avoir démarré Zemyna comme ça, le client ne démarrera pas automatiquement, mais il modifiera quand même les fichiers client, donc lorsque vous démarrerez enfin le client via la connexion Web, la connexion passera toujours par Zemyna, vous permettant d'enregistrer les paquets en utilisant Arbre pâle.