Tue May 27, 2003 1:05 am by Beomuller
I have had some thoughts on a similar matter. I want to make it easier for people to use mods, and for servers to run mods. There are a host of other things that become possible with the setup I envision. It would not be an anti-cheat per se, but it would raise the bar a bit making it a little more difficult. Note that memory trainers on the client end are pretty much impossible to defeat, especially without access to source code, so eliminating cheating can't really be done, you can just make it more difficult.
What I have had in mind is a launch app and launch server wrapped around, but not executing with, the Freelancer client and server. The Freelancer server would be locked to new accounts. The launch app would communicate with the launch server, verify signatures of game files with the launch server and reconcile any inconsistencies with the local profile. In the case of new characters the launch app would instruct the launch server to generate an initial save game from a template for the Freelancer server to use. Ultimately the launch app would launch the Freelancer client into a connect with the Freelancer server.
The goal is to make it easy on the users to play on modded servers, and easier for the sysops to distibute mods for their server, as well as allowing different faction starts. I'd also like to parse and rebuild save games so users would not have to create new characters for certain mod changes, and to tie in a few other things such as making certain locations "known" when they figure prominently in the in-game news, and creating a server timeline of events and a pseudo-dynamic pricing scheme. Basically, whatever the server has, the client gets with each logon, and there is potential for some other hooks into the black box that is the game.
Ultimately a modded server would run the launch server (possibly redirected to a different box or connection), and users would run the launch app. The launch app would query for the launch server, and if it didn't exist, simply launch the game. If it did exist, the negotiations and transfers of files out of sync would begin, and then the game launched.
Beomuller