Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Błąd połączenia z serwerem


Ambrozjaeqw

Rekomendowane odpowiedzi

Opublikowano

Witam was serdecznie, postanowiłem że zrobię serwer hamachi na plikach Terenzo i serwer stał, zobaczyłem na yt 

że jest poradnik jak wgrać pliki z cortiuma no i wszystko przebiegło pięknie ładnie lecz nie potrafię skonfigurować  clienta gry :D

Rozpakowałem plik root i do zedytowania miałem pliki  serwerinfo.py i intrologin.py :D

Wszystko inne jest zrobione dobrze Tylko jak chcę się połączyć z serwererem to piszę że błąd połączenia z serwerem :D

Nie jestem pewien czy dobrze zedytowałem te dwa pliki :D

Bardzo proszę o pomoc w tym :D nagradzam wszystkim co się da :D

 

serwerinfo.py

 

SERVER_NAME = "XXXXXXX"
25.17.22.100    = "25.17.22.100" <------- To jest moje ip. :D
CH_NAME1    = "Ch1"
CH_NAME2    = "Ch2"
CH_NAME3    = "Ch3"
CH_NAME4    = "Ch4"
CH_NAME5    = "Ch5"
CH_NAME6    = "Ch6"

LOGIN        = 11002

CH1_PORT         = 13001
CH2_PORT        = 13002
CH3_PORT        = 13003
CH4_PORT        = 13004
CH5_PORT        = 13005
CH6_PORT        = 13006

PORTCH99        = 13099

STATE_NONE = "Wyłączony"
STATE_DICT = {
    0 : "Wyłączony",
    1 : "Włączony",
    2 : "Przeludniony",
    3 : "Pełny"
}

SERVER01_CHANNEL_DICT = {
    1:{"key":11,"name":CH_NAME1,"ip":25.17.22.100,"tcp_port":CH1_PORT,"udp_port":CH1_PORT,"state":STATE_NONE,},
    2:{"key":12,"name":CH_NAME2,"ip":25.17.22.100,"tcp_port":CH2_PORT,"udp_port":CH2_PORT,"state":STATE_NONE,},
    3:{"key":13,"name":CH_NAME3,"ip":25.17.22.100,"tcp_port":CH3_PORT,"udp_port":CH3_PORT,"state":STATE_NONE,},
    4:{"key":14,"name":CH_NAME4,"ip":25.17.22.100,"tcp_port":CH4_PORT,"udp_port":CH4_PORT,"state":STATE_NONE,},
    5:{"key":15,"name":CH_NAME5,"ip":25.17.22.100,"tcp_port":CH5_PORT,"udp_port":CH5_PORT,"state":STATE_NONE,},
    6:{"key":16,"name":CH_NAME6,"ip":25.17.22.100,"tcp_port":CH6_PORT,"udp_port":CH6_PORT,"state":STATE_NONE,},

}

REGION_NAME_DICT = {
    0 : "",        
}

REGION_AUTH_SERVER_DICT = {
    0 : {
        1 : { "ip":25.17.22.100, "port":LOGIN, },

    }        
}

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

MARKADDR_DICT = {
    10 : { "ip" : 25.17.22.100, "tcp_port" : PORTCH99, "mark" : "10.tga", "symbol_path" : "10", },
}

 

intrologin.py

 

import app
import net
import ui
import snd
import wndMgr
import musicInfo
import systemSetting
import localeInfo
import constInfo
import ime
from _weakref import proxy

''' Konfiguracja '''
Dedyk = 1
if Dedyk == 0:
    MT2_IP = "81.2.237.75"
else:
    MT2_IP = "25.17.22.100"

MT2_LOGIN = 11002
MT2_CH1 = 13001
MT2_CH2 = 13002
MT2_CH3 = 13003
MT2_CH4 = 13004

import _winreg
REG_PATH = r"SOFTWARE\Cortium"

def set_reg(name, value):
    try:
        _winreg.CreateKey(_winreg.HKEY_CURRENT_USER, REG_PATH)
        registry_key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, REG_PATH, 0, _winreg.KEY_WRITE)
        _winreg.SetValueEx(registry_key, name, 0, _winreg.REG_SZ, value)
        _winreg.CloseKey(registry_key)
        return TRUE
    except WindowsError:
        return FALSE

def get_reg(name):
    try:
        registry_key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, REG_PATH, 0, _winreg.KEY_READ)
        value, regtype = _winreg.QueryValueEx(registry_key, name)
        _winreg.CloseKey(registry_key)
        return str(value)
    except WindowsError:
        return None        
        
class LoginWindow(ui.ScriptWindow):
    def __init__(self, stream):
        ui.ScriptWindow.__init__(self)
        
        net.SetPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
        net.SetAccountConnectorHandler(self)

        self.stream = stream    
        
    def __del__(self):
        ui.ScriptWindow.__del__(self)
        
        net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
        net.SetAccountConnectorHandler(0)

    def Open(self):
        self.loginFailureMsgDict={

            "ALREADY"    : localeInfo.LOGIN_FAILURE_ALREAY,
            "NOID"        : localeInfo.LOGIN_FAILURE_NOT_EXIST_ID,
            "WRONGPWD"    : localeInfo.LOGIN_FAILURE_WRONG_PASSWORD,
            "FULL"        : localeInfo.LOGIN_FAILURE_TOO_MANY_USER,
            "SHUTDOWN"    : localeInfo.LOGIN_FAILURE_SHUTDOWN,
            "REPAIR"    : localeInfo.LOGIN_FAILURE_REPAIR_ID,
            "BLOCK"        : localeInfo.LOGIN_FAILURE_BLOCK_ID,
            "WRONGMAT"    : localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
            "QUIT"        : localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER_TRIPLE,
            "BESAMEKEY"    : localeInfo.LOGIN_FAILURE_BE_SAME_KEY,
            "NOTAVAIL"    : localeInfo.LOGIN_FAILURE_NOT_AVAIL,
            "NOBILL"    : localeInfo.LOGIN_FAILURE_NOBILL,
            "BLKLOGIN"    : localeInfo.LOGIN_FAILURE_BLOCK_LOGIN,
            "WEBBLK"    : localeInfo.LOGIN_FAILURE_WEB_BLOCK,
        }

        self.loginFailureFuncDict = {
            "WRONGPWD"    : localeInfo.LOGIN_FAILURE_WRONG_PASSWORD,
            "WRONGMAT"    : localeInfo.LOGIN_FAILURE_WRONG_MATRIX_CARD_NUMBER,
            "QUIT"        : app.Exit,
        }

        self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
        self.SetWindowName("LoginWindow")

        self.__LoadScript("locale/pl/ui/loginwindow.py")
        
        if musicInfo.loginMusic != "":
            snd.SetMusicVolume(systemSetting.GetMusicVolume())
            snd.FadeInMusic("BGM/" + musicInfo.loginMusic)

        snd.SetSoundVolume(systemSetting.GetSoundVolume())
        self.CheckAccount()

        ime.AddExceptKey(91)
        ime.AddExceptKey(93)
        self.SetChannel(0)
        
        self.Show()
        app.ShowCursor()    

    def Close(self):
        if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
            snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
    
        if self.stream.popupWindow:
            self.stream.popupWindow.Close()
    
        self.Hide()
        app.HideCursor()
        ime.ClearExceptKey()

    def OnConnectFailure(self):
        snd.PlaySound("sound/ui/loginfail.wav")
        self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.EmptyFunc)

    def OnHandShake(self):
        snd.PlaySound("sound/ui/loginok.wav")
        self.PopupDisplayMessage(localeInfo.LOGIN_CONNECT_SUCCESS)

    def OnLoginStart(self):
        self.PopupDisplayMessage(localeInfo.LOGIN_PROCESSING)

    def OnLoginFailure(self, error):
        try:
            loginFailureMsg = self.loginFailureMsgDict[error]
        except KeyError:
        
            loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN  + error

        loginFailureFunc = self.loginFailureFuncDict.get(error, self.EmptyFunc)

        self.PopupNotifyMessage(loginFailureMsg, loginFailureFunc)

        snd.PlaySound("sound/ui/loginfail.wav")

    def __LoadScript(self, fileName):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, fileName)
        except:
            import exception
            exception.Abort("LoginWindow.__LoadScript.LoadObject")

        try:
            self.idEditLine = self.GetChild("id")
            self.pwdEditLine = self.GetChild("pwd")
            self.loginButton = self.GetChild("login_button")
            self.exitButton = self.GetChild("exit_button")
            
            self.channelButton = {
                0 : self.GetChild("ch1"),
                1 :    self.GetChild("ch2"),
                2 : self.GetChild("ch3"),
                3 : self.GetChild("ch4")}
            
            self.accountData = {
                0 : [[self.GetChild("load_button_0"), self.GetChild("save_button_0"), self.GetChild("delete_button_0")], self.GetChild("account_0_text")],
                1 : [[self.GetChild("load_button_1"), self.GetChild("save_button_1"), self.GetChild("delete_button_1")], self.GetChild("account_1_text")],
                2 : [[self.GetChild("load_button_2"), self.GetChild("save_button_2"), self.GetChild("delete_button_2")], self.GetChild("account_2_text")],
                3 : [[self.GetChild("load_button_3"), self.GetChild("save_button_3"), self.GetChild("delete_button_3")], self.GetChild("account_3_text")]}

        except:
            import exception
            exception.Abort("LoginWindow.__LoadScript.BindObject")
            
        for (key, item) in self.accountData.items():
            if isinstance(item[0], list):
                item[0][0].SetEvent(ui.__mem_func__(self.LoadAccount), key)
                item[0][1].SetEvent(ui.__mem_func__(self.SaveAccount), key)
                item[0][2].SetEvent(ui.__mem_func__(self.DeleteAccount), key)
                
        for (channelID, channelButtons) in self.channelButton.items():
                channelButtons.SetEvent(ui.__mem_func__(self.SetChannel), channelID)

        self.loginButton.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))
        self.exitButton.SetEvent(ui.__mem_func__(self.OnPressExitKey))
        
        #self.jebanyPies.SetEvent(ui.__mem_func__(self.IHavePoorPC))
        
        self.idEditLine.SetReturnEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))
        self.idEditLine.SetTabEvent(ui.__mem_func__(self.pwdEditLine.SetFocus))
        self.pwdEditLine.SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))
        self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))
        self.idEditLine.SetFocus()
        
    #def IHavePoorPC(self):
        #if get_reg("mob") == "0":
            #self.jebanyPies.SetUpVisual("arianea/loginwindow/dog2.tga")
            #self.jebanyPies.SetOverVisual("arianea/loginwindow/dog1.tga")
            #self.jebanyPies.SetDownVisual("arianea/loginwindow/dog1.tga")
            #set_reg("mob", "1")
        #else:
            #self.jebanyPies.SetUpVisual("arianea/loginwindow/dog1.tga")
            #self.jebanyPies.SetOverVisual("arianea/loginwindow/dog2.tga")
            #self.jebanyPies.SetDownVisual("arianea/loginwindow/dog2.tga")
            #set_reg("mob", "0")
        
    def CheckAccount(self):
        for i in xrange(4):
            if get_reg("id_%d" % i):
                self.accountData[1].SetText(str(get_reg("id_%d" % i)))
                self.accountData[0][1].Hide()
                self.accountData[0][0].Show()
            else:
                self.accountData[1].SetText("Nie zapisano")
                self.accountData[0][1].Show()
                self.accountData[0][0].Hide()
                
    def DeleteAccount(self, key):
        if get_reg("id_%d" % key):
            set_reg("id_%d" % key, "")
            set_reg("pwd_%d" % key, "")
            self.PopupNotifyMessage("Konto zostało usunięte.")
        else:
            self.PopupNotifyMessage("Aby usunąć konto musisz je zapisać.")
            
        self.CheckAccount()
        
    def LoadAccount(self, key):
        if get_reg("id_%d" % key):
            self.idEditLine.SetText(str(get_reg("id_%d" % key)))
            self.pwdEditLine.SetText(str(get_reg("pwd_%d" % key)))
            self.pwdEditLine.SetFocus()
        else:
            self.PopupNotifyMessage("Nie ma zapisanego konta.")
            
    def SaveAccount(self, key):
        if get_reg("id_%d" % key):
            self.PopupNotifyMessage("Aby zapisać konto musisz je usunąć.")
            return
        
        if self.idEditLine.GetText() == "" or self.pwdEditLine.GetText() == "":
            self.PopupNotifyMessage("Podaj dane aby zapisać konto.")
            return
        
        set_reg("id_%d" % key, self.idEditLine.GetText())
        set_reg("pwd_%d" % key, self.pwdEditLine.GetText())
        self.PopupNotifyMessage("Konto zostało zapisane.")
        self.CheckAccount()

    def SetChannel(self, ch):
        for key, button in self.channelButton.items():
            button.SetUp()
            
        self.channelButton[ch].Down()

        self.stream.SetConnectInfo(MT2_IP, self.ChannelPort(ch, 0), MT2_IP, self.ChannelPort("LOGIN"))
        net.SetMarkServer(MT2_IP, self.ChannelPort("LOGO"))
        app.SetGuildMarkPath("10.tga")
        app.SetGuildSymbolPath("10")
        net.SetServerInfo(self.ChannelPort(ch, 2))
        
    def ChannelPort(self, ch, value=0):
        channel = {

            0    :    MT2_CH1,
            1    :    MT2_CH2,
            2    :    MT2_CH3,
            3    :    MT2_CH4}
        
        if ch == "LOGIN":
            return MT2_LOGIN
        elif ch == "LOGO":
            return channel[0]
        elif value == 2:
            return "Cortium, Channel %s" % (ch+1)
        else:
            return channel[ch]
                
    def Connect(self, id, pwd):
        if constInfo.SEQUENCE_PACKET_ENABLE:
            net.SetPacketSequenceMode()
            
        constInfo.LastAccount = id.lower()

        self.stream.popupWindow.Close()
        self.stream.popupWindow.Open(localeInfo.LOGIN_CONNETING, self.EmptyFunc, localeInfo.UI_CANCEL)

        self.stream.SetLoginInfo(id, pwd)
        self.stream.Connect()
        
    def PopupDisplayMessage(self, msg):
        self.stream.popupWindow.Close()
        self.stream.popupWindow.Open(msg)

    def PopupNotifyMessage(self, msg, func=0):
        if not func:
            func = self.EmptyFunc

        self.stream.popupWindow.Close()
        self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)

    def OnPressExitKey(self):
        if self.stream.popupWindow:
            self.stream.popupWindow.Close()
        self.stream.SetPhaseWindow(0)
        return TRUE

    def EmptyFunc(self):
        pass

    def __OnClickLoginButton(self):
        id = self.idEditLine.GetText()
        pwd = self.pwdEditLine.GetText()

        if len(id)==0:
            self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_ID, self.EmptyFunc)
            return

        if len(pwd)==0:
            self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORD, self.EmptyFunc)
            return

        self.Connect(id, pwd)


Bardzo proszę o pomoc :D

f5

Opublikowano
Przed chwilą, karixi napisał:

porty odblokowałeś przy włączaniu maszyny ? druga sprawa masz to na hamaku czy na pc sobie edytujesz ?? 

porty są odblokowane i to jest na hamaku :/

Opublikowano
1 minutę temu, Ambrozjaeqw napisał:

porty są odblokowane i to jest na hamaku :/

tutaj masz na pewno ip "hamaka" i na maszynie to samo :D

Szczerze powinieneś jeszcze raz za to się wziąć i powoli to zrobić :D

Daj znaka na pw jak poszło 

Opublikowano
1 minutę temu, karixi napisał:

tutaj masz na pewno ip "hamaka" i na maszynie to samo :D

Szczerze powinieneś jeszcze raz za to się wziąć i powoli to zrobić :D

Daj znaka na pw jak poszło 

tak, wszystko jest tak jak powinno :/ dwa razy to robiłem i dalej to samo :/

Opublikowano

1. 25.17.22.100    = "25.17.22.100" takie coś nie ma prawa zadziałać .. pierwsza podstawowa zasada, zmienna nie może zaczynać się od cyfry xD

SERVER_IP = "25.17.22.100" 

wszystkie 25.17.22.100 w serverinfo.py zmień na SERVER_IP

 

GDYBY DAEJ NIE DZIAŁAŁO

sprawdziłeś czy wgl masz online kanały?

Wpisz ps w vbox i daj ss.

  • Ups... zmienił(a) tytuł na Błąd połączenia z serwerem
  • Aive zablokował(a) ten temat

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...