Freelancer network protocols
-
Hi,
just found this thread via google. Looking for “Freelancer multiplayer protocol”.I searched for that, because I’m thinking about starting to program an open-source server for Freelancer. Maybe using Java or C++ .
First thing to look at is the protocol.
So @topic, did anyone of you start anything like this?? Anyone who has knowladge about the used protocol, directplay etc.??
The aim would be to create an open-source extensible freelancer server in java or c++…
-
SP4C3 wrote:
Hi,
just found this thread via google. Looking for “Freelancer multiplayer protocol”.I searched for that, because I’m thinking about starting to program an open-source server for Freelancer. Maybe using Java or C++ .
First thing to look at is the protocol.
So @topic, did anyone of you start anything like this?? Anyone who has knowladge about the used protocol, directplay etc.??
The aim would be to create an open-source extensible freelancer server in java or c++…
This idea has been brought up several times before over the years, and it was a good one, but I don’t think anyone ever went along and got the basics of one working.
I could show you a PHP script I made to pretend to be an FL client and query the GLS for a list of servers. I have another which can be used to pretend to be a server, but there’s no way I’m going to release it yet as I’m not sure how much it could be abused. A third one is capable of querying a server for it’s information directly, just like the FL client does. Crazy runs the community’s GLS, so he might be able to tell you more about the server-side of things for the list.
Apart from that, I know very little about the protocol.
-
I wouldnt recommend starting from scratch. You could use FLHook and extend the plugin calls for sending network packets (make sure to commit it to the sdk on the svn) and suppress the calls to HkIServerImpl.
That way, you can implement your own logic while still using the native Freelancer network protocol (which isnt too bad). Replacing the whole network layer as well would be a massive undertaking which you dont just do within a year in your free time. Replacing the actual logic and reversing more network stuff is already a huge task and I also dont think you can do that in a foreseeable timeframe. But that would be the most straight forward approach IMO.