[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