Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 08:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Renewable] Downgrading co source 5520 to 5017 !!

Discussion on [Renewable] Downgrading co source 5520 to 5017 !! within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
abdeen's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 475
Received Thanks: 15
Arrow [Renewable] Downgrading co source 5520 to 5017 !!

Hello guys ... i am trying to downgrade Trinity Source v 5220 to 5017 and i started with auth and game sockets then with connect , receive and disconnect auth server [ that`s includes BlowFish, GameKey etc ] .. then i moved to game [incoming] new connection after then i moved to receive ...

when its move to this part

Code:
int Len = BitConverter.ToInt32(arg1, position); position += 4;
of
Code:
        public static void GameServer_AnnounceReceive(byte[] arg1, Interfaces.ISocketWrapper arg2)
        {
            try
            {
                Client.GameState Client = arg2.Connector as Client.GameState;
                try
                {
                    Client.Cryptography.Decrypt(arg1);
                }
                catch (Exception e) { Console.WriteLine(e); }
                if (Client != null)
                {
                    if (Client.Exchange)
                    {
                        try
                        {
                            Client.Exchange = false;

                            Client.Action = 1;
                            ushort position = 7;
                            uint PacketLen = BitConverter.ToUInt32(arg1, position); position += 4;
                            int JunkLen = BitConverter.ToInt32(arg1, position); position += 4; position += (ushort)JunkLen;
                            int Len = BitConverter.ToInt32(arg1, position); position += 4;
                            byte[] pubKey = new byte[Len];
                            for (int x = 0; x < Len; x++)
                                pubKey[x] = arg1[x + position];
                            string PubKey = System.Text.ASCIIEncoding.ASCII.GetString(pubKey);

                            Client.Cryptography = Client.DHKeyExchance.HandleClientKeyPacket(PubKey, Client.Cryptography);
                        }
                        catch (Exception e) { Console.WriteLine(e); Client.Socket.Disconnect(false); }

                    }
                    else
                    {
                        if (!Client.Exchange && Client.Action != 0)
                            Network.PacketHandler.HandleBuffer(arg1, Client);
                    }
                }
            }
            catch (Exception e) { Console.WriteLine(e); }
        }
i get this error message :



and this error kills the client .. and i have no idea what shall i do in this case ..

any help with this ?
abdeen is offline  
Old 09/16/2013, 01:28   #2
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,190
5017 doesn't use Blowfish. Reference a source that's already out there.
Spirited is offline  
Thanks
1 User
Old 09/16/2013, 01:33   #3
 
abdeen's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 475
Received Thanks: 15
5017 doesn't use BlowFish ? O.o

so what it use then ?

and what source you suggest me to check and you think it will help me ?

I've done until i can connect to game server (after i done with auth server )

so that's mean i need to edit something ??
abdeen is offline  
Old 09/16/2013, 01:41   #4
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,190
Spirited is offline  
Thanks
1 User
Old 09/16/2013, 02:10   #5

 
GameHackerPM's Avatar
 
elite*gold: 153
Join Date: Mar 2011
Posts: 634
Received Thanks: 489
I got another better idea, why you don't just remove new things like NPC of Soul to make them can't make soul.. Remove all 140 items.. make it least 130.. Last level to be as you like and ....etc, i made that in my source it's 5530 but with the whole system like 5095, and better because it got Arena and New GUI and i can control it better than 5095! (Also 5095 i think it's better, but i don't know how to change anything in it, so it's better for me to make the source like i said).
GameHackerPM is offline  
Thanks
1 User
Old 09/16/2013, 05:26   #6
 
abdeen's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 475
Received Thanks: 15
Quote:
Originally Posted by GameHacker-PM- View Post
I got another better idea, why you don't just remove new things like NPC of Soul to make them can't make soul.. Remove all 140 items.. make it least 130.. Last level to be as you like and ....etc, i made that in my source it's 5530 but with the whole system like 5095, and better because it got Arena and New GUI and i can control it better than 5095! (Also 5095 i think it's better, but i don't know how to change anything in it, so it's better for me to make the source like i said).
is this thread for better source`s for you ?

omg or for what you can do or what you can't ?

Thanks for reply ... O.o

Quote:
Originally Posted by Fang View Post
thank you Fang ..
but now i am getting the client being killed if i use

Code:
string Messages = "ANSWER_OK";
                        client.Send(new Message(Messages, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
OR

Code:
string Messages = "NEW_ROLE";
                        client.Send(new Message(Messages, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
but if i used this :

Code:
client.SendIt(PacketBuilder.SendMsg(client.MessageId, "SYSTEM", "ALLUSERS", "ANSWER_OK", 0x834));
its keep says (" Logging to server .. please wait a moment ") and no thing happens

Note : i am trying to send it to select a new character ...
abdeen is offline  
Old 09/16/2013, 13:04   #7

 
GameHackerPM's Avatar
 
elite*gold: 153
Join Date: Mar 2011
Posts: 634
Received Thanks: 489
Quote:
Originally Posted by abdeen View Post
is this thread for better source`s for you ?

omg or for what you can do or what you can't ?

Thanks for reply ... O.o



thank you Fang ..
but now i am getting the client being killed if i use

Code:
string Messages = "ANSWER_OK";
                        client.Send(new Message(Messages, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
OR

Code:
string Messages = "NEW_ROLE";
                        client.Send(new Message(Messages, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
but if i used this :

Code:
client.SendIt(PacketBuilder.SendMsg(client.MessageId, "SYSTEM", "ALLUSERS", "ANSWER_OK", 0x834));
its keep says (" Logging to server .. please wait a moment ") and no thing happens

Note : i am trying to send it to select a new character ...
Well, i was suggesting for you to do like what i did.. If you don't like it, you can say thanks only!~ << No need these first words.

Thanks!
GameHackerPM is offline  
Thanks
1 User
Old 09/16/2013, 13:12   #8
 
TaiZer's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 39
Received Thanks: 5
Just get the encryption of a 5017 source in the link that Fang gave you.
TaiZer is offline  
Thanks
1 User
Old 09/16/2013, 22:59   #9
 
abdeen's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 475
Received Thanks: 15
Quote:
Originally Posted by TaiZer View Post
Just get the encryption of a 5017 source in the link that Fang gave you.
now i am working on load character info .. but i wanna finish the character creation first but this issue stopping me at this point ...
abdeen is offline  
Old 09/17/2013, 00:30   #10
 
Smallxmac's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 105
Received Thanks: 13
This should be the order the handle things, Client sends login details, use the password cipher from another 5017 and compare the password if they match and then you send the packet with the gameserver information(forgot the ID) you get the client id from the packet it sends back and then you check if there is an account with that id and character if there is not send the Message packet (1004 i think) with the message "NEW_ROLE" in tone 2101(Dialog) I think... The the client will then bring up the character creation window thing once you make the character on the client it will send the packet with all the information you need to make the account after that you save it to some kind of database and then disconnect the client and let them login again. Make sure you add checks on the information the character sends.
Smallxmac is offline  
Old 09/17/2013, 06:36   #11
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 950
Quote:
Originally Posted by Smallxmac View Post
This should be the order the handle things, Client sends login details, use the password cipher from another 5017 and compare the password if they match and then you send the packet with the gameserver information(forgot the ID) you get the client id from the packet it sends back and then you check if there is an account with that id and character if there is not send the Message packet (1004 i think) with the message "NEW_ROLE" in tone 2101(Dialog) I think... The the client will then bring up the character creation window thing once you make the character on the client it will send the packet with all the information you need to make the account after that you save it to some kind of database and then disconnect the client and let them login again. Make sure you add checks on the information the character sends.
To add on this at login you send ANSWER_OK, characterinfo and the datetime packet within the 1052 packet @ the gameserver.
After that the client will request a lot of subtypes in generaldata for request things such as items, skills etc. (Not sure about the ID at 5017, because I know it changed at some point.)
The last subtype is for requesting guilds which you can also use to tell whether the client has been fully logged in.
Super Aids is offline  
Thanks
1 User
Old 09/17/2013, 12:57   #12
 
abdeen's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 475
Received Thanks: 15
Quote:
Originally Posted by Super Aids View Post
To add on this at login you send ANSWER_OK, characterinfo and the datetime packet within the 1052 packet @ the gameserver.
After that the client will request a lot of subtypes in generaldata for request things such as items, skills etc. (Not sure about the ID at 5017, because I know it changed at some point.)
The last subtype is for requesting guilds which you can also use to tell whether the client has been fully logged in.
Quote:
Originally Posted by Smallxmac View Post
This should be the order the handle things, Client sends login details, use the password cipher from another 5017 and compare the password if they match and then you send the packet with the gameserver information(forgot the ID) you get the client id from the packet it sends back and then you check if there is an account with that id and character if there is not send the Message packet (1004 i think) with the message "NEW_ROLE" in tone 2101(Dialog) I think... The the client will then bring up the character creation window thing once you make the character on the client it will send the packet with all the information you need to make the account after that you save it to some kind of database and then disconnect the client and let them login again. Make sure you add checks on the information the character sends.

Ight and that's what i am working on it right now .. you know it's not easy .. but i am still trying and trying with it ... and i am not going to post ev problem i meet .. i can look into other versions of co source and learn how its works then i can edit mine .. that's all

thank you again every body ...

================================================== ======

here guys i meet i new problem and i don`t know even where is the problem

after this code run prefect :

Code:
static void DoLogin(object _client)
        {
            Console.WriteLine("Dologin");
            Client.GameState client = _client as Client.GameState;
            client.ReadyToPlay();
            if (ServerBase.Kernel.GamePool.ContainsKey(client.Account.EntityID))
            {
                Client.GameState d = ServerBase.Kernel.GamePool[client.Account.EntityID];
                ServerBase.Kernel.GamePool.Remove(d.Account.EntityID);
                d.Disconnect();
            }
            Database.cq_userTable.LoadEntity(client);
            string Message = "ANSWER_OK";

            if (client.Entity == null || client.Entity.Name == null)
            {
                Message = "There is something wrong. You may not login.";
                client.Send(new MessagePacket(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                return;
            }

            if (ServerBase.Kernel.GamePool.Count == Program.PlayerCap && client.Entity.VIPLevel == 0)
            {
                Message = "Player limit exceeded. (Online players: " + ServerBase.Kernel.GamePool + "/" + Program.PlayerCap + ")";
                client.Send(new MessagePacket(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
                return;
            }

            client.Send(new MessagePacket(Message, "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));

            client.Logger = new Logger(client.Entity.Name);
            ServerBase.Kernel.GamePool.Add(client.Entity.UID, client);
            Console.WriteLine("Here we added cleint.entity.uid to game pool");
            if (!ServerBase.Kernel.WasInGamePool.ContainsKey(client.Account.EntityID))
                ServerBase.Kernel.WasInGamePool.Add(client.Entity.UID, client);

            //Database.cq_userTable.UpdateOnlineStatus(client, true);

            client.Send(new GamePackets.CharacterInfo(client));
            string IP = client.Socket.Connection.RemoteEndPoint.ToString().Split(':')[0].ToString();
            client.Account.IP = IP;
            client.Account.Save();


            if (!client.LoggedIn)
            {
                Console.WriteLine("IP Address: [" +client.Account.IP + "] - " + client.Entity.Name + " has logged on.");
                client.LoggedIn = true;
                client.Action = 2;
            }
        }
and after i receive this message on CS [Console Screen]

Code:
                Console.WriteLine("IP Address: [" +client.Account.IP + "] - " + client.Entity.Name + " has logged on.");
client is killing it self .. i thought its shall go to packet 1010 and to set-location data id .. but its wont go there .. its stops at this point and kills the client ... any idea ???
abdeen is offline  
Reply


Similar Threads Similar Threads
How to Convert 5520 Source into 5017 ?
05/11/2012 - CO2 Private Server - 10 Replies
How to Convert 5520 Source into 5017 ? any idea ? also i am looking for Original 5017 client download link .
Looking for 5017 Source that working fine, or a way to downgrade the 5520 - to - 5017
05/11/2012 - CO2 Private Server - 7 Replies
Looking for 5017 Source that working fine, or a way to downgrade the 5520 source - to - 5017 source
help for charg for source 5520
09/10/2011 - CO2 Private Server - 1 Replies
ples all look for pictuer for titleIt brings not name Riborn get question marks ?-?-? i need help ples fast my server is offline http://imageshack.us/photo/my-images/193/45636898 .jpg



All times are GMT +1. The time now is 08:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.