-
GameServer .90 Crash.
Bem eu estava codando uma season2 GameServer .18
Passei para uma season4.5 GameServer .90, porem ao abrir o GameServer ele trava e depois de um tempo ele fecha e fica com um error tipo: 2010-4-11_22h48m12s.dmp
Peguei os offsets do fixes desse error, porem apos aplicar os fixes, o gameserver abre e fecha rapidamente.
O que pode ser ?
O que tem que fazer a mais neste GS ? ( gs esta puro )
-
Verifique todos os offsets de outras coisas que você programou, provavelmente tem algum errado, uma vez que o GS 1.00.90 é mais estável que o 1.00.18, não era pra dar esse tipo de erro.
-
Bem a dll so tem o protocolo.
Código:
#include "StdAfx.h"
#include "Fixs.h"
#define GS_BASE (0x401000)
//=======================Protocolo Phillipines=========================\\
BYTE ProtocolServer(BYTE Tipo)
{
switch(Tipo)
{
case 0x1D:
return 0xDD;
case 0xD6:
return 0xDF;
case 0xDC:
return 0xD6;
case 0xD7:
return 0x11;
}
return Tipo;
}
BYTE ProtocolClient(BYTE Tipo)
{
switch(Tipo)
{
case 0xDD:
return 0x1D;
case 0xDF:
return 0xD6;
case 0xD6:
return 0xDC;
case 0x11:
return 0xD7;
}
return Tipo;
}
//=======================Protocolo Phillipines Fim=========================\\
extern "C" _declspec(dllexport) void GamePlugin()
{
DWORD OldProtect;
if(VirtualProtect(LPVOID(GS_BASE),3543191,PAGE_EXECUTE_READWRITE,&OldProtect))
{
Fixs();
_asm
{
Mov Dword Ptr Ds:[00652800H],Offset ProtocolServer
Mov Dword Ptr Ds:[00652804H],Offset ProtocolClient
}
}
else
{
MessageBoxA(NULL,"Não foi possivel iniciar a dll","GamePlugin.dll",MB_OK);
}
}
Ou seja estou iniciando ainda este GS, porem ao deixar assim como esta, ao abrir o gameserver ele abre, trava, fecha e aparece o arquivo .dmp
Apos acrescentar o fix do crash .dmp
// Fix Crash Dump File
SetByte(0x004C7041,0xE9); //C
SetByte(0x004C7042,0x2E); //R
SetByte(0x004C7043,0x01); //A
SetByte(0x004C7044,0x00); //S
SetByte(0x004C7045,0x00); //H
SetByte(0x004C7046,0x90); //Dmp
O GameServer abre e fecha rapidamente.
Eu so estou estranhando isso, porque os offsets estao correto ( creio eu )
-
00406645 . E9 B6090C00 JMP GameServ.004C7000
coloka nop ake que para de gerar o dump!