BanReport
BanReport
Summary
All this plugin does is force unwanted players to leave, either by banning them, kicking them, temporary banning them or IP-banning them. If you like, you can allow them to return by unbanning them.
This plugin will also report all the locations and notes an administrator has given on a banned player, and allows quick access to teleport to these locations to investigate (if required).
List of commands:
/ban [player] {-s} [reason] - Bans player [player] permanently from the server, and gives them a nice message each time they try to log in. If -s is added, the ban will be silent to the other players currently online. If a player is already banned, it will add additional information with [reason].
/tempban [player] {-s} [time] [reason] - Temporarily bans a player from the game. Time is given with an integer, followed by a unit, which is either s, m, h, or d. For example, /tempban nublet 30m spamming. Will ban player nublet for 30 minutes.
/kick [player] {-s} [reason] - kicks a player from the game with a friendly reason. The player will be able to instantly rejoin.
/banip [player] OR [IP] - blocks any account with a specific IP address from joining the game. /banip nublet will ban nublet, and ban his ip, whilst /banip 53.67.32.11 will block any accounts that try to sign in with 53.67.32.11 as their IP.
/warn [player] [reason] - warns a player about their actions, and saves it to the database.
/warnings {player} - if there is no argument for player, the person who executed the command's warnings will be shown. Otherwise it will be {player}'s
/baninfo [player] - Recalls information about banned player [player]. Will list the reason they were banned for, and any additional notes that have been added.
/addinfo [player] [information] - Adds additional information regarding a banned player. This will log the coordinates of where you are standing as well.
/removeinfo [player] [id] - removes an 'additional info' entry from the database. Useful if you make a mistake.
/bantp [player] [id] - Teleports you to the location of where the additional information with id [id] was made. Useful for investigations.
/banexport - Exports the database to banned-players.txt.
/banimport - Imports from banned-players.txt to the database.
Permissions:
Here are the permission nodes:
banreport.ban - required for /ban, /tempban
banreport.baninfo - required for /baninfo /addinfo, /removeinfo
banreport.bantp
banreport.io - required for /banexport and /banimport
banreport.kick
banreport.unban
banreport.banip
banreport.warn
banreport.warnings.own - is the player allowed to view their own warnings?
banreport.warnings.viewall - allow people to see any player's warnings.
Setting up:
BanReport runs off a MySQL database, and the query for the required table are here: http://dev.bukkit.org/paste/4259/
You can also use SQLite by setting useMySQL to false in the config.yml file.
Final notes:
- To update from 1.x to 2.x, see this page: http://dev.bukkit.org/server-mods/banreport/pages/updating-from-1-x-to-2-x/
Can you give a source ? :s
@8bitben
Fixed.
The problem was that I didn't add a catch for if you didn't include any of the wildcards. It was forgotten about I'm sorry!
but it's fixed now, ready for 1.6.
@mahoutsukaii
Still doesn't seem to work. Here's the error I get when a banned person rejoins. They are still able to join:
2011-11-08 17:04:09 [SEVERE] Could not pass event PLAYER_LOGIN to BanReport
java.lang.NullPointerException
at jadon.mahoutsukaii.plugins.banreport.BanReportPlayerListener.onPlayerLogin(BanReportPlayerListener.java:32)
at org.bukkit.plugin.java.JavaPluginLoader$13.execute(JavaPluginLoader.java:344)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:200)
at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:88)
at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:39)
at net.minecraft.server.NetworkListenThread.a(SourceFile:94)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
2011-11-08 17:04:09 [INFO] Cheesus777 [/24.79.64.146:36832] logged in with entity id 77 at ([world] 259.5517057731478, 70.0, 1673.3738733209395)
2011-11-08 17:04:09 [SEVERE] Could not pass event PLAYER_JOIN to BanReport
java.lang.NullPointerException
at jadon.mahoutsukaii.plugins.banreport.BanReportPlayerListener.onPlayerJoin(BanReportPlayerListener.java:88)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:260)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:129)
at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:121)
at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:39)
at net.minecraft.server.NetworkListenThread.a(SourceFile:94)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
@8bitben
I found the issue, it was to do with names with uppercase letters in them. Should work with 1.5!
could you add support for banning IP ranges? for those annoying players with dynamic IPs
Thank you for fixing the Permissions, it works now! However, I find sometimes it is simply not enforcing bans when I make them. For example:
10:08:17 [INFO] Player araa123 was temp-banned by 8bitben for 59 second(s). Reason: test minute
10:08:17 [INFO] [BanReport] araa123 was temp banned by 8bitben for 1 reason: test minute
10:08:22 [INFO] [Backup] PLAYERS: 3
10:08:22 [INFO] Disconnecting araa123 [/88.148.205.61:53321]: You were temp-banned by 8bitben for 54 second(s). Reason: test minute
10:08:26 [INFO] araa123 was unbanned by 8bitben!
10:08:26 [INFO] [BanReport] araa123 was unbanned by 8bitben
10:08:35 [INFO] araa123 [/88.148.205.61:53330] logged in with entity id 2019 at ([world] 161.8417955174112, 112.0, 565.5407506535682)
10:08:42 [INFO] [Backup] not last player that left PLAYERS: 4
10:08:42 [INFO] Player Graphiicz was temp-banned by 8bitben for 59 second(s). Reason: testbro
10:08:42 [INFO] [BanReport] Graphiicz was temp banned by 8bitben for 1 reason: testbro
10:08:46 [INFO] [Backup] PLAYERS: 3
10:08:46 [INFO] Graphiicz [/90.196.34.183:53029] logged in with entity id 2134 at ([world] 251.69999998807907, 73.0, 578.3000000119209)
10:08:49 [INFO] [Owner]8bitben: Y U INVICIBLE
10:09:14 [INFO] Graphiicz was unbanned by 8bitben!
After temp banning araa123, it enforces the ban and they can't log in. But when trying it on user Graphiicz, it does not prevent logging in at all and I have to manually remove the ban. Any ideas what's going on?
@nedercraft
Does it work with 1.4? If not, does it work if you type it into the console?
@mahoutsukaii Using bpermissions, command not working will wait for 1.4
@nedercraft
All it should be is /banip "player name" The player needs to be online at the time, or else it cannot retrieve their IP address.
You will know if has been done correctly if it says "Successfully blocked <ip address>!"
Either that, or, if you are using PermissionsEx, you will have to wait for the 1.4 release, as I just fixed it so PermissionsEx works properly (should be very soon)!
/banip [player] OR [IP] - blocks any account with a specific IP address from joining the game. /banip nublet will ban nublet, and ban his ip, whilst /banip 53.67.32.11 will block any accounts that try to sign in with 53.67.32.11 as their IP.
It seems, that nobody on my server can ban ips using "/banip nublet" it says use IP.
am I doing something wrong?
@8bitben
found problem, updated with 1.4!
Using SuperPermsBridge 1.2 did not work. It still outputs command syntax then exits.
The permissions are only set for super permissions. I'm sorry but I'm still yet to look into each individual one.
for 8Bitben, Mapatti and calvinalx, if you are using permissionsEx, you'll need to super permissions bridge. I am testing using permissionsEx, with the bridge, so I don't know :/
@mahoutsukaii
ifso, please make it a config toggle, that way i can check if my permissions are set right with out having to deop (yes i could easily deop but I forget it quite often).
Same as 8bitben but I use 3.1.5 permissions and have tested with banreport.* flag and *
I am getting the same error as calvin. It simply returns command syntax and exits. Using PermissionsEx and I have OP, the * permissions and banreport.*, still not working. Any ideas?
calvinalx, do you have a permissions system installed? This is most likely caused by not having permissions.
However, for 1.4 I can make it result to OP if no permissions exist.
I updated the plugins to 1.3 and its became not working.
When i tried to ban someone, it said /ban [player] {-s} [reason]
Works on Console, but still my mods and admin in-game need it :P
@kropto
you haven't set up your MySQL database correctly. If you wish to use SQLite, you will need to change the flag inside the config.yml use-mysql to false.
error
19:08:01 [SEVERE] Could not pass event PLAYER_JOIN to BanReport java.lang.NullPointerException at jadon.mahoutsukaii.plugins.banreport.BanReportPlayerListener.onPlayerJoin(BanReportPlayerListener.java:87) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:260) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:129) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:121) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:80) at net.minecraft.server.Packet1Login.a(SourceFile:59) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:46) at net.minecraft.server.NetworkListenThread.a(SourceFile:94) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)