Coding Discussion/Question - Moreso of a question

07/27/2011 06:07 xBlackPlagu3x#1
I know this is relatively off-topic but CO Programmers are the smartest programmers I know of so PLEASE don't delete this thread for being off-topic not until I get an answer at least.

Alright so obviously the first person to write a C# source had to create his/her own packet sniffers and use them in the real Conquer right? And they probably did this because the loved the game enough to make their own version OR they hated the game enough to try and do better. Well I LOVE this game called MythWar developed by IGG and I was wondering that if someday in the future I become a guru with C# if it's possible I could create my own packet sniffers for that game and use that info or whatever information I need (I hardly know any coding right now so don't flame, this is 100% serious) and make my own private server source code for it in C#.

The game is an MMORPG so I'm guess it should be possible... am I right?
07/27/2011 06:11 BaussHacker#2
You can sniff packets for anything.
07/27/2011 06:13 xBlackPlagu3x#3
Quote:
Originally Posted by BaussHacker View Post
You can sniff packets for anything.
The question I guess I really didn't ask however is can you create a private server for anything?
07/27/2011 06:26 BaussHacker#4
Quote:
Originally Posted by NightmarexFox View Post
The question I guess I really didn't ask however is can you create a private server for anything?
First you need to make a connection between the client and the server. (Socket System)
After that you need to get the packets the client is sending and the server is sending to the client. Usually by sniffing packets, which is done by listening to the socket the client is having, then just getting the bytes (Packets). Packets are usually bytes that you send, would be char in C++.
Most games are using encryptions to protect their data, so you most likely would have to break their encryptions. In Conquer it uses Blowfish, Rc5 and lately the Cast128/Cast5. You can usually find the decryption of it in the client by cracking it, but it can be a pretty hard task to do it all by yourself. Anyways now you're that far. After making that VERY VERY base, which is basically just a connection between the client and the server, then you would need to make handlers or processors or whatever fits you to call them. Take one packet at a time that you receive/have to send and do them. About calculations, it can be a bitch to do, most likely have to compare your calculations with the once used by the original server or do your own. It requires you to know your math thought as you would need to calculate damage, angles and such things.

There is a lot more things, but I hope this helped.
07/27/2011 06:33 xBlackPlagu3x#5
Thank you so much Bauss! Unfortunately I'm a n00b so I can't do any of this (yet), but when I'm ready I'll have this to refer to (I saved your post to a .txt). One final question. Does that process work for any game? Okay one more. Also how long do you think that would take to do for a game that's never had a private server made for it? (It's an EO looking game and no one really plays it too much, nobody uses hacks or anything and they hardly update the client so I'm fairly sure they don't encrypt it too hard)
07/27/2011 14:38 pro4never#6
As said by Baus.

Step 1: Use programs such as olly to search through the client itself and try to find/reverse engineer the encryption. (not simple depending on the game you play. Many have difficult encryptions to try to reverse)

Step 2: Write some sort of packet logger either by hooking into the send/receive methods of the client or by writing a proxy which can intercept communication.

Step 3: Log tons of packets

Step 4: Determine what each packet type does. What the login sequence is, Structure the packets

Step 5: Start writing your own emulator to allow you to 'imitate' the process the login/game servers do. This will let you work towards fully logging into the game and eventually a fully playable game server.
07/27/2011 15:19 zTek#7
Who was the first to make a CO C# source?
07/27/2011 15:48 BaussHacker#8
Quote:
Originally Posted by zTek View Post
Who was the first to make a CO C# source?
I believe Korvacs, Hybrid etc. Not sure, I could be totally wrong.
07/27/2011 21:55 Kiyono#9
Quote:
Originally Posted by BaussHacker View Post
I believe Korvacs, Hybrid etc. Not sure, I could be totally wrong.
I don't think Hybrid was part of it back then, I could be wrong but the first source Hybrid worked on was a source based on CoEmu which was based on UCCO. So whoever made UCCO would be the first.
07/28/2011 00:44 Lateralus#10
Quote:
Originally Posted by Kiyono View Post
I don't think Hybrid was part of it back then, I could be wrong but the first source Hybrid worked on was a source based on CoEmu which was based on UCCO. So whoever made UCCO would be the first.
Stu and Andy, I think.
07/28/2011 01:19 zTek#11
Quote:
Originally Posted by Lateralus View Post
Stu and Andy, I think.
Originally there was a CoEmu around patch 5017? I do not know much about it, but I think someone named MagicMan coded it. Jacob is the guy to talk to about that. However I do remember Justin telling me something about UCCO being the first server, although I do not know who coded it. But yes, Andy coded a 5095 source named CoEmu v2. (Don't take my word for all this, I could be wrong)
07/28/2011 01:20 BaussHacker#12
Quote:
Originally Posted by zTek View Post
Originally there was a CoEmu around patch 5017? I do not know much about it, but I think someone named MagicMan coded it. Jacob is the guy to talk to about that. However I do remember Justin telling me something about UCCO being the first server, although I do not know who coded it. But yes, Andy coded a 5095 source named CoEmu v2. (Don't take my word for all this, I could be wrong)
CoEmu was not the first server, but it's indeed old and it was patch 5011.
07/28/2011 01:22 zTek#13
Quote:
Originally Posted by BaussHacker View Post
CoEmu was not the first server, but it's indeed old and it was patch 5011.
I didn't say it was the first server, I said UCCO was. Although I did state that There was a CoEmu, before the CoEmu Andy coded.
07/28/2011 02:06 Lateralus#14
Wasn't UCCO Ultimation's work? If UCCO is the first, then he was the first.
07/30/2011 11:16 Spirited#15
I don't know if UCCO was the first, but I have the first source ever made for a Conquer Server. Idk what it was used for though... it's really... REALLY messy. It was for patch 4343 or something like that.