strifel / VBans

Ban your Velocity players!
https://forums.velocitypowered.com/t/vbans-ban-your-players/295
GNU General Public License v3.0
7 stars 6 forks source link

VBans

Ban your players.

What?

VBans is a complete tool to handle player banning on your Velocity server.
It contains:

It saves to History to a mysql server.

How to install

  1. Drop the jar file (found in releases) in to the plugin folder.
  2. Start the server
  3. Stop the server
  4. go to plugins/vbans/config.toml and change the mysql connection details
  5. Start the server

Commands

Command What is does Permissions
/ban \ [reason] Bans a player permanently VBans.ban and VBans.ban.reason
/tempban \ Bans a player for a specific time VBans.temp and VBans.temp.reason
/kick \ [reason] Kicks a player VBans.kick and VBans.kick.reason
/banhistory Shows the ban/kick history of a player VBans.history and VBans.history.seeDeleted
/delban [ban id] Deletes the players active ban or the selected ban out of the history (if the history reader does not have seeDeleted permissions VBans.delete
/reduceban [time] Reduces the players ban to a given time (from ban begin on). If no time is given the player will be unbanned directly. This will not delete the ban out of his history VBans.reduce
Prevents the player from being kicked/banned VBans.prevent
Lets the player receive messages when a player was banned VBans.bannedBroadcast

Difference between /delban and /reduce

I developed these commands to get used in different situations.
/delban should only be used if the server made an mistake by banning the player (e.g. The player could prove that he was not hacking)
/reduce or /unban should be used if the server forgives the player (e.g. the player wrote a ban appeal)

See who has been banned

If you want to see who has been banned. The only way at the moment is to look at the databse with a statement like:

SELECT username AS "Banned User", 
       Reason, 
       From_unixtime(until) AS "Banned until", 
       issuedat != until    AS "Was Ban", 
       (until = -1 
              || until > Unix_timestamp()) AS "Still banned" 
FROM   ban_bans, 
       ban_namecache 
WHERE  ban_bans.user = ban_namecache.user 
AND    purged IS NULL;

End

Please report any issue you find.
If you have any problems or you are missing a feature please contact me.