The problem is not to implement (code) it, this just takes time and money to code the game support for custom content and the tools to make that content (skins, textures, cars, tracks, etc.). The problem lies in how much open is the support, at least in the minds of many users that fear the community will suffer with modding. I tend to agree with them.
Car models could be the major source of problems. My solution is somewhat simple (on the conceptual level). Servers should determine the level of modding allowed, on server setup, the administrator could simply choose from the following list:
- selected original models: this is the actual situation, each server chooses which cars it allows.
- selected models on the local server: the administrators choose a few cars allready present in the local hard-disk, this could well be the most used option.
- only approved cars: cars that get the "seal of approval" from the Devs get uploaded to a central repository
- user uploaded models (not so important)
- not allowed
- any mode: anarchy rules But this could be used for "show your model" servers.- filter by dimensions: with, height, lenght (to prevent races between scholls buses and go karts)
- filter by power
- filter by weight
- filter by power/weight ratio
- must be on online profile
These options should be visible before connection to a server and it would be nice to filter the server list with some of this options.
Tracks models are less of a problem, this is present in a lot of games and works very well. Here, the administrator chooses what track to use or a list of tracks to rotate. There's also the option to allow clients to download the track directly from the server.
The tools are not so important, as long as the game support is implemented, the tools will appear with time.