Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

A new project - FL SRS

Want help in running a persistent server? Want to setup a gaming session? Look no further!

Post Wed May 19, 2004 12:56 am

A new project - FL SRS

Since I haven't got a clue where to post this I assume this is the best spot.
(This aint spam, it's more a cry for help )

--- Introducing Freelancer Server Relay Service ---

For people that are registered on starfyrestudios.com, you can read about the SRS there (Modifications forum), though for people that are not yet registered there (or don't want to) read ahead.

---------
.: So what's it all about?

FL-SRS is a new project invented(?) and designed by me, the idea came due to the fact that the amount of players playing on one server is rather limited, due to this restriction the likelyhood of not even encoutering people is quite big.

This restriction started to annoy me a bit and started to think about the options to improve this.. and thus SRS came up.

Using a certain technology that they also used on GTA (grand theft auto) (or now called MTA, Multi Theft Auto), it's possible to capture the network information of the game and pass this around to other servers 'faking' other players that are not connected to that particular server. To better explain this see the following diagram.

Master Relay <---> Client Relay <--> Freelancer Server <---> User

The user connects normally to their favorite server, if this server has a client relay running it will communicate to the master relay that a user has been connected to the FL server and that the master server has to mirror that information (or relay it) to other servers connected to the master relay. If it all works out, users will see other users that are not physically connected to that server but to other servers.

The project is well under way and currently the relay master and client are developed to the point that the only thing left is to implement the data packet fetching & storing it back to memory.

That last part is also considered the pain in the a** module to create as not much information is public regarding how Freelancer handles it's data to clients (and receives from them)

That's why I'm looking for a few helpful VB (or C++) coders to help along to gather and create a communication module for fetching the packets, sending them to the master relay and able to receive and merge this into freelancer.

---------
.: The technical Aspect

Both the master & client relay applications have been written in VB6 (SP6) using winsock for the communication. The byte arrays (a network packet of FL) will either use a seperate thread or highres timer to maintain the low latency to prevent lag.

---------
.: The questions

Q: Does the user require a client also?
A: Nope.. Only the server requires a relay client.

Q: How does this affect user administration (kick, ban etc)
A: User administration can be done on any of the relay clients. Further development of the relay client will result in global administration allowing police and admins to keep the crowd under control.

Q: How many users would be able to connect?
A: Depends on the amount of servers and how high their player limits are. It's simple math... for instance. take 4 servers of each 64 max users... the end result would be 255 users flying around in what they think is 1 galaxy.

Q: Can people that are not connected to my server see mission npc's and such?
A: We try to mirror the complete data, as the data is also sent to the client regarding npc's that are in their vicinity, we will make sure that that data is also mirrored to other servers.

Q: Mirroring all that data?! What's the performance hit?
A: We are not sure yet, we haven't done a test run yet as we are still developing some key components.

Q: Why develop this?!
A: Have you read the text above this Q&A?

Q: Can I help? I'm a good coder and know how to do packet handling and such.
A: Yes, you prolly can.... mail me at [email protected] (my starfyrestudios.com mail aint working properly) with some motivation and your skills.

Q: If I accept the task of helping, do I get payed?
A: Doubt it.. See it as that you are helping the community of Freelancer gamers everywhere.

Q: So this is the next big thing that hits the FL community?
A: Looks like it, Atleast I haven't seen any other software/mod around that can mix servers around and make it look like one big server.

Q: VB sucks, why not write it in C++ or Delphi?
A: Because my C++ knowledge is limited and VB can do it. VB aint slow and VB can handle pointers and null terminated strings (and unicode) properly if you know how to code. Quit bashing VB.

Q: Who creates this app?
A: Currently me... for Starfyre studios (TNG mod creator).

Q: Helping you would that mean I would be a member of Starfyre studios?
A: Nope.

---------
.: Last words

We need help or .. I need help
Atleast information regarding networking protocols of Freelancer and how it handles data, specifications of the internal working of Freelancer would be nice.

Also if someone has this information, how to fetch the freelancer server name, max players and currently connected players.

A sneak preview btw:
http://www.pineapple-nl.com/TNG/relay_betashot_2.jpg
A better overview of connectivity:
http://www.pineapple-nl.com/TNG/rly.jpg

Well that's about it..

Regards,
Rob 'Devion' Janssen
Starfyre Studios
Http://www.starfyrestudios.com

Post Wed May 19, 2004 6:54 am

This is a post-copy of a post done on Starfyrestudios.com:

As the project seems to become a bit of a interesting project for everyone that runs a server, the project has been promoted as a cooperation between my own development team and that of Starfyrestudios.com

So for more information about the project (site will be up in +/- 4 hours).
You can visit www.pineapple-nl.com/TNG/FLSRS

The reason why I'm creating a page for this is because I would otherwise have to update 3 different threads running on this forum and lancers, whilst if I do it on a site everyone can take a look at it and ofcourse Google would spider it and cause even more people to get interested

Though don't worry; We will NEVER ask money for this product. I'm doing this for the love of the game just like the team of reynen.

so visit www.pineapple-nl.com/TNG/FLSRS for more info on the SRS client/server technology and see some more screenshots etc. (and ofcourse when it's finished download it )

Post Wed May 19, 2004 8:00 am

This definately sounds intriguing and makes for "super servers" of FL because to the client you may log into different servers but it all look like one great, big server.

I have only one concern which has been a problem for many servers and that is traffic. To take your example, since any one of the four 64 player servers will actually have 2x192 MORE of the player's traffic (traffic between the relay and server plus traffic between server and client), this will be hard on each server's bandwidth. I can see how this may be mitigated somewhat between the server and the master relay with data compression but not between the server and the client. This would be difficult to implement among simple broadband servers but servers with bigger Internet pipes than their CPU horsepower can use would greatly benefit from this.

Good luck!

---------------
Earendil
SysAdmin of Boston Freelancer server
See server rules and server news for more info.

Return to Freelancer Multiplayer Forum