Allow for the servers to specify what media to use

Registered by Erik Ogenvik on 2008-01-03

Both Ember and Sear uses WFUT to download new media. The path from where to get this media is however hardcoded, as well as where it's stored. In essence it means that there's no easy way to completely create your own world, since you're bound to the media provided by the clients. The only option then is to fork the clients and create your own version of them, something we very much would like to avoid.
Therefore there's a need for a more dynamic way of specifying the media to use for a certain server. There are some things to consider:
1) We still want to as much as possible use preinstalled media, to limit the need to redownload every time one connects to a new server, and to handle that most people trying out cyphesis probably want to go with the default world.
2) We must take into account that Ember and Sear works differently and have different media, so that it should be possible to specify different locations for downloading for different clients. Of course, it would be preferred if both clients used the same media, but I currently can't seem either project having enough resources to undertake such a process.

My suggestion is that at connection to a server, data is sent to the server about what media to use. This data is first separated into the different client types. For each client type, it should then specify what prepackaged media to use (such as "mason") as well as where to get any additional media through wfut.
The new media downloaded through wfut should be placed in a location unique for that url, to avoid clashes.
In order for this to work we need to go though how scripting is handled on the clients to prevent malicious scripts from being downloaded from unknown servers.

Blueprint information

Status:
Not started
Approver:
Al Riddoch
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.