Crossfire Emulator

Page 1 of 3 123 LastLast
Results 1 to 15 of 35
  1. #1
    Member Vanlj95 is offline
    MemberRank
    Feb 2011 Join Date
    92Posts

    Crossfire Emulator

    Crossfire Emulator
    Hi
    For the past 3(?) days I've been working on a crossfire emulator..
    Up to now you can connect past login server, and connect to a Master Server (Alpha Server, Bravo Server, etc), but it has great potential to do much more. Let me go over the aspects of my server. Its coded in C# and the interface is quite easy to work with for those who would like to fork it later on. I'm using my own server structure that I'll explain in a second, because it seemed like it would be the most effecient one to use.

    [IMG] imgur: the simple image sharer [/IMG]

    As you can see by the image, the Login Server binds to the main port, which then any master server can connect to the login server. to make sure of the use of multiple master servers, I implemented configuration files, so you can run multiple instances of a single .exe. The same goes for channels, which as you can see, connect the the master server (depending on how you configured your channel). The black market server (Not yet implemented) will be connected to the Login Server (Which also acts as a main server for all the other ones).

    Other notes about the source

    For database uses, I've decided to simply go with MySQL as it's easiest to use and I have the most experience with.

    For networking, I've created my own library using that makes use of the .NET sockets, which are effecient enough for me. As for packet reader, and packet writing, I'm using a library I've used in a different project (a completely different game), but highly modified to be used for crossfire, as some packets are read, and sent differently (Like sending a string).

    As some of you might know, crossfire uses .rez files to store most of their maps, and guns, but I havn't started a library for reading those files exactly yet, but I have a rough idea of what I'm going to do (Dump the .rez files into a binary file and read those from each channel server).

    Packets
    Packets are a tedious process for this project. Most emulators I've worked on use packet structures that are easy to use, but crossfire really differs on this one. To briefly explain what I mean by this I'll quickly run over a single packet used to show the Login Server

    Code:
    [BYTE, 0xf1] //start of a new packet
    [BYTE, header] 
    [BYTE, packet size]
    [Buffer, 6000 bytes] //includes names of servers but 5000 of those bytes are 0
    [BYTE, 0xf2] //end of packet
    As you can see, that packet alone has rougly 6000 bytes. This is huge and in my opinion z8games (or subagames) did a terrible job with their networking. When you are sending a login error for example, you're sending this exact same packet, with a changed byte in the beginning of the packet. Now think about this, you're sending a 6000 byte packet just to send a simple error? Quite annoying.

    Continueing on..

    I will release my source later on once I get more progress done and have a better understanding of the packet structures. Any questions, feel free to PM me. Also, if you would like to analyse packets, feel free to PM me as well as it is a tedious process.

    Yes, my IGN is blurred out because it is the same one that I use in the official crossfire.

    [IMG] imgur: the simple image sharer [/IMG]

    I havn't fully decoded this packet yet, as you can see, the part where it shows the amount of players, I know where to edit it but I just havn't got to it yet.



  2. #2
    Newbie hick156 is offline
    MemberRank
    Apr 2011 Join Date
    3Posts

    Re: Crossfire Emulator

    you realse this?

  3. #3
    Member Vanlj95 is offline
    MemberRank
    Feb 2011 Join Date
    92Posts

    Re: Crossfire Emulator

    Quote Originally Posted by hick156 View Post
    you realse this?
    Later on, like I said, yeah.

  4. #4
    Good to be back. jyap1021 is offline
    True MemberRank
    Feb 2009 Join Date
    HellLocation
    787Posts

    Re: Crossfire Emulator

    looking forward on this ;)
    ]

  5. #5
    Member melrpm is offline
    MemberRank
    Apr 2009 Join Date
    32Posts

    Re: Crossfire Emulator

    So much progress so far? Damn!

  6. #6
    Account Inactive Burak Kuzu is offline
    InactiveRank
    Jan 2013 Join Date
    5Posts

    Re: Crossfire Emulator

    NIce i am waiting for the release Good job
    how much size is the emulator? my is over 2 gb and the original from ph are 26gb

  7. #7
    Member oboy12 is offline
    MemberRank
    Sep 2012 Join Date
    swedenLocation
    49Posts

    Re: Crossfire Emulator

    lol, which client is recommended?

  8. #8
    Member Vanlj95 is offline
    MemberRank
    Feb 2011 Join Date
    92Posts

    Re: Crossfire Emulator

    Quote Originally Posted by Burak Kuzu View Post
    NIce i am waiting for the release Good job
    how much size is the emulator? my is over 2 gb and the original from ph are 26gb
    Total size (+configuration files and shortcuts + binaries) is 15 mb.

    Quote Originally Posted by oboy12 View Post
    lol, which client is recommended?
    Works with the latest crossfire client from North America

  9. #9
    Account Upgraded | Title Enabled! djbadboys38 is offline
    True MemberRank
    Aug 2010 Join Date
    TanzanyaLocation
    1,353Posts

    Re: Crossfire Emulator

    Please share a new files from development :)

  10. #10
    Member oboy12 is offline
    MemberRank
    Sep 2012 Join Date
    swedenLocation
    49Posts

    Re: Crossfire Emulator

    he will share when he is done.. be patient...

    only with crossfire NA or can I use it with crossfire EU too?
    Last edited by oboy12; 19-02-13 at 08:33 AM.

  11. #11
    Member oboy12 is offline
    MemberRank
    Sep 2012 Join Date
    swedenLocation
    49Posts

    Re: Crossfire Emulator

    if u done release it.. not the python.. The c# if u have it :P

  12. #12
    Member Vanlj95 is offline
    MemberRank
    Feb 2011 Join Date
    92Posts

    Re: Crossfire Emulator

    Quote Originally Posted by oboy12 View Post
    he will share when he is done.. be patient...

    only with crossfire NA or can I use it with crossfire EU too?
    I'm not sure, the packets might differ, but once I get more used to crossfire's networking structure I might add support for Crossfire Europe too.

    small update: I've rewrote some of the packet writing and reading code to be more user-friendly. Also finished off loginserver with full database connection, instead of that 'default' account login. I don't really have much time during the week to work on it but during my march break I will have more time.

  13. #13
    Account Inactive Play9D is offline
    InactiveRank
    Sep 2012 Join Date
    1Posts

    Re: Crossfire Emulator

    Quote Originally Posted by oboy12 View Post
    if u done release it.. not the python.. The c# if u have it :P
    tons of hour to work on that , not for free ! dream !

    Quote Originally Posted by oboy12 View Post
    if u done release it.. not the python.. The c# if u have it :P
    btw , Python and C# or bla bla bla is not problem ! basically that how do you make it work !

  14. #14
    Account Inactive GammaGames is offline
    InactiveRank
    Dec 2012 Join Date
    3Posts

    Re: Crossfire Emulator

    Do not pack it in python, I have doene with Friends like 60% of a p-seerver of cf.
    If ypu need help, PM me an IM you use, I will try to help you.

  15. #15
    Member Vanlj95 is offline
    MemberRank
    Feb 2011 Join Date
    92Posts

    Re: Crossfire Emulator

    Quote Originally Posted by jyap1021 View Post
    dont you need any help?
    Not sure if that was directed to me, but yeah, someone who is willing to analyse packets would be great.

    @thread please stop going off topic, if you have your own emulator for this game, make another thread.



Page 1 of 3 123 LastLast

Advertisement