• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

MU TRAVANDO NA TELA DE LOGIN

Boeing737

Novato XPZ
Tenho um servidor 1.02n Season2 + , venho recebendo de forma constante reclamações de players dizendo que o serve trava na tela de login e na maoria das vezes fica levando disconnect, ocasionando assim que os players nao consegue entrar no jogo, é preciso eu reiniciar o servidor para que tudo volte ao normal , porém quando ligo o servidor nenhum arquivo e nem o gameserve apresenta nenhum tipo de error,   peço ajuda aos colegas  , oque seria?
 

MazziTo

Deus seja louvado :)
Legendário XPZ
Creio eu que pode ser o Edataserver ou exdb, nunca passei por isso nem mexo com season mas pode ser isso.
 

GoianoOficial

Honrado XPZ
Sei oque e isso, o gameserver entra em standy provocando o congelamento na tela de login depois de algumas horas online.


Eu resolvi esse erro  dando call no offset do gameserver usando ollydbg, agora n lembro o offset, pesquisa google ai^^
 

ajmeireles

Honrado XPZ
Bom, 


Pra ter ajuda deveria especificar corretamente.


Tela de login pra mim é onde se insere id e senha, se for nesta parte pode ser o = connect server + joinserver


Stand by de gameserver? o_O


Como um executável que vive em processamento irá entrar em stand by?


Por minuto a gameserver sofre reloading, impossível ser stand by.

 
 

s00x

my life, my style.
Estagiario
ConnectServer + JoinServer, GameServer não entra em standby pelo simples fato de enviar algo a todo segundo.
 

ajmeireles

Honrado XPZ
Por favor, Entrar ou Registrar para ver o conteúdo das citações!

E depois quem não tem conhecimento sou eu.


DataServer pode ter stand by, JoinServer pode ter, CS.. tudo, excetoooooooooo.. GS.


Você realmente sabe o que significa stand by?


Stand By = ato ou fração de consequência vinda de um momento interrupto de inatividade daquele objeto, seja lá o que for.


Não existe stand by de gs porque ele não fica 1 segundo se quer interrupto, só o processamento de reloading da monstersetbase é enorme.

"Call no ollydb."

Olly é um debbuger especializado em trabalhar com o assembly, decompilando/descriptando o executável e exibindo-o todas as suas "raizes"(se podemos classificar assim).


O comando call nada mais é do que "chamar", assim como o "jump" é para "ir/pular" até aquele endereço(offset), "add"(soma) e por ai vai.

Se você deu um "call no gs" você simplesmente eliminou diversos bytes de processamento que existiam antes da offset que você "chamou", e foi direto para o que queria.
 

s00x

my life, my style.
Estagiario
Por favor, Entrar ou Registrar para ver o conteúdo das citações!

Muita explicação pra pouca coisa jovem.
Falou, falou, falou mais não falou o que tinha necessidade, se algo entra em standby qual é o motivo?
Talvez, só talvez, o GameServer envie algo e só talvez também o ConnectServer/JoinServer/DataServer não receba, ou não retorne, depois 1, 2, 3, 4 tentativas passando pelo mesmo bloco de código várias vezes algum para de retornar, e por não ser usado entra em Standby :)
Provavelmente algum endereço "offset" esta sendo acesso em um determinado bloco de código e não esta tendo retorno.

Olly não é especializado para decompilar/decriptar, muito pelo contrário, não tem nada a ver com decompilação e descriptação, e quando você da um call, você não elimina nada, quando o bloco de código que foi você chamou termina de ser executado, ele retorna pra o endereço antigo, ou seja, você faz é aumentar mais alguns byts de processamento.
 
 

xakau08

Usuário XPZ
Isso acontece devido ao grande trafego de informações do Datserver, geralmente ocorre depois de um tempo online e com playes upando e resetando, quando vai resetar em certo momento no site aprece que o level não é suficiente para resetar mesmo ele in game tendo alcançado o level, a partir desse momento ninguem mais consegue entrar no servidor, quem está online continua.. Só conseguem conectar quando o dataserver é reiniciado ou fecha o ds1 e deixa rodar o ds2. Então quando ele retorna ao jogo repara que o level está abaixo do que ele teria alcançado anteriormente, como se o Dataserver não tivesse contabilizado durante certo momento.
Uma forma que poderia amenizar isso seria colocar o ds para resetar no próprio startUp

Ficaria assim:

[captions]
v0v=[1] JoinServer
v1v=[2] ConnectServer
v2v=[3]Dataserver1
v3v=[4]dataserver2
v4v=[5]exdb
v5v=[6]chatserver
v6v=[7]Ranking
v7v=[8]eventserver
v8v=[9]gameserver
v9v=[10]gameserver_cs
[paths]
v0v=joinserver\
v1v=cs\
v2v=dataserver1\
v3v=dataserver2\
v4v=exdb\
v5v=chatserver\
v6v=rankingserver\
v7v=eventserver\
v8v=fnr1-1\
v9v=fnr-cs\gameserver\
[exenames]
v0v=joinserver.exe
v1v=cs.exe
v2v=dataserver.exe
v3v=dataserver.exe
v4v=exdb.exe
v5v=chatserver.exe
v6v=mu_ranking_db_server.exe
v7v=wz_mu2003_event_server.exe
v8v=gameserver.exe
v9v=gameserver_cs.exe
[parametrs]
v0v=/p50001 /ca127.0.0.1 /cp55557
v1v=
v2v=55960 1
v3v=55962 2
v4v=127.0.0.1
v5v=127.0.0.1
v6v=
v7v=
v8v=127.0.0.1 50001 127.0.0.1 55960 55499
v9v=127.0.0.1 50001 127.0.0.1 55960 55919
[waitintervals]
v0v=1000
v1v=1000
v2v=1000
v3v=1000
v4v=1000
v5v=1000
v6v=1000
v7v=1000
v8v=1000
v9v=1000
[needrestart]
v0v=no
v1v=no
v2v=yes <----- altere aqui de "no" para "yes"
v3v=no
v4v=no
v5v=no
v6v=no
v7v=no
v8v=no
v9v=no
[main]
enableautorestart=1 <-- deixe 1
restartinterval=60 <-- tempo para resetar o ds


Ou abrir o mesmo e executável para o ds1 e ds2 em portas diferentes, ficando assim:

[captions]
v0v=[1] JoinServer
v1v=[2] ConnectServer
v2v=[3]Dataserver1
v3v=[4]dataserver2
v4v=[5]exdb
v5v=[6]chatserver
v6v=[7]Ranking
v7v=[8]eventserver
v8v=[9]gameserver
v9v=[10]gameserver_cs
[paths]
v0v=joinserver\
v1v=cs\
v2v=dataserver1\ <------
v3v=dataserver1\ <------
v4v=exdb\
v5v=chatserver\
v6v=rankingserver\
v7v=eventserver\
v8v=fnr1-1\
v9v=fnr-cs\gameserver\
[exenames]
v0v=joinserver.exe
v1v=cs.exe
v2v=dataserver.exe <----
v3v=dataserver.exe <----

Espero ter ajudado, pois já passei por isso.
PS: isso é uma gambiarra.. que pode ou não dar certo para você, então teste.
 
Topo Bottom