Jump to content
SubSpace Forum Network

Discretion 0.40 Server Packs now available


Recommended Posts

Posted
I am pleased to announce the release of the Discretion Server pack, binary with source code, for both Windows and Linux. You can get them here. Right now, they are essentially clones of the Discretion Experimental Warfare server so you can look at how the settings for the Forces and damage work. If you want to influence which features Discretion supports and which bug fixes get priority, the best way is to run a (popular) zone.
Posted
Any plans on basing the server package on ASSS 1.4.4, or the latest version 1.5.0rc? Or providing the revisions necessary for zone owners to add support for Discretion?
Posted

Eventually, ASSS would need to be able to restrict specific versions of Discretion, so only official/unmodified/up-to-date builds are allowed. And a server could want to allow a custom client on their server, for some reason...

This is probably heavily linked to how security will be handled though...

Posted
They way it's done now is that the client is told which modules it should use when connecting to a server. This check is easy to disable, however, but if any modifications affect client behavior (if the client does anything an unmodified client can not do), it is detected as cheating and the player is removed.
Posted

Sure, I think Arnk/Brain are working a generic way of handling clients in asss with an abstraction, which I will use if possible.

Basically the conclusion that me/Brain reached is it's not worth merging things back in until we have a way to do this that doesn't involve piling on poor design--that being that asss accepts multiple types of clients but special cases every kind of behavior (ex. if (p->type == T_CONT) { ... } else if (p->type == T_CHAT) { ... })--and given a new client that goes beyond Continuum will be added, and with it the possibility of many variations doing slightly different things and having slightly different abilities there is no good way to continue just checking "p->type" for every single core module.

 

We don't have the ideas fully set in stone yet, but if you catch me in game I can give you a run down of how we have things planned so far. The basic idea though is that instead of having each core module check the client type it will just make a generic "client API" call for which each client can implement its own handler for how to send and receive data. Thus if you want to add support for a new client to the server, you basically just add a new client module--instead of applying a patch like what Bak is basically doing now (while acceptable, it makes upgrading your core more annoying in the future.) With this kind of system you can build a client off an existing client easily without making a lot of changes to server code (beyond one file.)

 

The tricks we still have to work on are the login and encryption processes as they relate to Continuum, and how the receive-data mechanism will work, but soonish I'll set up a branch showing at least how the problem is being approached and hopefully others can contribute some pieces. It's not a hard problem, only a tedious one--converting each core module to not take care of receiving/sending data itself, but passing off messages and receiving messages from client modules instead.

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...