Serverinfo düzenlemeden kolay uzak veya yerel bağlantı

leqions

Üye
Üye
Mesaj
74
Çözümler
4
Beğeni
88
Puan
669
Ticaret Puanı
0
Merhaba. Yine bir şeyleri kurcalarken ortaya bir konu çıktı. Localde test sunucusu, vds'te ana sunucum var ve iki ayrı klasörden, iki ayrı pack'ten giriş yapmak, sürekli serverinfo düzenlemek yordu beni. Yerelde de vdste de yalnızca 1 sunucum ve 1 kanalım var. Aşağıda paylaşacağım kodun mantığı da eğer client.exe'ye normal şekilde giriyorsam uzaktaki sunucuya bağlanmak, "-local" argümanıyla giriyorsam sunucunun IP adresini serverinfo'dan almak yerine direkt olarak localhost olarak ayarlamak. (Yani aynı client üzerinde farklı IP'lere tanımlı birden fazla sunucunuz mevcutsa bile hepsinin adresi localhost olarak tanımlanacaktır, birden fazla sunucu karmaşa yaratabilir, denemedim bilmiyorum.)
Ben tek sunucu için anlatıyorum.

UserInterface.cpp:
// #include'lar bittikten sonra:

BOOL islocal = false;

// ARAT:
#if defined(NEEDED_COMMAND_ARGUMENT)

//ÜSTÜNE YAPIŞTIR:
    if (strstr(lpCmdLine, "local") != 0)
    {
        islocal = true;
    }

EterLib / NetAddress.cpp:
//ARAT:

#ifndef VC_EXTRALEAN

//ALTINA YAPIŞTIR:

extern int islocal;


//ARAT:

bool CNetworkAddress::Set(const char* c_szAddr, int port)
    
// İÇİNE, EN ÜSTE YERLEŞTİR:

    if (islocal)
    {
        SetIP("127.0.0.1");
        SetPort(port);
        return true;
    }

Metin2Release.exe'ye normal şekilde çift tıklayarak girerseniz serverinfo.py'de tanımlı olan IP adresindeki sunucuya bağlanırsınız.
Fakat Metin2Release.exe'nin kısayolunu oluşturup, kısayol özelliklerine girip "Hedef:" kısmının en sonuna, tırnak işaretlerinin dışına bir kez boşluk bırakarak "-local" (tırnaklar olmadan) argümanını ekler ve bu kısayol ile giriş yaparsanız, yerel bilgisayarınızda çalıştırdığınız sunucuya bağlanırsınız.
Örnek: "G:\MMOTutWinSF\Binary\Metin2Release.exe" -local

Ben Windows files kullandığım için 127.0.0.1'de çalışıyor yerel sunucum. Siz onun yerine sanal makinenizin veya varsa test sunucunuzun vs. ip adresini yazarak kullanabilirsiniz. Umarım işinize yarar :)
 
Paylaşım için teşekkürler. Bağlantı için ip adresi değilde localhost veya sub.domain.com gibi bağlantı sağlanabilir mi?
 
Geri
Üst