Code Monkey home page Code Monkey logo

banmanager's People

Contributors

a248 avatar aet2505 avatar btilm305 avatar clienthax avatar confuser avatar davidxd33 avatar dependabot[bot] avatar edawg878 avatar era878 avatar evilolaf avatar ftbastler avatar hyperring avatar joo200 avatar kadeluxe avatar lorias-jak avatar marchagen avatar mxs42 avatar pratham2003 avatar ptoal avatar sir-will avatar stevmei avatar stith avatar stuntguy3000 avatar taeir avatar tibowl avatar tomlewis avatar trekkieenderman avatar unlucku avatar xxcoolgamesxx avatar zreed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

banmanager's Issues

Move table creation SQL

Move the table creation SQL to its own .sql file. Move the database class into a submodule for easier reuse in other projects.

How to compile ?

Bukkit has removed all his builds for 1.7.10, then pom (maven) is unable to find 1.7.10-R0.1-SNAPSHOT.
Any solution ?

EDIT: I think that Craftbukkit isn't needed, it is in pom just for JsonReader, which that can be obtained from google json library. But better is to ask...

/dwarn java.lang.ArrayIndexOutOfBoundsException

If you write /dwarn, without any args, it gives this error:

[17:58:20] [Server thread/WARN]: Unexpected exception while parsing console command "dwarn"
org.bukkit.command.CommandException: Unhandled exception executing command 'dwarn' in plugin BanManager v4.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1370]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[spigot.jar:git-Spigot-1370]
    at org.bukkit.craftbukkit.v1_7_R2.CraftServer.dispatchCommand(CraftServer.java:719) ~[spigot.jar:git-Spigot-1370]
    at org.bukkit.craftbukkit.v1_7_R2.CraftServer.dispatchServerCommand(CraftServer.java:706) [spigot.jar:git-Spigot-1370]
    at net.minecraft.server.v1_7_R2.DedicatedServer.ax(DedicatedServer.java:309) [spigot.jar:git-Spigot-1370]
    at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:274) [spigot.jar:git-Spigot-1370]
    at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:566) [spigot.jar:git-Spigot-1370]
    at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:472) [spigot.jar:git-Spigot-1370]
    at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [spigot.jar:git-Spigot-1370]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at me.confuser.banmanager.commands.DeleteLastWarningCommand.onCommand(DeleteLastWarningCommand.java:33) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1370]
    ... 8 more

Configurable list of excluded ips from duplicate check

Add a config node to exclude a list of IP's from the ip duplicate check (Player joined has same ip as banned player). Useful for players that use apps such as MineChat which appear to proxy the players connection.

Offering contribution

Hey @confuser ,

I would be pleased to re-write the website panel for you (and with your help...).
Have you already done any progress on the re-write for it?

updater not run in an Asynch task - causes server locks

If the Updater is turned on but the server blocks outgoing web connections the updater process will lock the server startup for about 30 seconds. The updater process needs to be kicked off in an asynchronous task to prevent this locking, instead of inlined with normal server startup.

The BmAPI

All the static calls in the BmAPI are deprecated? Is there something new coming up?

Tempmute Notification

When you tempmute someone, the broadcasted notification (the one sent to everyone with bm.notify) says "You have been temporarily muted for xx hours by xx for xx." rather than saying "Username has been temporarily ...."

Using version 5.0.0-SNAPSHOT build 4

Looking up some bans cause crash

Looking up certain players causes the person doing the lookup to crash.

The following appears in console:

[15:57:16] [Server thread/INFO]: FatherSouth issued server command: /bminfo playername
[15:57:16] [Server thread/INFO]: FatherSouth lost connection: Internal Exception: net.minecraft.util.io.netty.handler.codec.EncoderException: java.io.IOException: String too big (was 131402 bytes encoded, max 32767)

using banmanager version 5.0.0-SNAPSHOT, build 3

Hyperlinkeds IPs in searchip.php are broken.

When viewing all banned IPs eg. bans/index.php?action=searchip&server=0&player=%

The hyperlinked IPs go to an incorrect page and are redirected to the homepage.

Here is the fix...

line 115 of searchip.php

Current commit:
<td><a href="index.php?action=viewip&player='.$ip.'&server='.$_GET['server'].'">'.$ip.'</a></td>

Should be:
<td><a href="index.php?action=viewip&ip='.$ip.'&server='.$_GET['server'].'">'.$ip.'</a></td>

Big UI Update

So, today I decided to take a task with this project and do a complete overhaul of the front-end for the web interface. Before I even began, I noticed the code within is a little unorganized. It's all there, it works, but unorganized. At least with editing the source with Sublime it is. The main issue here is the contents previewing inside of the body. Do you not find this extremely odd?
http://gyazo.com/6d1f85c4bf50ebc654dd3c895c2fbc3c.png

Moving into the source, to be honest it took me up to 20 minutes to understand what was going on in there. It's not terrible, but could use some more organizing when it comes to spacing and alignments. I'm OCD frantic when it comes to neat code. Think maybe you can take the time to straighten things up in there? If not, here's what I'm doing.

I would like to do a complete overhaul of the design; upgrading CSS to bootstrap 3 and adjusting the needed HTML elements. I would also take part in making it more readable than it already is: spacing, logical placements, proper alignments. Maybe even add my own touches in.

A way to add "private" comment to ban reason

Would be nice to have a bit more confidential way to set ban reason.
i.e. /ban Notch Hacking #Private stats from NoCheatPlus
Where Notch should only know about hacking but not about exact hack which triggered this ban.
OR
/ban jeb_ Abuse #Griefed my house.
It should be possible to view this "comments" (which are actually part of the ban reason) with /bminfo or admin part of the web interface.

Not connecting to the correct database

I dont know yet how, but the cache script is not connecting to the correct database.
I have 3 databases on a local mysql, each with a different name.
Yes i filled in correct in the settings

If i add mysql_select_db($server['database']); to the function createCache after the if(!empty($server)) statement it works correct.

Webfront "View All" button leads to Error

Whenever I press the "View All" button on my webfront page it goes to a google chrome page "This webpage is not available." Everything else on our ban management page works.

I doubt this is a problem with the plugin but with something went wrong with the setup?

Refactor out DbLogger

It's a mess and unmaintainable. Move in favour of the XData classes by adding the database queries to a new method. Create a Data interface to implement.

Web Panel enhancement

On the web portal, I'm using the same database for some things, and a different one for other things.

On the web portal, it shows the bans multiple times when they are using the same database.. (See here: http://gyazo.com/d61cfbcdd3bc0c5e9d01e227c304d465)

It would be nice to have some sort of way, to make it global for when the database is the same. If i knew PHP I would edit it to do that.

It would be great to have some sort of Configurable 'Global' Name, for shared bans that are on the same database. Possibly a Check to see if they are on the same database, then show it on the same 'Global server' on the web page?

Thanks!

Use mod_rewrite to tidy URLs

This is an enchancment that I will get done [sometime] in the future unless somebody does it before me.

Give the option to enable mod_rewrite in settings.php then have the file dynamically generated with the proper rewrites. This is highly recommended, even for the original one parked at http//frostcast.net/banmanagement which I expected to already have it.

Permanent Ban Syntax

When I run /bminfo on a player with a permanent ban, it shows:

They are currently banned for xxx by xxx at xxx which expires in now

It should probably say "which does not expire" or something.

Using version 5.0.0-SNAPSHOT, build 4

More management through the web interface.

I love Ban-Management at this point, but i have some small additions.

  • As mentioned in #44 would be a nice feature
  • Player can request a unban through the baninfo page.
    Admin would receive a email if someone requested a unban.
  • Multi User login. Every admin should have his own account.

And in the far future maybe a little permission system for every account.
Like a owner and admin. Owners can change servers and stuff. Admins can only see unban requests an can edit bans.

Let me know what u guys think!
(I am willing to help develop the ideas)

Cannot save changes on the website (It's being rollbacked)

Hey there!
I just installed BanManagement and the website on my Dedicated Server and I'm having strange problem.
Everything I do in Admin CP is being rollbacked after I press "Save" button.
Not sure why and the settings.php have chmod 777, in the installation instructions it says that /cache/ need chmod 777 aswell but there is no /cache/ folder.

Additional information:
I have my own dedicated server which is running Ubuntu Server 13.10.
I'm using Apache2 for my websites.

Thank you for reading this!
And a additional note, 3 days ago I was about to watch the tutorial video but I tried to install everything myself first and then next day your video the video was deleted sadly.

Can not search up kicked players.

Info:
Using BanManager v3.13
Bukkit: Craftbukkit 1.7.2 Build: 2945
Adress: www.blockmadness.com/bans

When someone is kicked i can not search up that person, instead i get this messages:
"Error

  1. No matched players found"

the same for when a player was temp banned we can not search him/her up until banned.

For example K_Cin was banned and you can not find him

Database: http://gyazo.com/3a81be3d864986284f53eca266b52c66
Banrecords: http://gyazo.com/694ce6ed8fe7f8a128bf1f882afaaf92
kicks base: http://gyazo.com/a9472c366406850fa8277aa59667c45a

Searching not working correctly in web interface

I am using the latest version on github as of this post

I search for "dinotech1" but nothing shows up. Even though he is currently banned and has a paste ban record.

http://gyazo.com/d3cc97230cf32a80f4407033a52b2a37.png
http://gyazo.com/2bb72dcf60f1b1a96c64424a7ab0e46f.png

link to search: http://phanaticmc.com/banmanagement/index.php?player=dinotech1&server=0&action=searchplayer

however, a direct link works: http://phanaticmc.com/banmanagement/index.php?action=viewplayer&player=dinotech1&server=0

Auto unban server name doesn't use config console name

The SQL queries that add entries to the record tables are hard coded to use 'Console automated' as the value for the unxxxx_by fields. Using the consoleName setting or some variation thereof would match the xxxxed_by fields.

Lock IPs of banned players?

Can we have an option to automatically block connections from "punished" players IPs? Punished = banned/tempbanned/muted.
i.e. when player gets tempbanned he shouldn't be able to login with his IP on any other account. I already know about multiaccount detection but may be it could be automatically?

Modularise /bmtools

/bmtools is probably a very underused command, very few probably are even aware of it.

Modularise it to allow other plugins to register their own tools.

Servers syncing issues

Some queries use UNIX_TIMESTAMP mysql function to add bans, others use the minecraft server time for things like unbans. If the two are different, it may cause syncing to fail.

This would also fix syncing bans across different time zones.

Investigate as part of the refactor.

BanManager #3 (Jenkins) doesn't update web interface

What I did:

  1. Installed Ban Management - successfully configurated with chmod etc. and tested working in database.
  2. Making sure that table names for web interface are the same as in the database.
  3. Ban a player in-game with /ban .

The outcome:
The MySQL database is then updated just fine and the player is banned across all servers (bungeecord).
This information, however, never reaches the web interface. It is completely blank: http://play.denmarkinminecraft.com/banmanagement/index.php

Software:

  • Using BanManager.jar dev version #3 (Aug 30, 2014 8:45:42 PM) and the /banmanagement/ folder from DevBukkit (Feb02) on lastest Spigot and Bungeecord dev builds.
  • PHP Ver 5.5.9-1ubuntu4.3 (cli) (built: Jul 7 2014 16:36:58) with Zend OPcache v7.0.3.
  • MySQL Ver 14.14 Distrib 5.5.38.

Additional info:
There are no error logs from the console, hence this seems to be a web interface-related issue.
I tried changing the Convert option to True, but it lead to an error in the console saying "[BanManager] ipBans table equals ipBansTable, aborting".
Reinstalling, using the old BanManager v4.0 from Feb02, the web interface seems to be working as intended. But how does one get the UUID-supported dev version to work? โ™ -

Pastebin of config.yml
http://pastebin.com/dtXGVSrv

screenshot_database_and_webinterface


Note: I have also posted a copy of this issue, here ->
http://dev.bukkit.org/bukkit-plugins/ban-management/tickets/377-ban-manager-3-jenkins-doesnt-update-web-interface/


Thank you for this thorough plugin.
Do you accept donations?

A few suggestion to help improve administration

As a factions server administrator, i encounter situations where sometimes people need to be punished. While a large majority of players accept their punishments, there are some that don't and then find ways to avoid it. These ideas may help to tackle some of these issues.

  1. A command that bans / tempbans a player and their IP at the same time. This helps with the issue we sometimes encounter with alt accounts. (Alternatively, a command that unbans the player and IP)

  2. When banning an IP, there is a list of accounts related to it within brackets. EG
    Banned IP 123.456.789 (Player1, Player2, Player3) for reason ....

  3. A command that clears specified logs of a player. (Being able to clear a players amount of bans, muted etc)

  4. An integrated automatic level punishment system that could be turned on and off from the config. (Eg. on our server, 3 bans of any kind results in a perm ban) so if this could be automatic and then the ban logs get cleared upon an unban through command.

  5. I see your working on a ban appeal system but i'm not sure how that's going to work so i'll throw in suggestion on how i would go around doing this. (http://puu.sh/6iivQ.png)

Firstly, once a player is banned they automatically get assigned a ban id. This is then shows on the ban screen when they try to connect. Once on the web interface, they can go to an area where they can appeal their ban however they must include a valid ban ID before getting to a page where they are required to answer questions the host can set. Staff on the server (with a permission like bm.notify.appeal) will then receive a message containing a link to the ban appeal where they can accept or deny the application. I don't know if a registration is needed for that however if you were prepared to make one, there could be permissions involved as well. If the ban appeal was accepted, the player would automatically get unbanned and then an icon appear on the ban record. I don't know how hard this is and there may well be easier ways of doing this however this seems pretty solid to me at least.

6)When you issue a command like /banl (l for linked accounts and to keep the command short) it will grab the target players IP, look for accounts linked with the IP and then ban all the accounts linked with the same reason. EG

Player 1: 123.456.789
Player 2: 123.456.789
Player 3: 123.456.789
Player 4: 123.456.789
Player 5: 123.456.555

When i do "/banl player1 advertising" it will grab their IP, (123.456.789) look for linked accounts and then ban them all for the same reason (Player 1, 2, 3, 4)

Modularise bminfo

Split bminfo up. The config message should be a list which is neater and more readable in comparison to using line breaks. Each message should have a permission to view allowing for servers to have more control.

Output ban records, look up players with the same ip and output warnings, not just counts.

[time] variable

I see all the default variables I can use in messages such as [by] to show who performed the action but I want to know if there is one for time. Simply something like [time] that shows when the action was performed.

Migrate Global Bans?

I have an external database for global bans, and since updating to version 5, it doesn't seem to be working. Does it need to have its schema updated too?

Associative accounts.

I would like to request associative accounts. Basically this > http://dev.bukkit.org/bukkit-plugins/iplog/

I'm aware that this already does something like this. But it would be helpful and much more intuitive if associated accounts would be flagged as potential alternate accounts of a banned person. These accounts could be flagged for banning on ban via some arguments or something like this.

Version 5.0 doesn't create tables

using build 2, on first launch, banmanager doesn't create the required tables. Here's the stack trace on startup:

http://pastebin.com/uvEn4MhA

As you can see, it connects to the database fine but fails at:

Table 'banmanager.bm_players' doesn't exist

That table doesn't exist, but since this is the first startup, shouldn't it create that table with the proper schema?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.