Getting a very old client to run

11/27/2011 21:10 paxemuman#46
Quote:
Originally Posted by zeteris View Post
I've spent a lot of time trying to get the packet structure, and I don't want to give it to everyone. If you so generous then share your work, no one forces you to keep it, but don't force me too.

@Pax, the character list structure you gave is incorrect.

Also managed to get movement working.
it works for me , client return an error but it continue to load so.. Its just matter of time to get everything to work , dont think you are only one who can do it ;)

Quote:
Originally Posted by Schickl View Post
The point where it starts loading is where I'm stuck atm
And I'd really like you to give you the opcodes, but sadly I'm using the wrong ones(that's what zeteris said)
Someone said that he's using the packets from swsro
Maybe that helps
If you using wrong opcodes client will crash immediately or will stuck .
I will check that out in a free time. I need correct opcodes, structure will be matter of time cause joymax mostly change data type byte>word and so on. Only time its needed to research on this. You can get opcodes list from sro_client i have tool to make it auto but it wont work (it seems too old client) so you have to take opcodes manually from sroclient via ollydbg.
11/27/2011 21:22 Schickl#47
Quote:
Originally Posted by paxemuman View Post
If you using wrong opcodes client will crash immediately or will stuck ..
Nah
I tried different opcodes and the Client doesn't crash
It just sends the keep-alive packets and that's it
11/27/2011 22:47 paxemuman#48
correct (no error) characterlist:

Creator.Append "07B0"
Creator.Append "0000"
Creator.Append "0201"
Creator.Append "01" '# of characters
'=========STARTCHARACTER=========

Creator.Append DWordFromInteger(DaneGracza.Chartype)
Creator.Append WordFromInteger(Len(DaneGracza.Charname))
Creator.Append cv_HexFromString(DaneGracza.Charname)
Creator.Append ByteFromInteger(130)
Creator.Append ByteFromInteger(90)
Creator.Append DWordFromdouble(1) 'Exp
Creator.Append "00000000" 'Experience
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1) 'at points
Creator.Append DWordFromInteger(200)
Creator.Append DWordFromInteger(200)
Creator.Append "00" 'Mark del
Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListItemData
Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListAvatarItemData


PacketsSender Creator.ToString 'sending to client and adding size of packet
11/27/2011 23:10 Schickl#49
Let's create a site with all documentation of all the packets so zeteris can't be all like
hurr durr I'm the only one who got it working durr
11/28/2011 08:24 Nezekan#50
I love the atmosphere of this thread, and I love how zeteris doesn't want to give something stupid as this out. This tells me a lot about you as a person zeteris, I know people who would give much much more than you could ever give out, just for a friendly question. But yeah, I can understand you, it's not only your fault if it wasn't for all those leachers...

It's clear that this community is hopeless, unless something big changes the complete mentality
11/28/2011 19:39 paxemuman#51
Quote:
PacketsSender "01B0000001" ' sending and calculate the len (adding it to beggining of packet)
PacketsSender "A5340000" '' sending and calculate the len (adding it to beggining of packet)

Creator.Append "1330"
Creator.Append "0000"
'============character info start============
Creator.Append DWordFromInteger(DaneGracza.Chartype)
Creator.Append WordFromInteger(Len(DaneGracza.Charname))
Creator.Append cv_HexFromString(DaneGracza.Charname)
Creator.Append ByteFromInteger(130)
Creator.Append ByteFromInteger(40)
Creator.Append ByteFromInteger(40)
Creator.Append "0000000000000000" ' Expirience
Creator.Append "00000000" 'SP/EXP Bar
Creator.Append "0000000000000000" 'Gold
Creator.Append "00000000" 'Skillpoints
Creator.Append WordFromInteger(0) 'Attributes
Creator.Append ByteFromInteger(0) 'Berserk Bar ' w nowym word nie byte
Creator.Append "00000000" ' unknown jeb o 4
Creator.Append DWordFromInteger(200)
Creator.Append DWordFromInteger(200)
Creator.Append "00" 'Noob icon
Creator.Append "00" 'Daily PK
Creator.Append "0000" 'PK Level
Creator.Append "00000000" 'Murderer level
Creator.Append "000000000000000000000000"
Creator.Append "01" 'traderlvl
Creator.Append "00000000" ' trader exp
Creator.Append "01" 'hunter lvl
Creator.Append "00000000" 'hunter exp
Creator.Append "01" 'thief lvl
Creator.Append "00000000" 'thief exp

Creator.Append ByteFromInteger(45) 'Max item slot 77
Creator.Append ByteFromInteger(0) 'Number of items
'avatar slots seems to not exist in this client

Creator.Append "00" 'Mastery list start
Creator.Append "0101010000"

Creator.Append ByteFromInteger(0)
Creator.Append "0102010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0103010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0111010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0112010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0113010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0114010000"
Creator.Append ByteFromInteger(0)
Creator.Append "0200"

Creator.Append "0201010000"
Creator.Append "00"
Creator.Append "0102000000"
Creator.Append "10"
'============other data start============
Creator.Append DaneGracza.ID
Creator.Append ByteFromInteger(DaneGracza.xsection) 'X-section
Creator.Append ByteFromInteger(DaneGracza.ysection) 'Y-section
Creator.Append Inverse(Float2Hex((DaneGracza.XPos - ((DaneGracza.xsection) - 139) * 192) * 10))
Creator.Append Inverse(Float2Hex((DaneGracza.Zpos))) ' Z
Creator.Append Inverse(Float2Hex((DaneGracza.YPos - ((DaneGracza.ysection) - 92) * 192) * 10))
Creator.Append "A822" 'Player angle
Creator.Append "000100" 'Angledata
Creator.Append "A822" 'Player angle

Creator.Append "0000" 'State dead or not
Creator.Append "00" 'Berserker
Creator.Append Inverse(Float2Hex(30)) 'Playerspeed while walking
Creator.Append Inverse(Float2Hex(150)) 'Playerspeed while running
Creator.Append Inverse(Float2Hex(200)) 'Playerspeed while berserk
Creator.Append "00"

Creator.Append "0000"
Creator.Append "00" ' gm
Creator.Append "07"
Creator.Append ByteFromInteger(0) 'hotkeys , how much
Creator.Append "0000"
Creator.Append "D0112A00" ' account id
Creator.Append "0000BE"

PacketsSender Creator.ToString ' sending and calculate the len (adding it to beggining of packet)

I have used zszc packets to reconstruct old structure(this is structure of zszc packet) , there is much points where can be a differences between this packet and beta needs to research. Opcodes are 100% fine(i took them from client via olly).

Remember character list difference ?:
thats how it looks at BETA CLIENT:
Quote:
Creator.Append "07B0"
Creator.Append "0000"
Creator.Append "0201"
Creator.Append "01" '# of characters
'=========STARTCHARACTER=========

Creator.Append DWordFromInteger(DaneGracza.Chartype)
Creator.Append WordFromInteger(Len(DaneGracza.Charname))
Creator.Append cv_HexFromString(DaneGracza.Charname)
Creator.Append ByteFromInteger(130)
Creator.Append ByteFromInteger(90)
Creator.Append DWordFromdouble(1) 'Exp
Creator.Append "00000000" 'Experience
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1) 'at points
Creator.Append DWordFromInteger(200)
Creator.Append DWordFromInteger(200)
Creator.Append "00" 'Mark del

NO LINE

Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListItemData
Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListAvatarItemData
thats how it looks in newest isro
Quote:
Creator.Append "07B0"
Creator.Append "0000"
Creator.Append "0201"
Creator.Append "01" '# of characters
'=========STARTCHARACTER=========

Creator.Append DWordFromInteger(DaneGracza.Chartype)
Creator.Append WordFromInteger(Len(DaneGracza.Charname))
Creator.Append cv_HexFromString(DaneGracza.Charname)
Creator.Append ByteFromInteger(130)
Creator.Append ByteFromInteger(90)
Creator.Append DWordFromdouble(1) 'Exp
Creator.Append "00000000" 'Experience
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1) 'at points
Creator.Append DWordFromInteger(200)
Creator.Append DWordFromInteger(200)
Creator.Append "00" 'Mark del

Creator.Append "0000"
Creator.Append "00"


Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListItemData
Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListAvatarItemData
thats how it looks at zszc
Quote:
Creator.Append "07B0"
Creator.Append "0000"
Creator.Append "0201"
Creator.Append "01" '# of characters
'=========STARTCHARACTER=========

Creator.Append DWordFromInteger(DaneGracza.Chartype)
Creator.Append WordFromInteger(Len(DaneGracza.Charname))
Creator.Append cv_HexFromString(DaneGracza.Charname)
Creator.Append ByteFromInteger(130)
Creator.Append ByteFromInteger(90)
Creator.Append DWordFromdouble(1) 'Exp
Creator.Append "00000000" 'Experience
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1)
Creator.Append WordFromInteger(1) 'at points
Creator.Append DWordFromInteger(200)
Creator.Append DWordFromInteger(200)
Creator.Append "00" 'Mark del

Creator.Append "00"

Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListItemData
Creator.Append ByteFromInteger(0) 'Amount of items
Creator.Append "00" 'ListAvatarItemData
I still dont know what it means , if someone of you know whats mean those packets write about it, its difference wich will appear in init game packets too for sure.
11/28/2011 21:08 Foma#52
Hi guys,
well i never used olly and i am too lazy to look for tutorials :D but is it right that this is the opcode list of this client?

Code:
3027
3009
3055
B005
B006
300A
300C
3013
3020
3017
3019
3018
3047
3049
3048
...
found about 129 of them...

ah and i wondered a while ago if someone have such an old beta client :D
11/28/2011 21:49 kevin_owner#53
Quote:
Originally Posted by Foma View Post
Hi guys,
well i never used olly and i am too lazy to look for tutorials :D but is it right that this is the opcode list of this client?

Code:
3027
3009
3055
B005
B006
300A
300C
3013
3020
3017
3019
3018
3047
3049
3048
...
found about 129 of them...

ah and i wondered a while ago if someone have such an old beta client :D
Yeah those are the packet opcodes.
11/29/2011 13:10 paxemuman#54
I have tryed in last nights to reverse entering the game packet but i didnt success fully with it, i stuck on the end of loading with an error, when i have fixed this error client close itself(idk why yet). To make it to work you need to know zszc packets well and much time to test it out, zeteris made bot for zszc so he is at better position than me.
Currently i have no time to sitting on this so i hope someone of you will keep trying and success with it , i have to finish coding statuses on pvp in my SSE project.

And another news its i will make website with all packets documentation (opcodes lists , packets structure descriptions and so on ). I have base from last 5 years , i hope you will like it.
+ I will relase sse walker and it will be open source . Its my help for real silkroad online fans.
11/29/2011 13:58 zeteris#55
Quote:
Originally Posted by paxemuman View Post
To make it to work you need to know zszc packets well and much time to test it out, zeteris made bot for zszc so he is at better position than me.
Well zBot wasn't created for zszc. I just have many logs from different sro versions, so I can compare them.
11/29/2011 22:46 kevin_owner#56
just spitballing but did you change the region? It's definitly not the same as zszc ones. In zszc the jangan area would probably be something like 168, 98. Just like in all the new versions. But in this one it's all china only based so to spawn in the grassland of jangan you can use:

X Section: 78
Y Section: 50

I got these section values from the minimap so i'm pretty sure that these are working. Also I picked an area outside jangan and without mountains ect so you don't spawn inside a building or something so any xyz position should be fine.

Well like I said just an idea which you might check.
11/29/2011 23:00 Kicia123#57
Quote:
Originally Posted by kevin_owner View Post
just spitballing but did you change the region? It's definitly not the same as zszc ones. In zszc the jangan area would probably be something like 168, 98. Just like in all the new versions. But in this one it's all china only based so to spawn in the grassland of jangan you can use:

X Section: 78
Y Section: 50

I got these section values from the minimap so i'm pretty sure that these are working. Also I picked an area outside jangan and without mountains ect so you don't spawn inside a building or something so any xyz position should be fine.

Well like I said just an idea which you might check.

I think about a formula to calculate xpos in game.
Thats may be a problem.
For new version is:
Creator.Append Inverse(Float2Hex((DaneGracza.XPos - ((DaneGracza.xsection) - 135) * 192) * 10))
and 135 mean the center of the map on x.

I took coord of npc tp in Jangan
168-135=33
76-33=43
So maybe 43 is a section of the center of the map on x in old client.

Creator.Append Inverse(Float2Hex((DaneGracza.XPos - ((DaneGracza.xsection) - 45) * 192) * 10))
11/30/2011 08:03 zeteris#58
Quote:
Originally Posted by kevin_owner View Post
just spitballing but did you change the region? It's definitly not the same as zszc ones. In zszc the jangan area would probably be something like 168, 98. Just like in all the new versions. But in this one it's all china only based so to spawn in the grassland of jangan you can use:

X Section: 78
Y Section: 50

I got these section values from the minimap so i'm pretty sure that these are working. Also I picked an area outside jangan and without mountains ect so you don't spawn inside a building or something so any xyz position should be fine.

Well like I said just an idea which you might check.
Well, I've took sectors from minimap too, gonna check the formula today ( I'm at school right now ), because old one isn't working. It shouldn't be so hard, just need to find correct values.
11/30/2011 15:27 paxemuman#59
[Only registered and activated users can see links. Click Here To Register...] enjoy, there are sse walker(open source) for closed beta client, entering to game still wont work but structure are close to success ;)
12/04/2011 14:43 zeteris#60
[Only registered and activated users can see links. Click Here To Register...]
After a few days of work, managed to get to this part...