ServerInfo Clientten Çeksin

MEKA

Discord: mekaprojects
Süper Moderatör
Geliştirici
Grafiker
Yardımsever Üye
Usta Üye
Mesaj
2.975
Çözümler
320
Beğeni
2.258
Puan
1.850
Ticaret Puanı
2
Not : Konu Alıntıdır.

PythonNetworkStreamModule.cpp Açılır

Arat
C++:
Genişlet Daralt Kopyala
std::list<std::string> g_kList_strCommand;

Altına Ekle

C++:
Genişlet Daralt Kopyala
static const char* ServerIPVName[4][2] = {
    {"192.168.0.100",     "BETA-1"},
    {"76.342.12.12",     "BETA-2"},
    {"145.12.231.12",     "BETA-3"},
    {"192.31.52.69",     "BETA-4"}
};
static unsigned int ServerPORT[] = {{13000},{16000},{19000},{21000},{11002},{13000}};
PyObject* netGetServer_IPNAME(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("ssssssss",
        ServerIPVName[0][0], ServerIPVName[0][1],
        ServerIPVName[1][0], ServerIPVName[1][1],
        ServerIPVName[2][0], ServerIPVName[2][1],
        ServerIPVName[3][0], ServerIPVName[3][1]
    );
}
PyObject* netGetServer_PORT(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("iiiiii", ServerPORT[0],ServerPORT[1],ServerPORT[2],ServerPORT[3],ServerPORT[4],ServerPORT[5]);
}


Arat:

C++:
Genişlet Daralt Kopyala
{ "SendOnClickPacket",                    netOnClickPacket,                        METH_VARARGS },

Altına Ekle;

C++:
Genişlet Daralt Kopyala
{ "GetServer_IPNAME",                    netGetServer_IPNAME,                        METH_VARARGS },
{ "GetServer_PORT",                        netGetServer_PORT,                        METH_VARARGS },

Örnek ServerInfo.py:
Python:
Genişlet Daralt Kopyala
import net
(sv1_ip, sv1_name, sv2_ip, sv2_name, sv3_ip, sv3_name, sv4_ip, sv4_name) = net.GetServer_IPNAME()
(ch1_port, ch2_port, ch3_port, ch4_port, auth_port, mark_port) = net.GetServer_PORT()

CH_1_NAME    = "|cFF00FFFF|hCH1"
CH_2_NAME    = "|cFF00FFFF|hCH2"
CH_3_NAME    = "|cFF00FFFF|hCH3"
CH_4_NAME    = "|cFF00FFFF|hCH4"

STATE_NONE = "|cFFFF0000|hKAPALI"
 
STATE_DICT = {
    0 : "|cFFFF0000|hKAPALI",
    1 : "|cff00ff00|hNORMAL",
    2 : "|cff00ff00|hYOGUN",
    3 : "|cff00ff00|hDOLU"
}

SERVER01_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":sv1_ip,"tcp_port":ch1_port,"udp_port":ch1_port,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":sv1_ip,"tcp_port":ch2_port,"udp_port":ch2_port,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":sv1_ip,"tcp_port":ch3_port,"udp_port":ch3_port,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":sv1_ip,"tcp_port":ch4_port,"udp_port":ch4_port,"state":STATE_NONE,},
}

SERVER02_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":sv2_ip,"tcp_port":ch1_port,"udp_port":ch1_port,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":sv2_ip,"tcp_port":ch2_port,"udp_port":ch2_port,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":sv2_ip,"tcp_port":ch3_port,"udp_port":ch3_port,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":sv2_ip,"tcp_port":ch4_port,"udp_port":ch4_port,"state":STATE_NONE,},
}

SERVER03_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":sv3_ip,"tcp_port":ch1_port,"udp_port":ch1_port,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":sv3_ip,"tcp_port":ch2_port,"udp_port":ch2_port,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":sv3_ip,"tcp_port":ch3_port,"udp_port":ch3_port,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":sv3_ip,"tcp_port":ch4_port,"udp_port":ch4_port,"state":STATE_NONE,},
}

SERVER04_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":sv4_ip,"tcp_port":ch1_port,"udp_port":ch1_port,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":sv4_ip,"tcp_port":ch2_port,"udp_port":ch2_port,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":sv4_ip,"tcp_port":ch3_port,"udp_port":ch3_port,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":sv4_ip,"tcp_port":ch4_port,"udp_port":ch4_port,"state":STATE_NONE,},
}

REGION_NAME_DICT = {
    0 : "",
}

REGION_AUTH_SERVER_DICT = {
    0 : {
        1 : { "ip":sv1_ip, "port":auth_port, },
        2 : { "ip":sv2_ip, "port":auth_port, },
        3 : { "ip":sv3_ip, "port":auth_port, },
        4 : { "ip":sv4_ip, "port":auth_port, },
    }    
}

REGION_DICT = {
    0 : {
        1 : { "name" :sv1_name, "channel" : SERVER01_CHANNEL_DICT, },
        2 : { "name" :sv2_name, "channel" : SERVER02_CHANNEL_DICT, },
        3 : { "name" :sv3_name, "channel" : SERVER03_CHANNEL_DICT, },
        4 : { "name" :sv4_name, "channel" : SERVER04_CHANNEL_DICT, },
    },
}

MARKADDR_DICT = {
    10 : { "ip" : sv1_ip, "tcp_port" : mark_port, "mark" : "10.tga", "symbol_path" : "10", },
    20 : { "ip" : sv2_ip, "tcp_port" : mark_port, "mark" : "20.tga", "symbol_path" : "20", },
    30 : { "ip" : sv3_ip, "tcp_port" : mark_port, "mark" : "30.tga", "symbol_path" : "30", },
    40 : { "ip" : sv4_ip, "tcp_port" : mark_port, "mark" : "40.tga", "symbol_path" : "40", },
}

Defineli eklemek isterseniz

C++:
Genişlet Daralt Kopyala
#ifdef SERVERINFO_FOR_CLIENT
static const char* ServerIPVName[4][2] = {
    {"192.168.0.100",     "BETA-1"},
    {"76.342.12.12",     "BETA-2"},
    {"145.12.231.12",     "BETA-3"},
    {"192.31.52.69",     "BETA-4"}
};
static unsigned int ServerPORT[] = {{13000},{16000},{19000},{21000},{11002},{13000}};
PyObject* netGetServer_IPNAME(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("ssssssss",
        ServerIPVName[0][0], ServerIPVName[0][1],
        ServerIPVName[1][0], ServerIPVName[1][1],
        ServerIPVName[2][0], ServerIPVName[2][1],
        ServerIPVName[3][0], ServerIPVName[3][1]
    );
}
PyObject* netGetServer_PORT(PyObject* poSelf, PyObject* poArgs)
{
    return Py_BuildValue("iiiiii", ServerPORT[0],ServerPORT[1],ServerPORT[2],ServerPORT[3],ServerPORT[4],ServerPORT[5]);
}
#endif

Locale_inc.h
Kod:
Genişlet Daralt Kopyala
#define SERVERINFO_FOR_CLIENT
 
CH2 VE CH3 portlarında bir tane "0" eksik yazılmış ekleyecek arkadaşlar düzeltsin.
 
Biri packını açtığı zaman ip adresini göremez mesela
 
İp Adresini Göstermek Neye mâl Olur ki ? @Trashy
 
Son düzenleme:
Literal olarak ikiliye eklemek çok bir fark yaratmaz. Aksine güvenlik yanılgısı oluşturur. IP adresimi bulamazlar gibi bir yanılgıya düşmeyin.
 
Bu sistemde 2 3 ve 4. sunucuların portlarını hep aynı mı tutmamız gerekiyor ? bunu nasıl ayırırız.
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst