Feature #310

Backup bans on gameserver

Added by Olly Ginger 114 days ago. Updated 3 days ago.

Status:Assigned Start:09/14/2008
Priority:Normal Due date:
Assigned to:Erik Minekus % Done:

0%

Category:Game Plugin
Target version:2.0.0

Description

Once a day the plugin should download all of the bans from the webserver, and store them in a simple keyvalues file. Then if the db server goes down, the plugin can read from this file, and and keep blocking people accordingly.

This might be able to be extended to store all of the data (reason, time, etc) so if the database is lost, people can upload a copy of this file that is created to a new SB install, and it will re populate the database with the bans.

History

Updated by Erik Minekus 111 days ago

  • Assigned to set to Erik Minekus
  • Target version set to 2.0.0

Updated by Recon _ 109 days ago

I was going to suggest something like this... What happens if you unban someone and they're still on the local file?

What about the performance hit for people who have 100+ bans? Shouldn't you use SQLite? Even then, I can see a major lag spike when the server decides to download the banlist.

Updated by ZERO ibis 105 days ago

It would be nice if this was made with a few "features" that made it work effectually for any user. The ability to turn it on and off and the ability to set a limit to the types of bans to dl. For example I would like it to update to have only the people who are perma banned. It would be cool if there was an option for it to run at restart and update the file. This way it would occur once a day and if the database goes down those people are still perma banned. I hope to see this implemented in the future.

Updated by Lane Babuder 27 days ago

  • Status changed from New to Assigned

Updated by Max Krivanek 3 days ago

What about the performance hit from a community that has over 5000 bans?

I remember what CS:S RPG did with its little SQLite DB, it sucked the hell out of the server and it was only tracking a few thousand people. Lag was horrible when people joined/left. So if anything you'd have to do save/load in OnMapEnd() so it doesn't affect the people in the server.

Updated by Erik Minekus 3 days ago

It probably wasn't using threaded SQL queries then, it should have no problem with those. We're still figuring out how to do this, but we don't plan on backing up all bans on every server.

Also available in: Atom PDF