[crossfire] Crossfire server code cleanup/janitorial
Mark Wedel
mwedel at sonic.net
Thu Apr 24 01:35:34 CDT 2014
Compile time modules for the plugins would probably be simpler (avoids dynamic
linking)
I think the one notable change would be each plugin would need its own init
function (init_python, init_logger, etc), and some part of the server code would
have to have the #ifdefs to call those or not. The one advantage of the dynamic
linking module is there is a standard/common init that is called during the loading.
The idea of third party modules is hard to imagine - unlike say plugins for
firefox which tend to be fairly abstract, the plugins for crossfire are really
tied to the server they are compiled with. That is/was one source of many
problems - a new field is added to some object, the server is recompiled, and
maybe even the plugins, but the plugins are not installed so access to the
structure gets random values. So I can't ever see anyone distributing a binary
only .so file and have it work, unless it was very trivial. So they will always
be source, and even if due to license reasons it can't be distributed as part of
crossfire, it still wouldn't be hard to just make the appropriate directory in
the plugins directory and add the logic for it to get compiled.
More information about the crossfire
mailing list