Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: Re:Banning players



On Dec 11, 11:20am, James Cameron wrote:

> I would expect the best way to do it would be to grab the source of TCP
> wrappers, pull out the bits we need, stick them in a subdirectory of
> crossfire, include the build of the library in the main build, and then
> write code in the server that uses it.

 But I don't think I have yet to see anyone actually state these are the bits
they need.

 I have seen lots of discussion about what could be done, and a bunch saying
iit could be nice if, but I don't think I have seen any server admins which
actually say 'As a server admin, I need this functionality'

 It seems to me, there are two likely cases:

 1) Server admin bans pretty much anything but a few selected sites.

 2) Server admin pretty much allows everything but a few problem sites.

 These could pretty easily be done right now with minimal extensions.  The
ban file could be:

default={allow|disallow}
ip address to allow
!ip address to disallow

 Some very simple matching coudl be done - if the ip address is something like
129.214, then we only use that many characters for the comparision.

 The above method probably requires less than 50 lines of code to do (basically
read the file, and keep comparing entries against ip address, and when we get
to the end, we see what the final status is).

>
> Placing a dependency on the Crossfire kit such that people would need to
> obtain and build TCP wrappers first does not seem a good idea to me.

 Yeah - placing extra dependancies can get troublesome.  This can of course be
done via configure and compile dependent code, but that starts to make things
messier (if no one but a few people are using a certain method, then bugs in
that code that is normally not compiled don't get found very quickly.)

 In fact, I want to try to move away from compile time options to options that
are selected in a config file or via run time options.  This should improve
reliability (all code gets compiled in, so at least basic errors will be
found), and will also allow admins to try out differnt things easier (instead
of re-compile, just change the configs.)  Many could perhaps even be changed
during gameplay (although some could cause some strange affects I suppose).


-- 

-- Mark Wedel

-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to ]