The problem with that is that you're using the authentication cryptography still, when you switch over to game server you need to start using blowfish. (Handshake from server is the first packet that uses this) I'll paste the whole code if you want.
PHP Code:
new GameCipher("DR654dt34trg4UI6");
GameCipher::GameCipher(char *szInitialKey)
{
DecryptIV = new unsigned char[8];
EncryptIV = new unsigned char[8];
Its the private key which both client and server contain to allow for the creation of the rest of the cryption. You werent going to get very far without it
Patch: taken from 5310, assuming it's the same since refinery was added though. Super simple packet for use with refinery stuff. There is an alternate version though which I assume to be dealing with dragon souls which is different lengths. I'll structure it when I'm bored later.
<edit>
Confirmed. The length change is when dealing with dragon souls and takes into account the original item id and multiple effects.
Simple packet really.
Show Equipment:
Deals with ACTUAL display of gears on a client after you spawn them to someone
ushort(76, 0)//len
ushort(1009, 2)//type
uint(Client.UID, 4)
uint(46, 8)//not sure... it works when I hard code it though
uint(Equip[1].ID, 32)
uint(equip[2].ID, 36)
Show Equipment:
Deals with ACTUAL display of gears on a client after you spawn them to someone
ushort(76, 0)//len
ushort(1009, 2)//type
uint(Client.UID, 4)
uint(46, 8)//not sure... it works when I hard code it though
uint(Equip[1].ID, 32)
uint(equip[2].ID, 36)
Continues in sequence up to 72 for slot 11.
Enjoy! (not that hardly anyone will need/use it)
i may confirm that and the 46 is the Packet 1009 subtype
by the way the items wont count as Power Points (sockets,quality nor even gems) until the character receives this packet ,yet the most strange thing is that Towers and Fans are exceptions of that Base dunno why !
the Item Info packet is also changed
Client 5330
Code:
ushort(68,0);
ushort(1008,2);
uint(Item.UID,4);
uint(Item.ItemID,8);
uShort(Item.Dura,12);
uShort(Item.MaxDura,14);
uShort(1,16);//where to show the item 1=My Item 2=Trade 4=Other's equipments
uShort(Item.Position,18);
uint(Item.SocketProgress,20);
byte(Item.Soc1,24);
byte(Item.Soc2,25);
byte(Item.Plus,33);
byte(Item.Bless,34);
byte(Item.Free,35);
byte(Item.Enchant,36);
bool(Item.Suspecious,44);
ushort(Item.Locked,46);
uShort(Item.Color,48);
uint(Item.CompositionProgress,52);
byte(Item.ShareWithGuild,56);
there are some values at the missing bytes but i ddn't figure them out yet
(Edit) if anyone has the new Npcs/Monsters database tables i would appreciate it
i may confirm that and the 46 is the Packet 1009 subtype
by the way the items wont count as Power Points (sockets,quality nor even gems) until the character receives this packet ,yet the most strange thing is that Towers and Fans are exceptions of that Base dunno why !
the Item Info packet is also changed
Client 5330
Code:
ushort(68,0);
ushort(1008,2);
uint(Item.UID,4);
uint(Item.ItemID,8);
uShort(Item.Dura,12);
uShort(Item.MaxDura,14);
uShort(1,16);//where to show the item 1=My Item 2=Trade 4=Other's equipments
uShort(Item.Position,18);
uint(Item.SocketProgress,20);
byte(Item.Soc1,24);
byte(Item.Soc2,25);
byte(Item.Plus,33);
byte(Item.Bless,34);
byte(Item.Free,35);
byte(Item.Enchant,36);
bool(Item.Suspecious,44);
ushort(Item.Locked,46);
uShort(Item.Color,48);
uint(Item.CompositionProgress,52);
byte(Item.ShareWithGuild,56);
there are some values at the missing bytes but i ddn't figure them out yet
(Edit) if anyone has the new Npcs/Monsters database tables i would appreciate it
It's also annoying cause based on the new item packet you also can't use any item skills until that is sent... therefor you can't use it for the disguise items or w/e they are called (lightsaber/fan/wheel/etc). Need to log that packet still lol!
Also... viewing others gear is supposed to be packet type 1108 not 1008... not exactly sure why but it's what I logged off real servers.
Very strange seeing as it does use subtype 4... so that would indicate viewing other's gear... Not quite sure why they have 2 very similarly structured packets using diff types...
Note:- That is what i could figure , may be i am not right or missed something so you should test it
it's about Public Quests
the public quests Ids starts with 600 and increases by 1
Client ---> Server
Code:
byte Type =Data[4]
if (Type==3)
The Client asks about it's public quests status
ushort Count=ReadShort(Data,6); // how many quest the client needs to know about
uint StartAt=ReadLong(Data,8); //the first quest Id at the row
so the response should be as follow
Dictionary Or array or whatever store u like saves the Quests Ids and status for this Client starting from requested
Server Handling
Code:
Dictionary<uint, PublicQuest> ToSend = new Dictionary<uint, PublicQuest>();
for (uint x = 0; x < Count; x++)
ToSend.Add(MainServer.PublicQuests[StartAt + x].Id, MainServer.PublicQuests[StartAt + x]);
then send the Packet
Code:
Pcket Lenght ushort (12+(Quests.Count*12))
PAcket Type ushort (1134)
ushort(SubType) //3 = Quests status
ushort(Quests.Count)
foreach Quest
uint (Quest.Id) // 4 bytes
uint (Quest.Status) //4 bytes 2=Avialable ,, 1= Accepted ,, 0=Not available (Already Done or not for that level or class)
uint (0) //4 bytes
End foreach
uint (0) // 4 bytes
[Resource] My Wiki 05/07/2011 - CO2 Private Server - 4 Replies Hey. Hope you get use out of this.
If you want me to add anything, just say so and
what you want me to add below.
Link: https://conquerresources.wikispaces.com/
Edit: Here are all of the source downloads btw in a list:
http://spirited-fang.blogspot.com/p/source-downlo ads.html
Sincerely,
Resource Wiki 11/12/2010 - CO2 Private Server - 3 Replies Hey everyone,
I know how helpful it is to have a Packet Wiki, so I thought that I would add this to help you all. It's a resource wiki that will help you customize your source. Hope you all like it!
http://conquerproject.wikispaces.com/space/badge/ 468x60
Link if you can't figure out that the image is the link: Conquer Project Resources
Sincerely,
Fang