[Logic] Clientless --> Client

10/29/2012 19:58 lukas2abc#1
Hey there!
i was thinking about adding a Clientless to Client function to my not (yet) finished bot. i think "recording" all packets that come to my clientless and when i activate that function i am gonna send all packets to client that are recorded.
Of course you have to manage when you send the packet(the client needs to get each packet when it is expected!!!). So i also figured that out.

The current status of my function is that the client loggs in with the same sessionID of course and finally my char spawns at the right place!
I thought "YAY it works" but....my char doesnt show his HP/MP and i cant move...

So is there any packet that is essential for client that he knows he is "allowed" to play? I know that there is the 0x3012 Packet that confirms the spawn(from Client) and then the server responds with the 0x3809 containing the byte 01 and some unknown byte. I also send this to client successfully.

So is there any packet that the client needs too for spawning?

Thanks in advance!! ;)

-lukas2new
10/29/2012 20:24 M4n1ak#2
Check all login packets..
10/29/2012 20:47 lukas2abc#3
if any login packet wouldnt be ok then i wouldnt be able to "log in" with client, would I ?
10/31/2012 13:55 vorosmihaly#4
you need to send stats packet and all the ones that are being sent right after your char is spawned ingame.
10/31/2012 15:50 lukas2abc#5
ye but i after the 0x3809 is only normal packets like 0x3017 for groupspawn but this is not nescessary for spawning char correctly with HP and MP.....Skillpoints and EXP are fine!

-lukas2new
01/23/2013 02:22 Devsome#6
Did you success ?
Sounds Interested, may I will check it at the weekend
08/15/2013 14:20 Devsome#7
Any updates here ?
08/15/2013 15:41 kondos#8
It's pretty easy ;) in my opinion you can use this theory.
when you click from clientless to client , force the client to connect to your bot. wait till the client is fully loaded packet then send the login successful packet , wait until character screen to be shown then send a character selection completed packet , now you must have recorded the real server response then send it to the client , now the character is fully loaded but the client isn't synchronized with the server , the solution is to make return scroll from the clientless way then emulate the return scroll behavior from the client or act it like a gm recall it would be better as u like then record the return scroll server response and send it to the client. finally i will be happy to help you so don't hesitate to ask for help ^^
08/19/2013 00:45 martynas123boxter#9
if i remember correct, phbot had this function working, but i can't understand how they did it.
08/20/2013 13:32 detCode#10
Quote:
Originally Posted by kondos View Post
It's pretty easy ;) in my opinion you can use this theory.
when you click from clientless to client , force the client to connect to your bot. wait till the client is fully loaded packet then send the login successful packet , wait until character screen to be shown then send a character selection completed packet , now you must have recorded the real server response then send it to the client , now the character is fully loaded but the client isn't synchronized with the server , the solution is to make return scroll from the clientless way then emulate the return scroll behavior from the client or act it like a gm recall it would be better as u like then record the return scroll server response and send it to the client. finally i will be happy to help you so don't hesitate to ask for help ^^
I think no need to return scroll, but this option little hard.
after the login, re-desing your chardata packets for your character's current location,exp,sp,skills,stats... and send it, but you must send other players, items, npc's spawn packets too
08/21/2013 07:39 egyviper#11
You have to use OpenProcess and not OpenThread. & Open with PROCESS_TERMINATE
08/21/2013 10:54 zeteris#12
Quote:
Originally Posted by detCode View Post
I think no need to return scroll, but this option little hard.
after the login, re-desing your chardata packets for your character's current location,exp,sp,skills,stats... and send it, but you must send other players, items, npc's spawn packets too
It's easier to use return scroll instead of creating new groupspawn packets to sync the client.
08/22/2013 10:38 speacher#13
yeah phbot has this, but it needs to use return scroll, to get rid of all packets that are usually being send to the server while just playing, you only need to send packets of scrolling/spawning...i believe he knows how to make it work to just go clientless -> client at spot, but for that you would need to recreate all packets and send them to the server to open the client on ur current position, which would cause a lot of data and probably a lot of lagg/delay
08/31/2013 22:38 DaxterSoul#14
I kinda started working on this for fun, here is the first demo. Pretty buggy for now, couldn't even handle if the client is slower than the return scroll :P
09/06/2013 10:30 cyberninjah#15
Quote:
Originally Posted by DaxterSoul View Post
I kinda started working on this for fun, here is the first demo. Pretty buggy for now, couldn't even handle if the client is slower than the return scroll :P
[Only registered and activated users can see links. Click Here To Register...]
maybe its a idea to hide the client on the loginscreen & character selection.
and show it after the 3013 packet :)