noisiv 1
noisiv
Manwe Work 1
Manwe Work
shrpnl 1
shrpnl
YusufŞimşek14 1
YusufŞimşek14
berzahx 2
berzahx
xranzei 1
xranzei
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[Python] 2 Veya Daha Çok Serveri Tek Packde Birleştirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

notto0606

FedakarMt2 Taklitler Aslını Yüceltir!
TM Üye
Katılım
10 Kas 2016
Konular
157
Mesajlar
1,576
Reaksiyon Skoru
303
Altın Konu
0
TM Yaşı
9 Yıl 7 Ay 5 Gün
Başarım Puanı
128
MmoLira
11
DevLira
0
Ticaret - 100%
1   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Herkese merhabalar :flame:.

Konuya başlamadan önce bu konu önceden açılmış ve yazı fontları olsun anlatım biçimi olsun çok farklı. Mesela bu konuda arkadaşın bazı yazılarının fontları gitmiş ve arkadaş heryere "TurfanMt2" diye reklam koymuş. Şu konuda onun alıntısıdır. Ve yorumlarında siyah ekranla vs karşılaşılmış bu açtığım konuda öyle birşey bulunmamakta.

Konuya geçicek olursak. :eyebrows:.

İlk öncelikle Root/serverinfo.py dosyasını Notepad++ gibi yardımcı bir programla açın. (Not defteride olur fakat kafa karıştırıcı olabilir.)

Mesela benim serverinfo.py dosyam aynen şu şekilde

Kod:
import os
import app
import localeInfo
import debugInfo

CHINA_PORT = 50000
STATE_NONE = "|cFFFF0000|hKAPALI"
SERVER_NAME = "|cff00ff00|h[FK]FedakarMt2"
SERVER_IP = "192.168.1.7"
CH1_PORT = 13001
CH2_PORT = 13002
CH3_PORT = 13003
CH4_PORT = 13004
AUTH_PORT = 11002

def BuildServerList(orderList):
    retMarkAddrDict = {}
    retAuthAddrDict = {}
    retRegion0 = {}

    ridx = 1
    for region, auth, mark, channels in orderList:
        cidx = 1
        channelDict = {}
        for channel in channels:
            key = ridx * 10 + cidx
            channel["key"] = key
            channelDict[cidx] = channel
            cidx += 1

        region["channel"] = channelDict

        retRegion0[ridx] = region
        retAuthAddrDict[ridx] = auth
        retMarkAddrDict[ridx*10] = mark
        ridx += 1

    return retRegion0, retAuthAddrDict, retMarkAddrDict

app.ServerName = None

if (localeInfo.IsEUROPE() and app.GetLocalePath() == "locale/tr"):
                  
    STATE_DICT = {
        0 : "|cFFFF0000|hKAPALI",
        1 : "|cff00ff00|hNORMAL",
        2 : "|cff00ff00|hYOĞUN",
        3 : "|cff00ff00|hDOLU"
    }

    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
    }
  
    REGION_NAME_DICT = {
        0 : "Turkey",     
    }

    REGION_AUTH_SERVER_DICT = {
        0 : {
            1 : { "ip": SERVER_IP,"port":AUTH_PORT, },
  
        }     
    }

    REGION_DICT = {
        0 : {
            1 : { "name" : SERVER_NAME,"channel" : SERVER01_CHANNEL_DICT, },                     
        },
    }

    MARKADDR_DICT = {
        10 : { "ip" : SERVER_IP,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
    }

    TESTADDR = { "ip" : SERVER_IP,"tcp_port" : CHINA_PORT, "udp_port" : CHINA_PORT, }

Şimdi biz bunu nasıl 2 serveri birleştiricez veya daha çok serveri. Şimdi ilk 1 server eklemeyi göstereceğim sonra bunu siz 4-5 server kadar çoğaltabilirsiniz.

Serverinfo.py niz olduğu gibi kalsın. Kendi py üzerinden anlatacağım mantığı anlarsanız gerisi gelir ztn.
(Kopyala yapıştır :bump2:.)

Şimdi benim burda
Kod:
STATE_NONE = "|cFFFF0000|hKAPALI"
SERVER_NAME = "|cff00ff00|h[FK]FedakarMt2"
SERVER_IP = "192.168.1.7"
bi yer var SERVER_NAME = "|cff00ff00|h[FK]FedakarMt2" altına iniyorum.
(Dikkat |cff00ff00 bu gibi kodlar renk kodlarıdır sizde olmasada olur.)

İndikten sonra şunu yazıyorum

Kod:
SERVER_NAME2 = "|cff00ffff|hTest"

Ordaki test yazısını kendinize göre düzenleyin mesela "Server2" diye.

Sonra SERVER_IP = "192.168.1.7" buluyorum yani SERVER_IP yazan yeri. Satırı kopyalıyıp bir boşluk bırakıp altına yapıştırıyorum.

Ve sonra SERVER_IP2 diye değiştiriyorum.Yani şöyle olacak.
Kod:
SERVER_IP2 = "İp adresini yazınız"

İp adresini yazınız dediğim yere 2.serveriniz ip adresini yazın. Ben boş bıraktım çünkü 2. serverim bulunmamakta.

Yani düzenlediğimiz yerler bitince aynen şöyle olacaktır.

Kod:
SERVER_NAME = "|cff00ff00|h[FK]FedakarMt2"
SERVER_NAME2 = "|cff00ffff|hTest"
SERVER_IP = "192.168.1.7"
SERVER_IP2 = ""

Sonra aşağı iniyorum ve şurayı buluyorum.

Kod:
SERVER01_CHANNEL_DICT = {

bulduktan sonra kod satırının devamı şöyledir.

Kod:
    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
    }

Kod satırını kopyalıyorum. ve boşluk bırakıp altına aynısını ekliyorum. Yani şöyle olacak.

Kod:
    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
    }
  
    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
    }

Burda düzenleyeceğimiz yerler şunlardır.

2. eklediğimiz

Kod:
SERVER01_CHANNEL_DICT = {

yeri şu şekilde değiştiriyorum.

Kod:
SERVER02_CHANNEL_DICT = {

sonra 2. eklediğimiz

Kod:
SERVER_IP

yazan yerleri

Kod:
SERVER_IP2

olarak değiştiriyorum. Dikkat: 2. eklediğimiz yerleri yapacaksınız.

Son hali şöyle olacaktır.

Kod:
    SERVER02_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP2,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
    
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP2,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
    
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP2,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
    
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP2,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},       
    }

Sonra şu yeri aratıp buluyoruz.

Kod:
REGION_AUTH_SERVER_DICT = {

bu sizde şöyle olacaktır.

Kod:
    REGION_AUTH_SERVER_DICT = {
        0 : {
            1 : { "ip": SERVER_IP,"port":AUTH_PORT, },
  
        }     
    }

Bunu şöyle değiştiriyoruz.

Kod:
    REGION_AUTH_SERVER_DICT = {
        0 : {
            1 : { "ip": SERVER_IP,"port":AUTH_PORT, },
            2 : { "ip": SERVER_IP2,"port":AUTH_PORT, },
        }     
    }

Burası tamamdır. Sonra tekrar aratıp buluyoruz.
Kod:
REGION_DICT = {
burası sizde böyledir.
Kod:
    REGION_DICT = {
        0 : {
            1 : { "name" : SERVER_NAME,"channel" : SERVER01_CHANNEL_DICT, },                     
        },
    }

burayı şöyle değiştiriyoruz.

Kod:
    REGION_DICT = {
        0 : {
            1 : { "name" : SERVER_NAME,"channel" : SERVER01_CHANNEL_DICT, },
            2 : { "name" : SERVER_NAME2,"channel" : SERVER02_CHANNEL_DICT, },
        },
    }

Dikkat ederseniz yaptıklarımızı kopyala yapıştır ile çoğaltıyoruz.

Sonra tekrar aratıp buluyoruz.
Kod:
    MARKADDR_DICT = {

Burası sizde böyledir.

Kod:
    MARKADDR_DICT = {
        10 : { "ip" : SERVER_IP,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
    }

Bunu şöyle değiştiriyoruz.

Kod:
    MARKADDR_DICT = {
        10 : { "ip" : SERVER_IP,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
        20 : { "ip" : SERVER_IP2,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
    }

İşlemler bitti py nin son hali şöyle olacaktır.

Kod:
import os
import app
import localeInfo
import debugInfo

CHINA_PORT = 50000
CH1_PORT = 13001
CH2_PORT = 13002
CH3_PORT = 13003
CH4_PORT = 13004
AUTH_PORT = 11002
STATE_NONE = "|cFFFF0000|hKAPALI"
SERVER_NAME = "|cff00ff00|h[FK]FedakarMt2"
SERVER_NAME2 = "|cff00ffff|hTest"
SERVER_IP = "192.168.1.7"
SERVER_IP2 = ""

def BuildServerList(orderList):
    retMarkAddrDict = {}
    retAuthAddrDict = {}
    retRegion0 = {}

    ridx = 1
    for region, auth, mark, channels in orderList:
        cidx = 1
        channelDict = {}
        for channel in channels:
            key = ridx * 10 + cidx
            channel["key"] = key
            channelDict[cidx] = channel
            cidx += 1

        region["channel"] = channelDict

        retRegion0[ridx] = region
        retAuthAddrDict[ridx] = auth
        retMarkAddrDict[ridx*10] = mark
        ridx += 1

    return retRegion0, retAuthAddrDict, retMarkAddrDict

app.ServerName = None

if (localeInfo.IsEUROPE() and app.GetLocalePath() == "locale/tr"):
                  
    STATE_DICT = {
        0 : "|cFFFF0000|hKAPALI",
        1 : "|cff00ff00|hNORMAL",
        2 : "|cff00ff00|hYOĞUN",
        3 : "|cff00ff00|hDOLU"
    }

    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
      
    }
  
    SERVER02_CHANNEL_DICT = {
        1:{"key":11,"name":"|cff00ff00|hCH1","ip": SERVER_IP2,"tcp_port": CH1_PORT,"udp_port": CH1_PORT,"state":STATE_NONE,},
  
        2:{"key":12,"name":"|cff00ff00|hCH2","ip": SERVER_IP2,"tcp_port": CH2_PORT,"udp_port": CH2_PORT,"state":STATE_NONE,},
  
        3:{"key":13,"name":"|cff00ff00|hCH3","ip": SERVER_IP2,"tcp_port": CH3_PORT,"udp_port": CH3_PORT,"state":STATE_NONE,},
  
        4:{"key":14,"name":"|cff00ff00|hCH4","ip": SERVER_IP2,"tcp_port": CH4_PORT,"udp_port": CH4_PORT,"state":STATE_NONE,},     
    }
  
    REGION_NAME_DICT = {
        0 : "Turkey",     
    }

    REGION_AUTH_SERVER_DICT = {
        0 : {
            1 : { "ip": SERVER_IP,"port":AUTH_PORT, },
            2 : { "ip": SERVER_IP2,"port":AUTH_PORT, },
        }     
    }

    REGION_DICT = {
        0 : {
            1 : { "name" : SERVER_NAME,"channel" : SERVER01_CHANNEL_DICT, },
            2 : { "name" : SERVER_NAME2,"channel" : SERVER02_CHANNEL_DICT, },
        },
    }

    MARKADDR_DICT = {
        10 : { "ip" : SERVER_IP,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
        20 : { "ip" : SERVER_IP2,"tcp_port" : CH1_PORT, "mark" : "10.tga", "symbol_path" : "10", },
    }

    TESTADDR = { "ip" : SERVER_IP,"tcp_port" : CHINA_PORT, "udp_port" : CHINA_PORT, }

Şimdi kaydedip packliyelim ve sonuca bakalım.

r2VEra.png


Gördüğünüz gibi 1. ekli olan server açık ve 1 tane daha server eklenmiş. Hatırlarsanız onun "IP" kısmını boş bırakmıştık oda şöyle gözükecektir.

7NbAzL.png


Gördüğünüz gibi kanallar kapalı 2. eklediğimizde. Yani başarılı bir şekilde eklemiş bulunmaktayız.
Eğer iki yerede aynı ip i yazsaydım 2 serverinde CH1 kanalları açık olacaktı.

Evet bu kadar dı :rockon:. Bunun gibi orda ki sayıyı istediğiniz kadar çoğaltıp istediğiniz kadar server ekliyebilirsiniz.

Teşekkür ederim. Sağlıcakla Kalın :twitch:. Görüşmek dileğiyle :tea:.

Dipnot: Eğer 2 ayrı serveriniz varsa ve prtları değişikse baştaki portlara 2. serverinizin portlarınızıda eklemeniz gerekmekte. Örnek verirsek biri xxMt2 olsun biride xxxMt2 olsun. Bunların makinaları ayrıysa ve filesları. Portları ona göre düzenlemeniz gerekmekte. Fakat "Test" server gibi birşey oluşturacaksınız böyle bir şeye gerek yoktur.
 
Son düzenleme:
konu için teşekkürler bilmeyenler için faydalı ve detaylı bir anlatım olmuş. :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst