Zemyna bertindak sebagai semacam proxy, membuat klien terhubung ke server lokal khusus yang meneruskan semua paket dari klien ke server sebenarnya. Dengan cara ini ia dapat membaca setiap paket yang dikirim atau diterima. Paket-paket ini kemudian dapat diteruskan ke aplikasi lain, sehingga mereka dapat bekerja dengannya, misalnya logger seperti PaleTree.
Agar Zemyna dapat membaca paket, diperlukan kontrol atas proses awal, karena Zemyna menyesuaikan klien Anda untuk sementara, untuk menyalurkan koneksinya. Ia melakukannya dengan membuat cadangan client.xml Anda, yang berisi informasi tentang tempat untuk terhubung, dan membuat yang baru. Perubahan ini dikembalikan setelah Zemyna ditutup, dengan cara ini Anda tidak perlu mengutak-atik file apa pun sendiri.
Untuk memberi tahu Zemyna tempat menghubungkan klien, Anda menggunakan parameter baris perintah. Misalnya, Anda ingin mencatat paket di server internasional Laima, Anda cukup memulainya seperti ini dari baris perintah, setelah memindahkan Zemyna ke folder game Anda:
Zemyna.exe host:54.88.25.242 port:2000
IP dan port adalah server login untuk Laima. Anda dapat mencari host dan port untuk server target Anda di daftar server resmi. URL untuk itu dapat ditemukan di client.xml.
Untuk memudahkan penggunaan kembali, Anda harus membuat tautan atau file bat. Zemyna kemudian akan mengambil langkah-langkah yang diperlukan untuk dapat membaca paket dari jaringan, dan memulai klien. Sebuah jendela kecil di sudut kiri atas akan menunjukkan kepada Anda bahwa Zemyna sedang berjalan, dan menutup secara otomatis ketika klien ditutup. Anda juga dapat mengklik dua kali untuk menutup Zemyna dan klien dengan cepat.
Karena Anda hanya dapat memiliki satu server dalam daftar server dengan cara ini, yang Anda tentukan dalam parameter, Anda dapat membuat beberapa tautan/kelelawar, satu untuk setiap server.
Jika Anda ingin menggunakan Zemyna di server yang tidak menggunakan login otomatis Steam, Anda perlu menyediakan Zemyna dengan static__Conf.txt, dengan nilai UseSteamClient
diatur ke NO
.
ServiceNation=GLOBAL
Dictionary=YES
UseNexonSSO=NO
UseNexonGLM=NO
UseHackshield=NO
UseSteamClient=NO
UseXigncode=NO
UseNISMS_TESTURL=NO
UseNISMS_ONLY_OFFER=YES
Jika file ada di server web lokal Anda, di "/toslive/patch", Anda akan membuat Zemyna menggunakannya seperti ini:
Zemyna.exe host:127.0.0.1 port:2000 staticconfig:http://127.0.0.1/toslive/patch/
Perhatikan bahwa klien mengakses file melalui SSL (HTTPS), jadi konfigurasikan server web Anda sesuai dengan itu.
Zemyna menggunakan API yang sama dengan alat yang terinspirasi darinya, "Alissa". Ia menggunakan pesan WM_COPY untuk berkomunikasi antara jendela Zemyna dan pelanggan. Untuk berlangganan Zemyna, untuk menerima paket, Anda mengirim "op" (dwData) 100
ke jendela Zemyna (nama jendela: "mod_Tossa"), untuk berhenti berlangganan, Anda mengirim 101
. Saat Anda berlangganan, Anda menerima semua paket masuk (op 0x10101012
) dan keluar (op 0x10101011
) melalui metode yang sama.
Untuk contoh nyata tentang cara kerjanya, saya sarankan untuk melihat fungsi terkait di Pale. Alternatifnya, Anda juga dapat membuat plug-in untuk Pale, yang akan lebih mudah.
Jika Anda memeriksa rilisnya, Anda akan menemukan beberapa versi, salah satunya adalah untuk kTOS (perhatikan awalan "k"). Pilih yang itu jika Anda ingin mencatat paket di server Korea.
Karena kTOS menggunakan login web, kami harus melakukan sesuatu yang sedikit berbeda untuk Zemyna versi Korea. Anda memerlukan argumen tambahan, "kr", yang mengaktifkan opsi KR tertentu saja. Contoh:
Zemyna.exe host:54.88.25.242 port:2000 kr nosteam
Setelah Anda memulai Zemyna seperti itu, klien tidak akan memulai secara otomatis, tetapi masih akan memodifikasi file klien, jadi ketika Anda akhirnya memulai klien melalui login web, koneksi akan tetap melalui Zemyna, sehingga Anda dapat mencatat paket menggunakan Pohon Pucat.