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
|
|