Raised This Month: $32 Target: $400
 8% 

[ANY] Threaded Mysql Bans


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author
senseit
Member
Join Date: Aug 2009
Plugin ID:
3119
Plugin Version:
1.2
Plugin Category:
General Purpose
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Allows multiple servers to share a common ban list via existing default mysql servers
    Old 07-28-2012 , 11:38   [ANY] Threaded Mysql Bans
    Reply With Quote #1

    Credits:
    Originally coded by MoggieX - Stripped and rebuilt to be threaded

    Target Audience
    This plugin is aimed at server operators that require to have a single point of reference for all thier game server bans.

    What does it do?
    Writes bans to the MySQL database and kicks any users with matching bans as they attempt to join. For timed bans, the ban will automatically delete itself from the database on the next connection attempt after the ban expires. Each player is checked on connect, if they are a BOT they are ignored. Now times this over 4 or more servers and happy days!

    Compatibility:
    This will work on any sourcemod game.

    Requirements:
    These are out of scope for the install of this plugin, but must be performed for it to work...

    1. A working MySQL Database
    2. A correctly set up 'default' connection to the db in '<mod-dir>/addons/sourcemod/configs/databases.cfg' (see here for more info http://wiki.alliedmods.net/SQL_Admin...#Configuration)

    Commands:
    You can use any normal ban command (E.x. sm_ban, sm_unban, ban, unban). This plugin will catch these commands and overwrite them. So you don't need to tell your admins to use a new command, or unload/modify any base plugins. Plug, and Play.

    How to Install:
    1. Put the mysql_bans.smx file in your plugins directory
    2. On first load the plugin will automatically create a table to store bans in your 'default' connection in databases.cfg. The table columns can be found below.

    Current Version & Changelog
    1 Feb 13 - V1.3
    -Added SQL input validation on fields
    -Now storing player_name in database

    10 Sept 12 - V1.2
    -Fixed bug that caused perm ban users to get unbanned after 2 reconnection attempts

    07 Aug 12 - V1.1
    -Created OnBanClient OnRemoveBan forward calls to redirect normal ban functionality
    -Added console logging

    06 Aug 12 - V1.03
    -Minor change to SQL

    30 July 12 - V1.02
    -Fixed a bug in the code

    28 July 12 - V1.01
    -Fixed a bug in the code


    Code:
    CREATE TABLE IF NOT EXISTS `my_bans` (
        `id` int(11) NOT NULL auto_increment,
        `steam_id` varchar(32) NOT NULL,
        `player_name` varchar(65) NOT NULL,
        `ban_length` int(1) NOT NULL default '0',
        `ban_reason` varchar(100) NOT NULL,
        `banned_by` varchar(100) NOT NULL,
        `timestamp` timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
        PRIMARY KEY  (`id`),
        UNIQUE KEY `steam_id` (`steam_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
    Attached Files
    File Type: sp Get Plugin or Get Source (mysqlt_bans.sp - 2271 views - 6.1 KB)

    Last edited by senseit; 02-01-2013 at 14:04.
    senseit is offline
     


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 17:59.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode