GodClient packets

Here you can discuss packets, implementation and design, and software related to the packet sniffing and such. This is not the place to post packages for POL, but rather discuss the packet side of them.

Moderator: POL Developer

Post Reply
Garret
New User
Posts: 3
Joined: Thu Jun 12, 2008 4:25 am
Location: Moscow
Contact:

GodClient packets

Post by Garret »

I would like to post some mostly godclient packets that are not presented in packet guide =)
p.s. also there some packets that was never described anywhere else becouse nobody know about them )))

Code: Select all

Packet ID: 0x1D
Packet Name: Delete Object (God Client)
Size: 5
Sent By: Client
Packet Breakdown:
BYTE[1] cmd
BYTE[4] target's serial

Note: Sent by GodClient to delete targeted object (item or mobile).

Code: Select all

Packet ID: 0x12
Packet Name: Verious text commands (God Client)
Size: variable
Sent By: Client
Packet Breakdown:
BYTE cmd 
BYTE[1] type
BYTE[?] All past bytes reading as string, after splited by space
Types:
? 0x00 - Go (Teleport you to targeted on radar point)
? [0] X coord as string number
? [1] Y coord as string number
? 0x55 - Dye
? [0] Hue as string number
? [1] Serial number as string
? OR
? [1] X coord of targeted static tile
? [2] Y coord of targeted static tile
? [3] Z coord of targeted static tile
? 0x6B - GM Menu response
? [0] showids
? [0] gmbody
? [0] info
? [0] [1] Serial number as string
? [0] invisible - (make mobile or object (in)visible)
? [0] [1] Boolean number as string, visible or insivible
? [0] [2] Serial number as string
? [0] freeze - ((un)freeze mobile or make (un)movable item)
? [0] [1] Boolean number as string, freeze or unfreeze
? [0] [2] Serial number as string
? [0] squelch
? [0] [1] Boolean number as string, (un)squelch mobile
? [0] [2] Serial number as string
? [0] transfer
? [0] invulnerable - make target (in)vulnerable
? [0] [1] Boolean number as string, vulnerable or invulnerable
? [0] [2] Serial number as string
? [0] seeskills
? [0] resurrect
? [0] [1] Serial number as string
? [0] lightning
? [0] [1] Serial number as string
? [0] delete
? [0] [1] Serial number as string
? [0] slay
? [0] [1] Serial number as string
? [0] zap
? [0] [1] Serial number as string
? [0] kick
? [0] [1] Serial number as string
? [0] s
? [0] [1] Serial number as string
? [0] scommand
? [0] [1] Serial number as string
? 0xDA - GM Page Request [p.s. This command can be sent by any client if you know how ;) ]
   This command requesting server for next available gm page request, answer for it is 0xC3 GQRequest Packet
? 0xDB - GM Page Done [p.s. This command cab be seny by any client too,]
? [?] Text typed in request done response

Code: Select all

Packet ID: 0x32
Packet Name: HackMover (God Client)
Size: 2
Sent By: Both
Packet Breakdown:
BYTE cmd 
BYTE[1] boolean

Code: Select all

Packet ID: 0x37
Packet Name: Move Item (God Client)
Size: 8
Sent By: Client
Packet Breakdown:
BYTE[1] Cmd
BYTE[4] Serial to move.
BYTE[1] Z, if 0x01 alter up, if 0xFF alter down
BYTE[1] Y, if 0x01 alter +, if 0xFF alter -
BYTE[1] X, if 0x01 alter +, if 0xFF alter -

Code: Select all

Packet ID: 0x47
Packet Name: New Terrain (God Client)
Size: 11
Sent By: Both
Packet Breakdown:
BYTE[1] cmd
BYTE[1] X
BYTE[1] Y
BYTE[1] ID
BYTE[1] Width
BYTE[1] Height

Code: Select all

Packet ID: 0x58
Packet Name: New Region (God Client)
Size: 106
Sent By: Client
Packet Breakdown:
BYTE[1] cmd
BYTE[40] Name
BYTE[4] Unknown variable
BYTE[2] X
BYTE[2] Y
BYTE[2] Width
BYTE[2] Height
BYTE[2] Z Start
BYTE[2] Z End
BYTE[40] Description
BYTE[2] Sound FX
BYTE[2] Music
BYTE[2] Night FX
BYTE[1] Boolean, Is it Dungeon?
BYTE[2] Light

Code: Select all

Packet ID: 0x61
Packet Name: Delete Static (God Client)
Size: 9
Sent By: Client
Packet Breakdown:
BYTE[1] Cmd
BYTE[2] X
BYTE[2] Y
BYTE[2] Z
BYTE[2] ID

Code: Select all

Packet ID: 0x61
Packet Name: Move Static (God Client)
Size: 15
Sent By: Client
Packet Breakdown:
BYTE[1] Cmd
BYTE[2] Old X
BYTE[2] Old Y
BYTE[2] Old Z
BYTE[2] ItemID
BYTE[2] New X
BYTE[2] New Y
BYTE[2] New Z

Code: Select all

Packet ID: 0x40
Packet Name: Update Terrain (GodClient)
Size: 201
Sent By: Server
Packet Breakdown:
BYTE[1] Cmd
BYTE[4] The block number of grid. This can be derived by the following formula: Block_Num = X / 8 * MapHeight + Y / 8 .... MapHeight is equal to the total number of tiles in the Y-axis divided by eight (0x0200 for map0.mul).
Loop of 64 tiles in single block:
? BYTE[2] Map tile ID
? BYTE[1] Z pos
BYTE[4] Header

Code: Select all

Packet ID: 0xC3
Packet Name: Global Queue Request
Size: 
Sent By: Server
Description:
Response for client request for players gm pages.
If gm page available, it sending information from that request, when client receive this packet, window with this information popup.
If gm page available, but player already logged off, it sending "Player not logged on" text.
If no gm pages available on this server, but available on another, it sending "No petitions found. Perhaps you should try one of these shards: <ServerName>=<NumberOfPetitions>;<ServerName>=<NumberOfPetitions>".
Here described answer when gm pages available and player is logged on.

Packet Breakdown:
BYTE[1] Cmd
BYTE[4] Unknown number
BYTE[4] ID
BYTE[4] Not realy known number (In client looks like: "Customer ? (palced_here)")
BYTE[4] Not realy known number (In client looks like: "Customer palced_here (?)")
BYTE[4] Serial number of player requested gm page
BYTE[2] Unknown
BYTE[2] Length of server name
Server name loop for it's Length:
? BYTE[2] Char
BYTE[4] Call time in seconds
BYTE[2] Map (0=felucca,1=trammel,2=ilshenar,3=malas,4=tokuno)
BYTE[4] X coord where player sent request
BYTE[4] Y coord where player sent request
BYTE[4] Z coord where player sent request
BYTE[4] Volume
BYTE[4] Rank
BYTE[4] Unknown, mostly -1
BYTE[4] Type
BYTE[1] Unknown, mostly 0x01
BYTE[1] Unknown, mostly 0x01
BYTE[1] First char of users language
BYTE[1] Second char of users language
BYTE[1] Third char of users language
BYTE[?] Text of the player request.

Code: Select all

Packet ID: 0xCB
Packet Name: Global Queue Count
Size: 7
Sent By: Server

Description:
Answer for client request of Global Queue Count from all shards.
Displaying on client side:
There are currently [count] available calls in the global queue.

Packet Breakdown:
BYTE[1] Cmd
BYTE[2] Unknown
BYTE[4] Count

I'll send more information about Global Queue Request packet later =)
User avatar
*Edwards
Forum Regular
Posts: 303
Joined: Fri Dec 28, 2007 11:19 pm
Location: Montreal, Canada

Post by *Edwards »

Post of the month! :)
User avatar
ncrsn
Grandmaster Poster
Posts: 255
Joined: Fri Feb 10, 2006 12:15 am

Post by ncrsn »

(That doesn't have to mean there are just no other posts worth reading)

Beside the documentational value, what uses could these packets have? If no-one knew most of these packets before (heh!), I think it's safe to presume POL does not support them. And why should it, when there are no client (that I'm aware of, maybe beside the OSI god version) which does either.

So, am I right if I state that this is one "read, think, forget" kind of thing?
Garret
New User
Posts: 3
Joined: Thu Jun 12, 2008 4:25 am
Location: Moscow
Contact:

Post by Garret »

Last 2 packets works perfectly in all clients, from first, to the latest.
0x12 0xDA and 0xDB works too =)

About godclient packets, i made near to hall full support of all it's tools.
Full world editing support (it's not only map and static, it can place dynamic items) and gm tools, in some case item editor (tiledata, art).
I'll say it realy usable not only in pre-aos servers =)
Garret
New User
Posts: 3
Joined: Thu Jun 12, 2008 4:25 am
Location: Moscow
Contact:

Post by Garret »

bth, osi servers at logon always sending hackmover packet with false boolean to turn off it on client that support it ;)
Post Reply