Git Product home page Git Product logo

banstick's People

Contributors

lazersmoke avatar maxopoly avatar programmerdan avatar protonull avatar tealnerd avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

banstick's Issues

Unbanning is unintuitive/labor intensive

I have had several cases of players showing up and saying that the game is telling them they're banned, whether manually (such as for hacking) or automatically (such as for multiaccounts)

When I type /forgive [name] it tells me "[name] isn't banned" (but yes, they are)
When I type /forgive [their IP address on record from /lovetap] it tells me "0 accounts forgiven"

Then they try to log on again and still are banned.

I have transitive bans on and am using bungee, but most cases, they were banned in the main first login world anyway and commands still don't work even there.

Ban Dirty Save performance is very bad

When using /bansave or shutting down the server, BanStick hangs on Ban Dirty Save for a very long time.

It appears to not batch properly, as in it saves each dirty ban one at a time in its own SQL query, since SQL show processlist always reports one or two queries running for 0ms. This is probably because dirtyBans is being populated by one of the scrapers at the same time as it is being consumed by the saveDirty method, creating a race condition between adding the next ban from the scraper and saving the next ban. If the saving wins,, it finishes the loop and exits. If the scraper wins, it continues the loop, which is the observed behavior.

java.sql.SQLException: Can't create table `central`.`bs_player` (errno: 150 "Foreign key constraint is incorrectly formed")

https://www.toptal.com/developers/hastebin/fipikiroca.sql

The "Bastion" plugin was misbehaving. According to other issues, the developer did not care to make it compatible with MySQL or something. They suggested the player change to MariaDB. I went through the pain of changing everything over to MariaDB, and now this plugin is throwing a fit.

The database is clean, brand new. just installed this crap.

Pre-pardoning shared isn't working

If you pardon an account from future sharing, those future accounts are still getting banned even though the share count should be reduced by one via the pre-pardoned share exemption.

Bizarre SQL error we can't figure out

We had 6 exclusions in bs_exclusion, and types a command "/untangle [4 names]"
It said in game in green "it worked!" text that it added 4 exclusions and deleted 6 exclusions.

But in the logs, it says

[09:15:37] [Server thread/ERROR]: [BanStick] Removal of Exclusion failed: 171
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for th
e right syntax to use near '* FROM bs_exclusion WHERE eid = 171' at line 1

the only part of the code mentioning "removal of exclusion failed" though is BSExclusion class, which only mentioned a DELETE statement, not a SELECT, and no "*", so ... wat?

and why would it have a problem here anyway? And why would it report that it worked when it didn't?

Transitive bans not working

I have had the config setting true since launch for transitive bans

When people are banned,it works for those names/IPs, but they are able to transitively still log on for anything not directly specified. I.e. vanilla banning works, transitive doesn't.

Banning applies immediately across servers with a shared DB, unbanning does not

Presumably, the plugin checks the actual database for logins, so a DB update on banning propagates (although I'm not sure if it is instant or not, actually). But when I unban somebody, it does not propagate and they are still blocked from logging onto a different shard. I have to go teleport aruond and unban them from every shard.

It is possible that if I only did it in one place, it would figure it out over the course of a day or something, but I can't rely on that, because I don't know if they'll log in somewhere while I'm waiting for updates to spread.

I would suggest that manually typed out bans and forgives by admins should both probably immediately update the database. It seems unnecessary to cache updates for something that only admins can type and that they only type once every few hours or days.

Unless I just got lucky, and logins are only using the cache, in which case dunno what to suggest

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.