Senior Member
Join Date: Nov 2015
Location: return PLUGIN_CONTINUE
02-13-2016
, 00:23
Remove all bans on the server by month
#1
Quote:
Hi guys
For some time I have wanted to do something like this to remove all prohibitions without turning off the server... I would like this process to be done every months automatically, I think it would be a nice plugin
I got my solution, "ConnorMcLeod" had already done long ago what I wanted to do but I've added a tool designed to run this command on the exact date through a "cvar" and also to activate...
PHP Code:
#include <amxmodx>
#define PLUGIN "Bans Reset"
#define VERSION "0.0.4"
#define AUTHOR "ConnorMcLeod & mlibre"
#define ADMIN_FLAG ADMIN_RCON
new g_pCvarBannedCfgFile , g_cvarActive , g_cvarMonth , g_pCvarListipCfgFile
public plugin_init () {
register_plugin ( PLUGIN , VERSION , AUTHOR )
register_concmd ( "amx_reset_bans" , "ConCmd_ResetBans" ) // removes all bans
g_cvarActive = register_cvar ( "amx_reset_bans_active" , "1" ) // 1 = on / 0 = off
g_cvarMonth = register_cvar ( "amx_reset_bans_month" , "31/12" ) // run every December 31
g_pCvarBannedCfgFile = get_cvar_pointer ( "bannedcfgfile" )
g_pCvarListipCfgFile = get_cvar_pointer ( "listipcfgfile" )
}
public plugin_cfg ()
{
if( get_pcvar_num ( g_cvarActive ))
{
new getString [ 11 ], getTime [ 11 ]
get_pcvar_string ( g_cvarMonth , getString , charsmax ( getString ))
get_time ( "%d/%m" , getTime , charsmax ( getTime ))
if( equal ( getTime , getString ))
{
ConCmd_ResetBans ( 0 )
}
}
}
public ConCmd_ResetBans ( id )
{
if( !( get_user_flags ( id ) & ADMIN_FLAG ) )
{
engclient_print ( id , engprint_console , "[AMXX] access denied (only admins)" )
return
}
static szGetCfgFile [ 260 ]
get_pcvar_string ( g_pCvarBannedCfgFile , szGetCfgFile , charsmax ( szGetCfgFile ))
server_cmd ( "writeid;writeip" )
server_exec ()
new buffer [ 64 ], szSteamIdOrIp [ 32 ], crap [ 2 ]
new fp = fopen ( szGetCfgFile , "rt" )
if( fp )
{
while( fgets ( fp , buffer , charsmax ( buffer )))
{
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeid %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeid" )
server_exec ()
}
get_pcvar_string ( g_pCvarListipCfgFile , szGetCfgFile , charsmax ( szGetCfgFile ))
fp = fopen ( szGetCfgFile , "rt" )
if( fp )
{
while( fgets ( fp , buffer , charsmax ( buffer )))
{
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeip %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeip" )
server_exec ()
}
}
v0.0.3 update 04-16-23
PHP Code:
#include <amxmodx>
#define PLUGIN "Bans Reset"
#define VERSION "0.0.3"
#define AUTHOR "ConnorMcLeod & mlibre"
#define ADMIN_FLAG ADMIN_RCON
new g_pCvarBannedCfgFile , g_cvarActive , g_cvarMonth
public plugin_init () {
register_plugin ( PLUGIN , VERSION , AUTHOR )
register_concmd ( "amx_reset_bans" , "ConCmd_ResetBans" ) // removes all bans
g_cvarActive = register_cvar ( "amx_reset_bans_active" , "1" ) // 1 = on / 0 = off
g_cvarMonth = register_cvar ( "amx_reset_bans_month" , "31/12" ) // run every December 31
g_pCvarBannedCfgFile = get_cvar_pointer ( "bannedcfgfile" )
}
public plugin_cfg ()
{
if( get_pcvar_num ( g_cvarActive ))
{
new getString [ 11 ], getTime [ 11 ]
get_pcvar_string ( g_cvarMonth , getString , charsmax ( getString ))
get_time ( "%d/%m" , getTime , charsmax ( getTime ))
if( equal ( getTime , getString ))
{
ConCmd_ResetBans ( 0 )
}
}
}
public ConCmd_ResetBans ( id )
{
if( !( get_user_flags ( id ) & ADMIN_FLAG ) )
{
engclient_print ( id , engprint_console , "[AMXX] access denied (only admins)" )
return
}
static szBannedCfgFile [ 260 ]
get_pcvar_string ( g_pCvarBannedCfgFile , szBannedCfgFile , charsmax ( szBannedCfgFile ))
server_cmd ( "writeid;writeip" )
server_exec ()
new buffer [ 64 ], szSteamIdOrIp [ 32 ], crap [ 2 ]
new fp = fopen ( szBannedCfgFile , "rt" )
if( fp )
{
while( fgets ( fp , buffer , charsmax ( buffer )))
{
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeid %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeid" )
server_exec ()
}
fp = fopen ( "listip.cfg" , "rt" )
if( fp )
{
while( fgets ( fp , buffer , charsmax ( buffer )))
{
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeip %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeip" )
server_exec ()
}
}
v0.0.2 update 02-16-16
PHP Code:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Bans Reset"
#define VERSION "0.0.2"
new g_pCvarBannedCfgFile , cvar_active , cvar_month , string [ 11 ], gettime [ 11 ]
public plugin_init ()
{
register_plugin ( PLUGIN , VERSION , "ConnorMcLeod & mlibre" )
register_concmd ( "amx_reset_bans" , "ConCmd_ResetBans" , ADMIN_RCON , "removes all bans" )
cvar_active = register_cvar ( "amx_reset_bans_active" , "1" ) // 1 = on / 0 = off
cvar_month = register_cvar ( "amx_reset_bans_month" , "31/12" ) // run every December 31
g_pCvarBannedCfgFile = get_cvar_pointer ( "bannedcfgfile" )
set_task ( 0.5 , "run" )
}
public run ( id , lvl , cid )
{
if ( get_pcvar_num ( cvar_active ))
{
check_gettime ( id , lvl , cid )
}
}
public check_gettime ( id , lvl , cid )
{
get_pcvar_string ( cvar_month , string , charsmax (string))
get_time ( "%d/%m" , gettime , charsmax ( gettime ));
if ( equal ( gettime , string ))
{
ConCmd_ResetBans ( id , lvl , cid )
}
}
public ConCmd_ResetBans ( id , lvl , cid )
{
if( ! cmd_access ( id , lvl , cid , 0 ) )
{
return PLUGIN_HANDLED
}
new szBannedCfgFile [ 260 ]
get_pcvar_string ( g_pCvarBannedCfgFile , szBannedCfgFile , charsmax ( szBannedCfgFile ))
server_cmd ( "writeid" )
server_cmd ( "writeip" )
server_exec ()
new buffer [ 64 ], szSteamIdOrIp [ 32 ], crap [ 2 ]
new fp = fopen ( szBannedCfgFile , "rt" )
if( fp )
{
while( ! feof ( fp ) )
{
fgets ( fp , buffer , charsmax ( buffer ))
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeid %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeid" )
server_exec ()
}
fp = fopen ( "listip.cfg" , "rt" )
if( fp )
{
while( ! feof ( fp ) )
{
fgets ( fp , buffer , charsmax ( buffer ))
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeip %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeip" )
server_exec ()
}
return PLUGIN_HANDLED
}
v0.0.1 release 11-09-12
Quote:
Originally Posted by
ConnorMcLeod
PHP Code:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Bans Reset"
#define VERSION "0.0.1"
new g_pCvarBannedCfgFile
public plugin_init ()
{
register_plugin ( PLUGIN , VERSION , "ConnorMcLeod" )
register_concmd ( "amx_reset_bans" , "ConCmd_ResetBans" , ADMIN_RCON , "removes all bans" )
g_pCvarBannedCfgFile = get_cvar_pointer ( "bannedcfgfile" )
}
public ConCmd_ResetBans ( id , lvl , cid )
{
if( ! cmd_access ( id , lvl , cid , 0 ) )
{
return PLUGIN_HANDLED
}
new szBannedCfgFile [ 260 ]
get_pcvar_string ( g_pCvarBannedCfgFile , szBannedCfgFile , charsmax ( szBannedCfgFile ))
server_cmd ( "writeid" )
server_cmd ( "writeip" )
server_exec ()
new buffer [ 64 ], szSteamIdOrIp [ 32 ], crap [ 2 ]
new fp = fopen ( szBannedCfgFile , "rt" )
if( fp )
{
while( ! feof ( fp ) )
{
fgets ( fp , buffer , charsmax ( buffer ))
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeid %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeid" )
server_exec ()
}
fp = fopen ( "listip.cfg" , "rt" )
if( fp )
{
while( ! feof ( fp ) )
{
fgets ( fp , buffer , charsmax ( buffer ))
trim ( buffer )
if( parse ( buffer , crap , 1 , crap , 1 , szSteamIdOrIp , charsmax ( szSteamIdOrIp )) == 3 )
{
server_cmd ( "removeip %s" , szSteamIdOrIp )
}
}
server_exec ()
fclose ( fp )
fp = 0
server_cmd ( "writeip" )
server_exec ()
}
return PLUGIN_HANDLED
}
Last edited by mlibre; 04-17-2023 at 18:34 .
Reason: v0.0.4 update