hlmod.hu
https://hlmod.hu/

Banoló plugin átírás
https://hlmod.hu/viewtopic.php?f=10&t=4706
Oldal: 1 / 1

Szerző:  expert [2012.06.13. 16:51 ]
Hozzászólás témája:  Banoló plugin átírás

Advanced bans plugint úgy szeretném, hogy ha pl egy non steamest lebanolnak ip re de utána ha ugyan az felakar jönni steam-mel akkor azt engedje be a szerverre!!
Ez olyanoknak lenne jó mint nekem pl ahol egy városban ugyan az az ip je mindenkinek és ha valaki cheatel és lebanolják mert ns akkor a többi se tud arra a szerverre felmenni hiába nekem van steamem !!
Magyar szervereken így van mostmár megolva épp erre az esetekre !!
itt az a rész ahol ellenőrzi a játékos ip-és Steam-id jét
Kód:
  1. public client_authorized(client)

  2. {

  3.         static authid[35];

  4.         get_user_authid(client, authid, sizeof(authid) - 1);

  5.        

  6.         static ip[35];

  7.         get_user_ip(client, ip, sizeof(ip) - 1, 1);

  8.        

  9.         #if MAX_BANS > 0

  10.         static banned_authid[35], bool:is_ip;

  11.         for( new i = 0; i < g_total_bans; i++ )

  12.         {

  13.                 copy(banned_authid, sizeof(banned_authid) - 1, g_steamids[i]);

  14.                

  15.                 is_ip = bool:(containi(banned_authid, ".") != -1);

  16.                

  17.                 if( is_ip && equal(ip, banned_authid) || !is_ip && equal(authid, banned_authid) )

  18.                 {

  19.                         static name[32], reason[128], unbantime[32], admin_name[32], admin_steamid[64];

  20.                         copy(name, sizeof(name) - 1, g_names[i]);

  21.                         copy(reason, sizeof(reason) - 1, g_reasons[i]);

  22.                         new banlength = g_banlengths[i];

  23.                         copy(unbantime, sizeof(unbantime) - 1, g_unbantimes[i]);

  24.                         copy(admin_name, sizeof(admin_name) - 1, g_admin_names[i]);

  25.                         copy(admin_steamid, sizeof(admin_steamid) - 1, g_admin_steamids[i]);

  26.                        

  27.                         PrintBanInformation(client, name, banned_authid, reason, banlength, unbantime, admin_name, admin_steamid, true, true);

  28.                        

  29.                         set_task(get_pcvar_float(ab_bandelay), "TaskDisconnectPlayer", client);

  30.                         break;

  31.                 }

  32.         }

  33.         #else

  34.         static array_pos;

  35.        

  36.         if( TrieGetCell(g_trie, authid, array_pos) || TrieGetCell(g_trie, ip, array_pos) )

  37.         {

  38.                 static data[BannedData];

  39.                 ArrayGetArray(g_array, array_pos, data);

  40.                

  41.                 PrintBanInformation(client, data[bd_name], data[bd_steamid], data[bd_reason], data[bd_banlength], data[bd_unbantime], data[bd_admin_name], data[bd_admin_steamid], true, true);

  42.                

  43.                 set_task(get_pcvar_float(ab_bandelay), "TaskDisconnectPlayer", client);

  44.         }

  45.         #endif

  46. }

Szerző:  Metal [2012.06.14. 15:31 ]
Hozzászólás témája:  Re: Banoló plugin átírás

"Magyar szervereken így van mostmár megolva épp erre az esetekre !!" <- 1et mondj

A forráskód alapján én úgy látom ez megoldja a problémát. beteszed Advanced Bansba s kész.

Szerző:  expert [2012.06.14. 17:43 ]
Hozzászólás témája:  Re: Banoló plugin átírás

Ezt abból másoltam ki Metal! csak ezzel az a baj, hogy ha az ip je benne van a banolt listában és hiába van steam id je akkor sem engedi be.

Szerző:  Metal [2012.06.15. 08:31 ]
Hozzászólás témája:  Re: Banoló plugin átírás

Ha abból másoltad ki, akkor fel kéne tudnia engedni. A banlista s ennek a listája két külön dolog.
A banlista a szerverbe épített file tartalmazza, ami alapeetben betöltődik a server cfg által 8ha benne van az exec), s onnantól kezdve futásidőben frissül, ha adsz/leveszel banokat.
Ez meg egy külön fájlban tárolja az IPket, s mikor valaki benne van a fájl listájában, akkor kidobja. (Mondjuk ahogy elnézem ez nem tesz különbséget ID/IP között, ergó kell csinálni egy ellenőrzést, hogy steam-es e a felhasználó. Ha igen. akkor return-nel abbahagyod a futtatását a fgvnek, ha nem, akkor minden marad a régiben.
Természetesen ezek után az advanced banst is át kell írni, hogy ne banoljon, hanem kickeljen, s frissítse a file tartalmát, ne pedig a banlistához vegye a szerencsétlen deninkvenst. Annyit még megjegyeznék, hogy akkor csak azzal szabad banolni, HLSWs bant kerülni kell ebben az esetben.

Szerző:  expert [2012.06.15. 09:59 ]
Hozzászólás témája:  Re: Banoló plugin átírás

Nekem az advanced bans MYSQL re ment és anno iron irta át, hogy több szerver ban ja egy helyre menjen és így ha lebanolnak valakit egyik szerverről akkor a többire se tud felmenni. Na és akkor ezt nehéz lenne átírni Metal? Segitenél benne ?

Szerző:  Metal [2012.06.15. 10:35 ]
Hozzászólás témája:  Re: Banoló plugin átírás

Azt nagyon nem kellett átírni, mivel eleve van ilyen funkciója, csak be kell állítani....
Segítettem: Adtam támpontokat, amik alapján ki tudsz indulni. Ha valaki konkrétan vesződik is vele, úgyis segít, s postolja a kódot. Nekem időm nincs erre, csak 2-3 hét után tudok aktívabban részt venni kódgenerálásban.

Szerző:  expert [2012.06.15. 10:51 ]
Hozzászólás témája:  Re: Banoló plugin átírás

Rendben Metal és köszi az infókat.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/