Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server > CO2 PServer Guides & Releases
You last visited: Today at 09:11

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

Advertisement



Comet, Open Source Server (Multiple Patches)

Discussion on Comet, Open Source Server (Multiple Patches) within the CO2 PServer Guides & Releases forum part of the CO2 Private Server category.

Reply
 
Old 08/14/2019, 06:08   #31
 
elite*gold: 0
Join Date: Aug 2010
Posts: 951
Received Thanks: 76
Ahh okay thank you for explaining
denominator is offline  
Old 08/14/2019, 09:25   #32
 
elite*gold: 80
Join Date: Sep 2007
Posts: 642
Received Thanks: 168
Has anyone put to effort into upgrading this to >5017?

I've grabbed CptSky's implementation of Blowfish and Diffie-Hellman from CO2_CORE_DLL and think I have it implemented correctly but can't say for sure.

I'm trying to target patch 5095.

When the client connects to the game server I initiate the DH exchange. The client responds, I re-initiate the game-cipher with the new shared key, setIVs (with two byte arrays of length 8 initiated to 0s, same as original setup) and mark exchange complete.

I then receive the MsgConnect packet (1052) successfully deciphered (is this a sign my cipher is setup properly?). Obviously my character doesn't exist so I send a message packet "NEW_ROLE". The client does nothing with this, which makes me think my cipher is not properly setup. I am appending "TQServer" suffix to my packets (and not including that length in my packet length header) before I send the packet.

The fact I'm able to decipher the initial MsgConnect leaves me stumped...unless I don't fully understand the current order of things. Any Thoughts?

Blowfish:

Diffie-Hellman:

Game.Server - Received:

MsgTalk:
Santa is offline  
Thanks
1 User
Old 08/15/2019, 07:33   #33
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by StarBucks View Post
Has anyone put to effort into upgrading this to >5017?

I've grabbed CptSky's implementation of Blowfish and Diffie-Hellman from CO2_CORE_DLL and think I have it implemented correctly but can't say for sure.

I'm trying to target patch 5095.

When the client connects to the game server I initiate the DH exchange. The client responds, I re-initiate the game-cipher with the new shared key, setIVs (with two byte arrays of length 8 initiated to 0s, same as original setup) and mark exchange complete.

I then receive the MsgConnect packet (1052) successfully deciphered (is this a sign my cipher is setup properly?). Obviously my character doesn't exist so I send a message packet "NEW_ROLE". The client does nothing with this, which makes me think my cipher is not properly setup. I am appending "TQServer" suffix to my packets (and not including that length in my packet length header) before I send the packet.

The fact I'm able to decipher the initial MsgConnect leaves me stumped...unless I don't fully understand the current order of things. Any Thoughts?

Blowfish:

Diffie-Hellman:

Game.Server - Received:

MsgTalk:
Hey, super cool that you want to upgrade this. I'm free to help in any way I can if you need it. I think it may be the way you're handling the client response? Right now, it looks like you're using the entire packet as the derived public key from the exchange. There's a random padding header with a length at offset 11. You add 15 to that length and that should be the offset of the UInt32 key length. The next field should be the public key... if this old source I'm reading is right.
Spirited is offline  
Old 08/15/2019, 08:11   #34
 
elite*gold: 80
Join Date: Sep 2007
Posts: 642
Received Thanks: 168
Quote:
Originally Posted by Spirited View Post
Hey, super cool that you want to upgrade this. I'm free to help in any way I can if you need it. I think it may be the way you're handling the client response? Right now, it looks like you're using the entire packet as the derived public key from the exchange. There's a random padding header with a length at offset 11. You add 15 to that length and that should be the offset of the UInt32 key length. The next field should be the public key... if this old source I'm reading is right.

Thanks for the response. Here is the function where I'm pulling out the public key from the client

Apparently I wasn't stamping my packets correctly with the TQServer footer. Changed the way I write that to the packet prior to sending it out and it works now. About to head out on vacation but when I get back ill try to clean it up a bit (not a fan of how dirty the exchange feels) and post a >5017 copy.

edit: Spent the better part of the day ripping this thing apart to figure out such a lame mistake.
Santa is offline  
Thanks
1 User
Old 08/15/2019, 08:35   #35
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by StarBucks View Post

Thanks for the response. Here is the function where I'm pulling out the public key from the client

Apparently I wasn't stamping my packets correctly with the TQServer footer. Changed the way I write that to the packet prior to sending it out and it works now. About to head out on vacation but when I get back ill try to clean it up a bit (not a fan of how dirty the exchange feels) and post a >5017 copy.

edit: Spent the better part of the day ripping this thing apart to figure out such a lame mistake.
Sorry, totally misread your post and didn't realize you had MsgConnect *working*.
Glad you figured it out in the end.
Spirited is offline  
Old 08/15/2019, 18:33   #36
 
pintinho12's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 943
Received Thanks: 408
Quote:
Originally Posted by Spirited View Post
Sorry, totally misread your post and didn't realize you had MsgConnect *working*.
Glad you figured it out in the end.
It's worth if I rewrite my WCSource from Phoenix to Comet?
pintinho12 is offline  
Old 08/15/2019, 22:06   #37
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by pintinho12 View Post
It's worth if I rewrite my WCSource from Phoenix to Comet?
That's up to you, but I think so. What I'd really love to see is people forking the master branch and creating public versions that people can then easily find and try contributing to. It'd also be nice for others to contribute towards the master project. I'm a bit tied up these days with commitments, but I'm always available to help lead and organize an effort, or contribute through code reviews and advice. I'll add instructions for forking the code tonight to the readme and contributing guide.

Edit: Here it is...
Spirited is offline  
Old 08/16/2019, 17:20   #38
 
pintinho12's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 943
Received Thanks: 408
Quote:
Originally Posted by Spirited View Post
That's up to you, but I think so. What I'd really love to see is people forking the master branch and creating public versions that people can then easily find and try contributing to. It'd also be nice for others to contribute towards the master project. I'm a bit tied up these days with commitments, but I'm always available to help lead and organize an effort, or contribute through code reviews and advice. I'll add instructions for forking the code tonight to the readme and contributing guide.

Edit: Here it is...
Then, I will create a 5729 soon ^_^
pintinho12 is offline  
Old 01/25/2020, 21:19   #39
 
elite*gold: 0
Join Date: Oct 2015
Posts: 8
Received Thanks: 1
trying to make the correct convert but its gave me wrong length every time

bigbis is offline  
Old 04/05/2020, 18:56   #40
 
elite*gold: 0
Join Date: Jan 2015
Posts: 7
Received Thanks: 0
Nice Release Spirited,
I have only one issue regarding connecting to the client,
the client refuses any loopback adapter IP, it gives me server.dat is damaged, and when I disable the loopback adapter it accepts the same loopback IP but cannot connect to the server ofc, also I want to know what is the use of RPC IP, is this should be the same loopback adapter IP?
Abdallah Yehia is offline  
Old 04/05/2020, 19:59   #41
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by Abdallah Yehia View Post
Nice Release Spirited,
I have only one issue regarding connecting to the client,
the client refuses any loopback adapter IP, it gives me server.dat is damaged, and when I disable the loopback adapter it accepts the same loopback IP but cannot connect to the server ofc, also I want to know what is the use of RPC IP, is this should be the same loopback adapter IP?
That's not really a problem with the server. That's just what the client does on lower patches. I tend to use my local IP address instead (the one my router leases to me on 192.168.x.x). I also statically assign the address to my Mac address in the router's settings so it doesn't change on me, which also helps for port forwarding.
Spirited is offline  
Thanks
1 User
Old 04/05/2020, 21:34   #42
 
pintinho12's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 943
Received Thanks: 408
Quote:
Originally Posted by Abdallah Yehia View Post
Nice Release Spirited,
I have only one issue regarding connecting to the client,
the client refuses any loopback adapter IP, it gives me server.dat is damaged, and when I disable the loopback adapter it accepts the same loopback IP but cannot connect to the server ofc, also I want to know what is the use of RPC IP, is this should be the same loopback adapter IP?

good luck
pintinho12 is offline  
Thanks
1 User
Old 04/05/2020, 23:56   #43
 
elite*gold: 0
Join Date: Jan 2015
Posts: 7
Received Thanks: 0
Quote:
Originally Posted by pintinho12 View Post

good luck
Thanks a lot,
I followed the guide and now I can log in with 127.0.0.1.

Quote:
Originally Posted by Spirited View Post
That's not really a problem with the server. That's just what the client does on lower patches. I tend to use my local IP address instead (the one my router leases to me on 192.168.x.x). I also statically assign the address to my Mac address in the router's settings so it doesn't change on me, which also helps for port forwarding.
I followed the link mentioned in pintinho12 comment and now I can log in with 127.0.0.1, but when I log in the client crashes and the account server gives the following:

Missing packet 1052, Length 28
0000: 1C 00 1C 04 1D 46 51 0E 0A 00 00 00 72 65 73 2E | .....FQ.....res. |
0010: 64 61 74 00 00 00 00 00 00 00 00 00 | dat......... |
Abdallah Yehia is offline  
Old 04/06/2020, 00:24   #44
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by Abdallah Yehia View Post
Thanks a lot,
I followed the guide and now I can log in with 127.0.0.1.



I followed the link mentioned in pintinho12 comment and now I can log in with 127.0.0.1, but when I log in the client crashes and the account server gives the following:

Missing packet 1052, Length 28
0000: 1C 00 1C 04 1D 46 51 0E 0A 00 00 00 72 65 73 2E | .....FQ.....res. |
0010: 64 61 74 00 00 00 00 00 00 00 00 00 | dat......... |
That's just a missing packet on the account server that doesn't need to be implemented. The client at that low of a patch crashes if you use 127.0.0.1. Try getting the server running without 127.0.0.1 first and then start making your client modifications. It's important to do your sanity checks before trying anything new. Here's a document of common login issues:
Spirited is offline  
Thanks
1 User
Old 04/20/2020, 20:53   #45
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
First, I just want to thank a few of you for your interest and feedback on this source. I received concerns regarding how Comet utilizes channels and tasks, and so I made some improvements. I increased the number of channels to one per background service task. This means clients will now be assigned a specific worker based on availability rather than letting any worker process packets from that client. That should guarantee that packets from the client aren't accidentally processed out of order. Since this is the project's first major update, I also updated its dotnet core version to 3.1 and cleared it of all vetting issues. Additionally, packet processing is now using the async-await pattern. I'm not entirely confident in my understanding of Tasks, so please review if you have time. Thanks.
Spirited is offline  
Reply


Similar Threads Similar Threads
[Open-Source][C#] EloBuddy, open source League of Legends Bot
05/27/2014 - League of Legends Hacks, Bots, Cheats & Exploits - 8 Replies
-- Snipped --
Patches, Patches, OMG Patches
08/21/2010 - EO PServer Hosting - 3 Replies
A certain someone reckons I make good guides, so heres my second effort. PATCHES! How I made One. Prerequisites 1- Computer, sorry for the sarcasm. 2- Winrar 1-Select all the files you wish to use in the patch. Include the version.dat file which needs to be edited through notepad to higher number. (EG 1001 to 1002). Important, every folder you edit in anyway must be included in the patch!



All times are GMT +1. The time now is 09:11.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.