I need a detailed explanation on creating new packets I need to create one for CDPSrvr::LoadIPCut so that I can call it from dpsrvr.cpp( worldserver ) to use in a command this would help me learn and would be much appreciated.
I attempted and failed
I put
Code:
#define PACKETTYPE_RELOAD_BANS (DWORD)0x88100250
in MsgHdr.h
I also put
Code:
ON_MSG( PACKETTYPE_RELOAD_BANS, LoadIPCut );
Code:
void CDPSrvr::LoadIPCut()
{
}
in DpSrvr.cpp(world)
and
Code:
void LoadIPCut();
in DpSrvr.h
and
Code:
ON_MSG( PACKETTYPE_RELOAD_BANS, LoadIPCut );
in DpSrvr.cpp(Account)
but received this error
Code:
error C2440: '=' : cannot convert from 'BOOL (__thiscall CDPSrvr::* )(void)' to 'void (__thiscall CDPSrvr::* )(CAr &,DPID,DPID,LPBYTE,u_long)'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
You are trying to call the function LoadIPCut in Neuz, but this is wrong.
You have to write a function which sends the packet PACKETTYPE_RELOAD_BANS to the server:
You are trying to call the function LoadIPCut in Neuz, but this is wrong.
You have to write a function which sends the packet PACKETTYPE_RELOAD_BANS to the server:
\SRC\Program\_Interface\FuncTextCmd.cpp(388) : error C2065: 'g_DPlay' : undeclared identifier
\SRC\Program\_Interface\FuncTextCmd.cpp(388) : error C2228: left of '.SendLoadIpCut' must have class/struct/union type
You need the function in DPSrvr.cpp wich you want to call, also you need the ON_MSG(...) in the top of DPSrvr.cpp, wich tells the server, what function has to be called with wich packet. Then you need a function in DPClient.cpp to send the packet. I learned how to send packets, when i looked at another sourcerelease, where packets are used, i think this could help you :P
Meine Fresse, er will durch ein GM Befehl die IPCut im AccountServer neuladen lassen.
@420twisted1:
You are trying to call a function from WorldServer which is only implemented in AccountServer.
Choose one of these, to solve your problem
Because only DatabaseServer is connected to AccountServer, you must send the packet from Worldserver => DatabaseServer => AccountServer.
You must reactivate the connection between WorldServer and AccountServer, which is already implemented, so it shouldnt be too difficult.
[Howto] Create packet checksums 09/22/2009 - 9Dragons - 7 Replies For many of you packet hackers around here I noticed many are slightly modifying captured packets and resending them. Which usually results in getting disconnected. The majority of the time it's due to not including the new checksum of the packet, the other time it's because the packet wasn't encrypted.
To create a packet checksum, you must first be familiar with the structure of a basic 9Dragons packet. A sample packet looks like the following:
0C 00 62 02 1D 73 04 0A 01 00 F5 D3
The...