Chat global
[Ajuda] Ao iniciar o server.exe o executavel é encerrado (Crash.dmp é gerado)
Boa tarde turma, já configurei o banco de dados na VM, fui iniciar o server.exe, porém após a linha "Carregando mapas..." do prompt, o executável é encerrado.
Ao analisar o arquivo "Crash.dmp" gerado na pasta configs, é possível observar que o dump possui o Exception Code: 0xc0000005, saberiam me informar como posso resolver este dump ?

se puder upar o dump com o pdb se tiver
@razor , Claro, segue o server.pdb e o crash.dmp
Como passa de 10MB eu upei ele no drive
Crash: https://drive.google.com/file/d/16OrnfRextAzrrDO42VviEV2aNCr_4iuj/view?usp=sharing
Server.pdb: https://drive.google.com/file/d/1JnYv7eAm5nA19Pmidk4PeSXObQwuHoBc/view?usp=sharing

tenta colocar o servidor no DEP, veja se ele crasha também, se possivel testa com o executavel em Debug pra ter mais detalhe do local do crash
Deu certo, o o sistema conectou, agora só preciso ver os IPs do servidor e do game.exe para conseguir me conectar no game.
Obrigado pelo apoio

opa mano, beleza ?Postado por: @tstgmaparentemente parou na linha 2287
O ponteiro smMotionInfo
não tem valor válido (possivelmente nullptr
).
Então, quando o código tenta acessar smMotionInfo->MotionCount
, o serve tenta ler memória que não pertence a ele — resultando na violação de acesso.
talvez isso aqui funcione :
int smCHAR::FindMotionCountFromCode(DWORD MotionCode) { if (smMotionInfo == nullptr) { printf("Erro: smMotionInfo está nulo em FindMotionCountFromCode\n"); return 0; } int FindCnt = 0; for (DWORD cnt = 0; cnt < smMotionInfo->MotionCount; cnt++) { if (smMotionInfo->MotionInfo[cnt].State == MotionCode) FindCnt++; } return FindCnt; }
coloque em cima da int smChar findmotion...., Isso impede o crash, mas não vai resolver a causa real.
pra isso vc vai ter que entender quem deveria inicializar smMotionInfo
.
Procure onde smMotionInfo
é declarado: talvez vc ache pesquisando por "extern smMOTION_INFO *smMotionInfo;"
Depois veja onde ele é inicializado: smMotionInfo = new smMOTION_INFO();
ou carregado via função tipo:
LoadMotionInfo();
o resto é com vc acho que deixei meio explicado... mas tabém pode ser só um arquivo faltando na pasta game server '-'. antes de testar o mais dificil faça o mais fácil. muda o nome da game serve e abre o servidor. caso não vá faça isso

Então você precisa revisar sua pasta field se não você não verá os npcs nem monstros spawnando, vá repondo aos poucos vai ver tem algum smd não compatível com seu servidor.
tmj
edit eu respondi sem ver q tinha mais conversa aseuahseuahse
se for o motion info q nem o lou disse pode ser inx velho de 65kb nao?
@lou Obrigado, vou analisar, pelo que tinha visto ele tava buscando info em um diretório que não existe, mas ao editar o nome da pasta, como o Razor sugeriu, deu certo, ele passou desta validação e iniciou o server.
Agora minha luta está sendo no momento do login rsrs, vou abrir um novo tópico para pedir um apoio dos especialistas.
- 20 Fóruns
- 222 Tópicos
- 1,245 Posts
- 6 Online
- 213 Membros