Quote:
Originally Posted by Slice
How should rangebans be managed? Currently they blend together with the normal bans, but perhaps a bit too much. Whitelist functionality perhaps?
|
Ban exceptions would be amazing. It's something that should really be a part of SA-MP. You could clone your bans table structure and rename it to exceptions, if an IP exists in the exceptions then don't bother looking it up in bans.
Quote:
Originally Posted by Slice
Which approach would be best for DNS look-ups: plugin or external HTTP requests?
|
I firstly go with what makes it easier for you, the developer, as both have advantages. I believe the HTTP would be the easiest way to go, but obviously would leave you with a delay. A plugin would give you more of an ability to remove that delay, either by using a constant list or having an dynamically increasing cache. However, use of a plugin adds an extra dependency which can be annoying.
Quote:
Originally Posted by Slice
If a player has several bans on his range/IP, how should this be handled? Currently GetBanIndex retrieves the 1st ban index, and LiftBan removes whichever ban index was passed to it, and only that. Maybe something simple like sort of a JustMakeItSoThisPoorPlayerCanJoinTheServerIDontCar eHow(ip).
|
You could have a
GetBanIndices(IP:ip, dest[], len = sizeof(dest)) which populates the dest array with all the ban indices that the ip is included in. The function would return the number of ban indices that that IP is a part of (if it's not excepted)