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

[Problem]Status channeli


Rekomendowane odpowiedzi

Opublikowano

Witam, nie wyświetla mi się status channeli tylko wyświetla się "...." - (w serverinfo.py mam ustawione "0" ale podałem "..." żeby utworzyć wam obraz w głowie ;))

Zalogować się mogę wiec serwer jest na 100% aktywny i działa.

 

Na samym początku myślałem że to wina tego iż serwer jest postawiony na Hamachi jednak po przeniesieniu go na VPS'a w dalszym ciągu status pozostał "nie aktywny".

 

 

Mój serverinfo.py

http://wklej.to/xHzpg

Porty są dobrze ustawione, nie wiem w czym może być problem.

Podstawa serwera to pliki Terenza.

8910814572903361049127.png

Opublikowano

@Up

Probowalem bez sprawdzania "lokalizacji":

 

if locale.IsEUROPE():

 

ale wywala jakis blad, nie pamietam jaki, pewne inne warunki chca "podania" z jakiej lokalizacji ma korzystac.

8910814572903361049127.png

Opublikowano

taki dif

This difference file is created by Paylasici
game_r2089M_32
0004A878: A7 AB
0004A88B: B3 B7
0004A8A4: 2C 30
000A2CF0: 80 EB
000A2CF1: BF 20
000A4CD5: 80 EB
000A4CD6: BE 0B
000D062E: 01 00
000D13BE: 01 00
0018161F: A1 90
00181620: F8 90
00181621: 28 90
00181622: 4C 90
00181623: 08 90
00181624: 89 90
00181625: 45 90
00181626: F0 90
00181670: 8B 90
00181671: 55 90
00181672: F0 90
00181673: 33 90
00181674: 15 90
00181675: F8 90
00181676: 28 90
00181677: 4C 90
00181678: 08 90
00181679: 0F 90
0018167A: 85 90
0018167B: 7A 90
0018167C: 01 90
0018167D: 00 90
0018167E: 00 90
00181741: CF D3
00181754: DB DF
0018176E: 2C 30

link do mojego tematu z problemem

http://www.mpcforum.pl/topic/1037054-pytanieclientside-v45-terenzo/
Opublikowano
def __RefreshServerList(self):
regionID = self.__GetRegionID()
 
if not serverInfo.REGION_DICT.has_key(regionID):
return
 
self.serverList.ClearItem()
 
regionDict = serverInfo.REGION_DICT[regionID]
 
# SEVER_LIST_BUG_FIX
visible_index = 1
for id, regionDataDict in regionDict.items():
name = regionDataDict.get("name", "noname")
if locale.IsBRAZIL() or locale.IsCANADA():
self.serverList.InsertItem(id, "%s" % (name))
else:
if locale.IsCIBN10():
if name[0] == "#":
self.serverList.InsertItem(-1, "  %s" % (name[1:]))
else:
self.serverList.InsertItem(id, "  %s" % (name))
visible_index += 1
else:
try:
server_id = serverInfo.SERVER_ID_DICT[id]
except:
server_id = visible_index
 
self.serverList.InsertItem(id, "  %02d. %s" % (int(server_id), name))
 
visible_index += 1
 
# END_OF_SEVER_LIST_BUG_FIX
 
def __OnSelectServer(self):
self.__OnCloseInputDialog()
self.__RequestServerStateList()
self.__RefreshServerStateList()
 
def __RequestServerStateList(self):
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
 
try:
channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
except:
print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
return
 
for id, channelDataDict in channelDict.items():
key=channelDataDict["key"]
ip=channelDataDict["ip"]
udp_port=channelDataDict["udp_port"]
ServerStateChecker.Request(key, ip, udp_port)
 
def __RefreshServerStateList(self):
 
regionID = self.__GetRegionID()
serverID = self.__GetServerID()
bakChannelID = self.channelList.GetSelectedItem()
 
self.channelList.ClearItem()
 
try:
channelDict = serverInfo.REGION_DICT[regionID][serverID]["channel"]
except:
print " __RequestServerStateList - serverInfo.REGION_DICT(%d, %d)" % (regionID, serverID)
return
 
for channelID, channelDataDict in channelDict.items():
channelName = channelDataDict["name"]
channelState = channelDataDict["state"]
self.channelList.InsertItem(channelID, " %s %s" % (channelName, channelState))
 
self.channelList.SelectItem(bakChannelID-1)
 
def __GetChannelName(self, regionID, selServerID, selChannelID):
try:
return serverInfo.REGION_DICT[regionID][selServerID]["channel"][selChannelID]["name"]
except KeyError:
if 9==selChannelID:
return locale.CHANNEL_PVP
else:
return locale.CHANNEL_NORMAL % (selChannelID)
 
def NotifyChannelState(self, addrKey, state):
try:
stateName=serverInfo.STATE_DICT[state]
except:
stateName=serverInfo.STATE_NONE
 
regionID=int(addrKey/1000)
serverID=int(addrKey/10) % 100
channelID=addrKey%10
 
try:
serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateName
self.__RefreshServerStateList()
 
except:
import exception
exception.Abort(locale.CHANNEL_NOT_FIND_INFO)

Taby:

 http://wklej.to/jkkrO

PS: Pomysły niektórych mnie przerażają. Dif na status channeli? Boże widzisz i nie grzmisz.

0LsM05U.png

Opublikowano

Up to ze staram sie pomoc to zle?

PS: Stwierdzenia niektórych mnie przerażają. Taki mamy naród.... Boże widzisz i nie grzmisz.

Opublikowano

@2Up

Nie dziala, dalej to samo. Swoja droga na 100% nie jestem pewien ale taki sam mialem ten kawalek skryptu.


 

taki dif

This difference file is created by Paylasici
game_r2089M_32
0004A878: A7 AB
0004A88B: B3 B7
0004A8A4: 2C 30
000A2CF0: 80 EB
000A2CF1: BF 20
000A4CD5: 80 EB
000A4CD6: BE 0B
000D062E: 01 00
000D13BE: 01 00
0018161F: A1 90
00181620: F8 90
00181621: 28 90
00181622: 4C 90
00181623: 08 90
00181624: 89 90
00181625: 45 90
00181626: F0 90
00181670: 8B 90
00181671: 55 90
00181672: F0 90
00181673: 33 90
00181674: 15 90
00181675: F8 90
00181676: 28 90
00181677: 4C 90
00181678: 08 90
00181679: 0F 90
0018167A: 85 90
0018167B: 7A 90
0018167C: 01 90
0018167D: 00 90
0018167E: 00 90
00181741: CF D3
00181754: DB DF
0018176E: 2C 30

link do mojego tematu z problemem

http://www.mpcforum.pl/topic/1037054-pytanieclientside-v45-terenzo/

Nie bedzie przeciez pisalem ze mam nowe game i nowa binke a ty dales diffa na game_r2089M_32

8910814572903361049127.png

Opublikowano

@Up

Pisalem ze mialem na hamachi serwer i tak bylo, zignorowalem to ale po przeniesieniu na vps'a dalej bylo to samo wiec na 99% jak przeniose na dedyka tosytuacja sie powtorzy.

8910814572903361049127.png

Opublikowano

Rozwiązałem sprawę, analizując dokładnie każdą linijkę intrologin.py i porównując je z intrologin.py od Terenza oraz The Naid'a okazało się że ktoś celowo wyłączył tą funkcje stawiając przed kodem odpowiedzialnym za aktualizowanie statusu "#"

 

Dziękuję wam za pomoc i pozdrawiam ;)

8910814572903361049127.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...