Page 1 of 1

[Mod] Extended Ban v2 [xban2]

PostPosted: Tue May 20, 2014 03:31
by kaeza

Extended Ban Mod for Minetest



This mod attempts to be an improvement to Minetest's ban system.

  • It supports normal bans and temporary bans (from 60 seconds up to the end of time, with 1 second granularity).
  • Records and joins all accounts using the same IP address and several IP addresses using the same name into a single record, and can ban/unban them as a single user.
  • Can ban offline players if you know their IP or username.
  • Holds a record of bans for each user, so moderators and administrators can consult it to know if a player is a repeat offender.
  • Does not modify the default ban database in any way (`ipban.txt').
  • Has an API to ban and check the ban database to allows other mods to manage users (for example, anticheat mods).

Usage
Install the mod as always and rename to `xban2'.

The mod provides the following chat commands:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/xban <player_or_ip> <reason>

Ban a player permanently.

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/xtempban <player_or_ip> <time> <reason>

Ban a player temporarily. The syntax for `<time>' is:
  • 1s - Ban for one second.
  • 1m - Ban for one minute.
  • 1h - Ban for one hour.
  • 1D - Ban for one day (24 hours).
  • 1W - Ban for one week (7 days).
  • 1M - Ban for one month (30 days).
  • 1Y - Ban for one year (360 days).
Values can be combined. For example "1D3h3m7s" will ban for 1 day, 3 hours, 3 minutes, and 7 seconds.
Note that the units are just for convenience. You are not required to provide values within the bounds. It is possible to specify "3600s", which is the same as "60m" or "1h". Also note that the 's' is optional. Specifying just "42" is the same as "42s".

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/xunban <player_or_ip>

Unban a player.

Advanced Use

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/xban_record <player_or_ip>

See a player's ban record.

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/xban_dbi <importer>

Import a database. Valid values for `<importer>' are:
  • "minetest" - Import ban list from `ipban.txt' (Minetest ban database).
  • "v1" - Import ban list from `players.iplist' (xban v1 database).

All commands except for `/xban_dbi' require `ban' privilege to execute. The `/xban_dbi' command requires `server' privilege.

License: BSD 2 Clause License.
Dependencies: None.

Links
Download .zip
Download .tar.gz
Browse code on Github

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Tue May 20, 2014 03:58
by LazyJ
Is this compatible with the previous version of "xban's" files, kaeza?

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Tue May 20, 2014 04:09
by kaeza
LazyJ wrote:Is this compatible with the previous version of "xban's" files, kaeza?

Not currently. I'm working on providing converters from MT's ipban.txt, old xban v1 `players.iplist', and newer `players.iplist.v2' formats, along with more utilities.

BTW, for those who used my old xban mod, the advantages of this one are:
  • Has a saner DB format (using a minetest.(de)serialize-compatible format.
  • Fixes an old bug where some users were not actually getting banned under some circumstances.
  • As said above, ban record :)
  • It's title says v2! so it must be better than v1! the internet said it, so it must be true!

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Tue May 20, 2014 10:26
by Krock
*shuts down server*
*installs*

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Wed May 21, 2014 10:13
by kaeza
*BUMP*

LazyJ: Added command to import old v1 DB and Minetest `ipban.txt'.

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Fri May 23, 2014 08:48
by kaeza
Update:
  • Added `/xban_record' command to list players' ban records.
  • The mod now saves the last position of the banned player (if they are online). The `/xban_record' command also shows the last known position of the player, if available.

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Thu Jun 26, 2014 05:16
by LazyJ
kaeza, is xban2 capable of importing players.iplist.v2 ?

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Thu Jun 26, 2014 06:25
by kaeza
Update:
  • Fixed an ugly bug that could cause unwanted bans on servers. It is recommended to delete the database and start anew, or run this script in the standalone Lua interpreter (get it from your favorite package manager, or from here) to purge duplicate entries. Thanks to Zeno` for testing :)
  • Added importer for old v2 database format. Thanks to LazyJ for helping with testing :)

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Wed Oct 01, 2014 03:59
by stormchaser3000
ok um here is a bug: when i xtempban someone they get permanetly banned until i execute xunban. and yes i did use xtempban

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Wed Aug 05, 2015 00:21
by kaeza
Update:
  • Fixed temporary bans not working at all (the function responsible for removing expired bans was not being run).
  • The `/xban_record` command now lists the ban "source". The "source" is the player or mod that performed the ban (the source was always stored in the database, but the report did not include it).

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Thu Sep 22, 2016 16:34
by Lejo
Is it possible to see the ips of the players?
Can I ban player per mac-Address?

This mod is soooooo nice!

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Thu Jan 26, 2017 10:14
by kaeza
The players' IP(s) are recorded in the database, but are not currently visible anywhere (except when banning).

Banning by MAC address is not possible as we don't have access to that info.

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Fri Feb 24, 2017 22:23
by Lichtbringer
But if trollip/trollname is banned and he tries to login as trollip/myname, wouldn't that ban me too?
(because myname gets linked to trollip's account)

If someone lives in a living group or orphanage, banning one would ban all.
It is also a very certain ban on all shared ips like school-ips, internet-coffee-shops, …

Re: [Mod] Extended Ban v2 [xban2]

PostPosted: Sat Feb 25, 2017 00:04
by kaeza
That's a known issue, and I don't feel it's worth it to resolve it. Will accept suitable patches of course.