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
(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