ďťż

AZJA 2010 - NOWA WLOCZEGA

Chyba kazdy na csie spotkal sie z cheaterem ale wystarczyl admin zeby go zbanowac i zeby nigdy wiecej nie wrocil ale sa takie rzeczy jak neostrada i netia nie musze chyba tlumaczyc co daja. "W tym temacie chciałem przedstawić jeden z niewielu sposobów na banowanie "graczy", którzy mają możliwość zmiany IP, jak wiadomo konsola admina AMXX na serwerze Non Steam banuje tylko na IP nawet jesli gracz posiada Steam, ban zostanie wykonany na jego adres IP.
Za niezły pomysł uważam banowanie na config gracza.Jak to działa?
Właściwie to nie wiem czy powinienem to pisać, bo jesli jakis cziter tu zajrzy to szybko rozpowrzechni to w swoim małym środowisku cziterów, ale po głębszym zastanowieniu jestem pewien ze gdzies w sieci maja opisane jak ominąć tego bana

Banconfig wkleja do pliku *.cfg gracza komende umieszczona w pluginie, (domyslnie jest to komenda
Kod:
setinfo_ban
ktora odrazu proponowalbym zmienic na cos trudniejszego do wyłapania )
i przy kazdej próbie wejscia na serwer przez osobe zbanowaną wyskakuje komunikat - " Banned ! " bądź informacja o tym ze wprowadzono złe hasło

poniżej zamieszczam kod pluginu:

Kod:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Ban Config"
#define VERSION "1.0"
#define AUTHOR "Alka"

new const gBanKey[] = "_ban";

public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR);

register_concmd("amx_banconfig", "cmdBanConfig", ADMIN_BAN, "<#name/userid> <#time>");
}

public cmdBanConfig(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return 1;

new sArg[32], sArg1[10];
read_argv(1, sArg, sizeof sArg - 1);
read_argv(2, sArg1, sizeof sArg1 - 1);

new iTarget = cmd_target(id, sArg, 8) ;

if(!iTarget)
return 1;

new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());

if(str_to_num(sArg1) <= 0)
iBanTime = 9999999999;

client_cmd(iTarget, "developer 1;wait;setinfo %s %d", gBanKey, iBanTime);

switch(get_cvar_num("amx_show_activity"))
{
case 0: { return 1; }
case 1:
{
new sTargetName[32];
get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);

client_print(0, print_chat, "ADMIN: ban %s.", sTargetName);
}
case 2:
{
new sAdminName[32];
get_user_name(id, sAdminName, sizeof sAdminName - 1);

new sTargetName[32];
get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);

client_print(0, print_chat, "ADMIN %s: ban %s.", sAdminName, sTargetName);
}
}

server_cmd("kick #%d ^"Banned!^"", get_user_userid(iTarget));

return 1;
}

public client_authorized(id)
{
new sInfo[32];
get_user_info(id, gBanKey, sInfo, sizeof sInfo - 1);

if(strlen(sInfo) > 0)
{
if(get_systime() < str_to_num(sInfo))
{
server_cmd("kick #%d ^"Banned!^"", get_user_userid(id));
return;
}
}
}

Do zmiany według własnych upodobań jest:
Kod:
const gBanKey[] = "_ban";

należy zmienic tylko
Kod:
_ban
na własną komendę

caly kod oczywiscie wklejamy do kompilatora pluginów i tworzymy z niego plugin

Jak banować ?
banujemy w konsoli urzywając komendy
Kod:
amx_banconfig <ID gracza, ktore sprawdzamy wpisując w konsoli "status", numer po nicku to jego ID> <czas bana, 0 oznacza "na zawsze">"


Daj źródło
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mkulturalnik.xlx.pl
  •