[!?]Portals 5351

12/22/2010 06:25 samehvan#1
Hey there

i am trying to work on 5351 based source ,, everything is working just fine till now (Logging,Spawning,Items info .. etc) my problem now is i can't use the portals the client doesn't send the teleport request (Packet 10010 sub 85) it looks like it doesn't consider them as portals
it sends all other requests as ordinary but why portals i can't figure that out

i thought it may be the Map Packet but i checked it too many times and i made sure it is ok

i tried to miss around with the Data type values and when i changed the Confirm Location/confirm Login values i could use the portals only one time and then nothing back to the same problem the client passes the portal like if they are solid lands

any hints?
12/22/2010 07:09 InfamousNoone#2
So, when you enter the portal, client-side do you get the "Waiting on server..." or whatever message?
Are you sure nothing is being sent to the server? Perhaps the subtype may have changed on this version (I'll check tomorrow if anything).
12/22/2010 16:54 samehvan#3
Quote:
Originally Posted by InfamousNoone View Post
So, when you enter the portal, client-side do you get the "Waiting on server..." or whatever message?
Are you sure nothing is being sent to the server? Perhaps the subtype may have changed on this version (I'll check tomorrow if anything).
no when the client pass over a portal nothing happens it simply pass over it as if it's normal places
the subtype (85) ddnt change as i can see cause when i missed with confirmations data types i got it for once and when i logged the official game packets ,it still the same subtype
12/22/2010 19:48 conquer-sx#4
Quote:
Originally Posted by samehvan View Post
Hey there

i am trying to work on 5351 based source ,, everything is working just fine till now (Logging,Spawning,Items info .. etc) my problem now is i can't use the portals the client doesn't send the teleport request (Packet 10010 sub 85) it looks like it doesn't consider them as portals
it sends all other requests as ordinary but why portals i can't figure that out

i thought it may be the Map Packet but i checked it too many times and i made sure it is ok

i tried to miss around with the Data type values and when i changed the Confirm Location/confirm Login values i could use the portals only one time and then nothing back to the same problem the client passes the portal like if they are solid lands

any hints?

if u can plz can u share that source - i can help u but i havnt it
12/22/2010 19:54 pro4never#5
Quote:
Originally Posted by conquer-sx View Post
if u can plz can u share that source - i can help u but i havnt it
No public current patch sources exist. upgrade or make one yourself. I released all the packets needed to log in with a current client iirc, just update whatever source you want (god, please not lotf/coemu lol!)

As for the problem...

it seems obvious but are you parroting back the jump packet or walk packet to client? If you don't then the client won't consider it's position changed and therefor never send the portal request packet.

Assuming the jump packet is being structured and sent properly in response to jump requests then portals SHOULD activate. I have them working just fine on my 5310+ source (not tried the new patches but it sure as hell should work)
12/22/2010 21:08 samehvan#6
Quote:
Originally Posted by pro4never View Post
As for the problem...

it seems obvious but are you parroting back the jump packet or walk packet to client? If you don't then the client won't consider it's position changed and therefor never send the portal request packet.

Assuming the jump packet is being structured and sent properly in response to jump requests then portals SHOULD activate. I have them working just fine on my 5310+ source (not tried the new patches but it sure as hell should work)
i dd thought about that and i dd edit the jump Packet (added the MapId to it) but still the same

if it's about the character location that means no mobs or NPCs will appear as well but the most confusing is that every other thing is working just fine when jumping or walking Npcs/Mobs appears at their correct locations

what i'v noticed now is that if i logged in standing on the portal , the client uses it normally for one time and then nothing

let's check the jump packet

Code:
            ushort(37,0);//Length
            ushort(10010,2);//Type 
            uint(CharacterId,4);
            ushort(NewX,8);
            ushort(NewY,10);
            uint(0,12);
            uint(Timer,16);
            uint(137,20);
            ushort(PrevX,24);
            ushort(PrevY,26);
            uint(MapId,28);
12/23/2010 17:55 -impulse-#7
Quote:
Originally Posted by samehvan View Post
i dd thought about that and i dd edit the jump Packet (added the MapId to it) but still the same

if it's about the character location that means no mobs or NPCs will appear as well but the most confusing is that every other thing is working just fine when jumping or walking Npcs/Mobs appears at their correct locations

what i'v noticed now is that if i logged in standing on the portal , the client uses it normally for one time and then nothing

let's check the jump packet

Code:
            ushort(37,0);//Length
            ushort(10010,2);//Type 
            uint(CharacterId,4);
            ushort(NewX,8);
            ushort(NewY,10);
            uint(0,12);
            uint(Timer,16);
            uint(137,20);
            ushort(PrevX,24);
            ushort(PrevY,26);
            uint(MapId,28);
You don't have to built a new packet for jump/walk, just change the last 8 bytes to "TQSERVER" and send it back, it works just like that.
12/24/2010 01:56 samehvan#8
Quote:
Originally Posted by -impulse- View Post
You don't have to built a new packet for jump/walk, just change the last 8 bytes to "TQSERVER" and send it back, it works just like that.
i guess i have to ,, their are some different bytes like

-the 4 bytes for client timer not the same as server timer
-the Client Packet doesn't have the Direction the Server Packet does
-the last 4 bytes from client has the value (0xFFFFFFFF) and the server hasn't so i think u have to analyze the coming Packet and get the r8 direction then rebuild it and send back to the client
12/24/2010 04:39 CptSky#9
Quote:
Originally Posted by samehvan View Post
i guess i have to ,, their are some different bytes like

-the 4 bytes for client timer not the same as server timer
-the Client Packet doesn't have the Direction the Server Packet does
-the last 4 bytes from client has the value (0xFFFFFFFF) and the server hasn't so i think u have to analyze the coming Packet and get the r8 direction then rebuild it and send back to the client
No. You need to resend the received packet.
12/24/2010 19:13 samehvan#10
Quote:
Originally Posted by CptSky View Post
No. You need to resend the received packet.
here are 2 Jump Packets

Code:
(Game) Client -> Server Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  33  0  49  0  0  0  0  0  [B]7C  59  14  0[/B]  89  0  0  0  33  0  43  0  EC  3  0  0  [COLOR="Blue"]FF  FF  FF  FF[/COLOR]  0  54  51  43  6C  69  65  6E  74  
%'??13I|Y?3C? ????TQClient

(Game) Server -> Client Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  33  0  49  0  0  0  0  0  [B]F8  1  B9  1[/B]  89  0  [COLOR="Red"]0[/COLOR]  0  33  0  43  0  EC  3  0  0  0  0  0  0  0  54  51  53  65  72  76  65  72  
%'??13I???3C? TQServer
and this is the reply Packet

Code:
 
(Game) Client -> Server Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  B7  1  A9  1  0  0  0  0  [B]9A  A0  14  0[/B]  89  0  0  0  B7  1  9C  1  EA  3  0  0  [COLOR="Blue"]FF  FF  FF  FF[/COLOR]  0  54  51  43  6C  69  65  6E  74  
%'??1???????? ????TQClient

(Game) Server -> Client Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  B7  1  A9  1  0  0  0  0  [B]B4  49  B9  1[/B]  89  0  [COLOR="Red"]7 [/COLOR] 0  B7  1  9C  1  EA  3  0  0  0  0  0  0  0  54  51  53  65  72  76  65  72  
%'??1???I????? TQServer
u can c the deference

anyway , it is not the problem i tried to resend the Packet as -impulse- pointed but still the same
12/24/2010 19:22 pro4never#11
Quote:
Originally Posted by samehvan View Post
here are 2 Jump Packets

Code:
(Game) Client -> Server Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  33  0  49  0  0  0  0  0  [B]7C  59  14  0[/B]  89  0  0  0  33  0  43  0  EC  3  0  0  [COLOR="Blue"]FF  FF  FF  FF[/COLOR]  0  54  51  43  6C  69  65  6E  74  
%'??13I|Y?3C? ????TQClient

(Game) Server -> Client Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  33  0  49  0  0  0  0  0  [B]F8  1  B9  1[/B]  89  0  [COLOR="Red"]0[/COLOR]  0  33  0  43  0  EC  3  0  0  0  0  0  0  0  54  51  53  65  72  76  65  72  
%'??13I???3C? TQServer
and this is the reply Packet

Code:
 
(Game) Client -> Server Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  B7  1  A9  1  0  0  0  0  [B]9A  A0  14  0[/B]  89  0  0  0  B7  1  9C  1  EA  3  0  0  [COLOR="Blue"]FF  FF  FF  FF[/COLOR]  0  54  51  43  6C  69  65  6E  74  
%'??1???????? ????TQClient

(Game) Server -> Client Packet Type 10010,Len 37:- 25  0  1A  27  D5  A3  31  0  B7  1  A9  1  0  0  0  0  [B]B4  49  B9  1[/B]  89  0  [COLOR="Red"]7 [/COLOR] 0  B7  1  9C  1  EA  3  0  0  0  0  0  0  0  54  51  53  65  72  76  65  72  
%'??1???I????? TQServer
u can c the deference

anyway , it is not the problem i tried to resend the Packet as -impulse- pointed but still the same
There are differences but trust me, they do work.

Also: I just tried portals on my source and they work perfectly still (completely up to date client, I just patched it)

General data type 85

read the x/y from the packet being iirc 16/18 offsets?

Then just figure out which portal is being used based on that and I send them the teleport method to switch maps.

Not had any issues, the client sends it without problem.

I'd strongly recommend double checking all client methods confirming x/y and map movements (try printing it out? try sending a correct coords packet from server to see if that helps you debug things easier... IE: if a correct coord packet sending you on top of a portal works then chances are the issue is with the server not pinging back positions properly)