Freelancer Server Reverse Engineering
-
I’m a software science student from the technical university of Eindhoven (TU/e) and long time player of Freelancer. I was planning clean-room reverse engineering of parts of Freelancer, at least the FLServer.exe. This is perfectly legal by European Law.
From what I observed the Freelancer Server is only available for Windows, while most servers (I work with) run Linux. Wine is no solution since servers are expected to run stable 24/7.
Re-making the server is a relative smart effort compared to the rest of the game, which is my ultimate goal. If you look at the massive efforts which have been made by the Discovery team the only thing that is holding them back is the dated game engine it self.
StarCitizen looks promising but I don’t think it will be able to capture the charm of the original Freelancer. For example, look at Discovery 24/7. The quality of role playing there is impossible to capture with a large commercial game and the audience that comes with it.
The first step would be documenting general functionality of the FLServer. I’m currently looking for people who have the following skillset:
- Well known with the concept of Object Oriented programming and experienced with at least one of such programming language (Java/C++ preferred).
- Experience with x86 assembly, debuggers and disassemblers alike.
- Capable of writing clear formal English documentation, needed to exlude any element of obliquity.
-
you dont need to revers the server at all basicly doing away with copyright you build your own from scratch,
you just need to know the way the packets are layed out and handle them like the server would, ive worked on a few wow private servers, basicly they were made with just looking at the way the packets were handled and replying with the correct lay out but the 2 guys that done the work did get prosacuted think it was for decriping the packets in the first place -
could cost another year or two to implement this even for those who already reversed any other server code. At this point your task wont be actual as SC will take it’s profits and most of FL community probably just change available engines. But ofcourse as a student it could be a nice experience to feel.
-
That would be a preferred approach if you know absolutely nothing about server. Concider it a black-box and replicate whats going in and out.
This is not the case however: we do have all the binaries. What we need a systematic approach of re-building the entire server executable. One that is applicable at any part of Freelancer, say the rendering engine, so that we may reverse this too if it is demanded by a mod.
-
… even for those who already reversed any other server code.
It’d take years for those who’ve already spent years hacking through it, so I very much doubt there’s any possibility that we could’ve had an alternative server engine by now.
Plus, at that point it’d be better to just start anew and not have to deal with Freelancer’s quirks.
-
=Alex= wrote:
massdriver wrote:
could cost another year or two to implement thisPeople have been saying this for years, definitely more than 2. We could’ve had it by now.
Guess why nobody spent those years on it. Such task has no estimate in time and efforts, it will be easier to implement completely new game, that could just reuse FL resources.
-
This is almost being discussed like its something that is going to be done!
Now now people dont get me all excited and what not!
-
Yes, Deja Vue, mes amis!
-
Ursus wrote:
I would think the directplay protocol stuff is pretty well known by now. Just a question of motivation at this point. Seems to be lacking.DP is no problem, but you need to understand actual ingame client-server communication protocol, ingame messages what they mean and how are sent. Then you need to build custom server that will behave like real one, which includes physics handling in same way as FL does, AI system, account storage, anti-cheat etc. As you might see there’s already a lot of options to do.