GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: DaVe - 2012. Február 17. - 22:18:59

Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 17. - 22:18:59

Üdv,
Az elmúlt két hét folyamán két dologra jöttem rá a samp_npc.exe nevû fájl kapcsán. Elõször is, hogy fel lehet küldeni az NPC-ket más szerverekre is (nem tudom hogy ez köztudott dolog-e, nekem újdonság volt :) ), a másik pedig, hogy a szerverekhez hasonlóan be tud tölteni pluginokat.
Egyenlõre viszont két problémám is akadt.Elõször is nem mûködik megfelelõen a teszthez írt plugint. Abban biztos vagyok hogy a program betölti viszont nem hívódik meg a belépési pont, sõt egyik funkció sem (ha csak rendes DLL-t írok akkor valószínüleg meghívódik az alapértelmezett belépési pont de azt még nem próbáltam). A másik problémám pedig, hogy egyenlõre fogalmam nincs hogy tudnám hasznosítani ezeket a dolgokat :)
Az oka hogy mindezt megosztom veletek nagyon egyszerû.Tudomásom szerint eddig még nem igazán próbálkozott ilyennel senki viszont ha mégis rájönne valaki azzal akár árthat is bizonyos szervereknek (nevet nem mondok mert félek kihasználnák de lecrasheltek az egyik tesztem során a játékosok többször is) így nem árt védekezni az ilyenek ellen (ha nem is crashelnek le a játékosok akkor is elég sok slotot le tudnak venni a botok)
Elõször is akkor a védekezéshez használható kód:
 

public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid));
{
new ip[16];
GetPlayerIP(playerid,ip,16);
if(strcmp(ip,\"127.0.0.1\") != 0) Kick(playerid);
}
}

 
Az indításhoz használt paraméterek:
 
-h *ip* -p *port* -n *név* -m *npc miniszkript* -z *szerver jelszava*

 
Az indításhoz használt kódom:
 

// samp-npc.cpp : Defines the entry point for the console application.
//
#include \"stdafx.h\"
#include <Windows.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char * ip = new char[16];
int port = 0;
char * pw = new char[16];
int bots = 0;
cout << \"IP: \";
cin >> ip;
cout << \"\\nPORT: \";
cin >> port;
cout << \"\\nPW(\'changeme\' ha nincs): \";
cin >> pw;
if(strcmp(pw,\"changeme\") == 0) pw = \"\";
cout << \"BOTS: \";
cin >> bots;
cout << \"\\nSTART = F12\";
while(!GetAsyncKeyState(VK_F12)) {}
for(int i = 0; i < bots; i++)
{
char params[51];
sprintf(params,\"\\nBOT: -h %s -p %d -n bot_%d -m npc_bare -z %s\",ip,port,i+60,pw);
printf(params);
ShellExecute(NULL,\"open\",\"samp-npc.exe\",params,0,false);
}
cout << \"\\nSTOP = F12 (ha csak kilepsz akkor fenn maradnak a folyamatok)\";
Sleep(500);
while(!GetAsyncKeyState(VK_F12)) {}
system(\"taskkill /IM samp-npc.exe /F\");
return 0;
}

 
A tesztekhez használt NPC szkriptem:
 

#include <a_npc>
#pragma library test //amxtest.dll
main()
{
}
public OnRecordingPlaybackEnd() {}
public OnNPCConnect(myplayerid)
{
SetTimer(\"RandomMsg\",10000,true);
}
forward RandomMsg();
public RandomMsg()
{
if(random(100) < 50) return 1;
new msg[][128] =
{
    \"Hello there!\",
    \"I\'m a talking zombie. Yay!\",
    \"Brainzzzz\",
\"Arrrrghh\",
\"Wait, am I a zombie?\",
\"Oh god, what a mess!\",
\"Nananananana, BATMAN!\"
};
SendChat(msg[random(sizeof(msg))]);
return 1;
}

 
Mûködésképtelen plugin:
 
#include \"..\\SDK\\amx\\amx.h\"
#include \"..\\SDK\\plugincommon.h\"
#include <fstream>
typedef void (*logprintf_t)(char* format, ...);
 
logprintf_t logprintf;
extern void *pAMXFunctions;
cell AMX_NATIVE_CALL amxtest(AMX* amx, cell* params)
{
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"amxtest()\");
fclose(fileptr);
    logprintf(\"This was printed from the Test plugin! Yay!\");
    return 1;
}
PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports()
{
    return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
}
/*
Pawn Implemeter\'s Guide szerint így kéne de sajnos így sem mûködött
int amx_amxtestInit(AMX *amx)
{
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"amx_amxtestInit()\");
fclose(fileptr);
AMX_NATIVE_INFO amxtest_Natives[] =
{
{\"amxtest\", amxtest},
{0, 0}
};
return amx_Register(amx, amxtest_Natives, -1);
}
int amx_amxtestCleanup(AMX *amx)
{
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"amx_amxtestCleannup()\");
fclose(fileptr);
return AMX_ERR_NONE;
}
*/
PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData)
{
    pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
    logprintf = (logprintf_t) ppData[PLUGIN_DATA_LOGPRINTF];
    logprintf(\" * Test plugin was loaded.\");
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"Load()\");
fclose(fileptr);
    return true;
}
PLUGIN_EXPORT void PLUGIN_CALL Unload()
{
    logprintf(\" * Test plugin was unloaded.\");
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"Unload()\");
fclose(fileptr);
}
AMX_NATIVE_INFO PluginNatives[] =
{
    {\"amxtest\", amxtest},
    {0, 0}
};
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx )
{
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"AmxLoad()\");
fclose(fileptr);
    return amx_Register(amx, PluginNatives, -1);
}
 
PLUGIN_EXPORT int PLUGIN_CALL AmxUnload( AMX *amx )
{
FILE * fileptr;
fileptr = fopen(\"asd.txt\",\"a\");
fprintf(fileptr,\"AmxUnload()\");
fclose(fileptr);
    return AMX_ERR_NONE;
}

 
Hogy megkönnyítsem a tesztelést kicsit belepiszkáltam a samp_npc.exe fájlba, így nem az npcmodes illetve npcmodes/recordings mappákból tölti be a fájlokat hanem közvetlenül a gyökérkönyvtárból. A módosított fájl itt megtalálható: http://solidfiles.com/d/ffff7ca505/
Tesztelve a következõ szervereken:
Fay RPG (egy sem csatlakozott)
See RPG reloaded (max 35 bot csatlakozott de nem spawnoltak (legalábbis nem találkoztam velük),hogy írtak-e a chatbe nem tudom de parancsot tudtak használni, admin/játékosok észre se vették, szerver nem dobálta le õket)
Rough Laugh (max 3 bot csatlakozott és le is spawnoltak, chatbe tudtak írni/parancsot tudtak használni,játékosok nem crasheltek viszont már idegesítette õket a chat floodolása :) )
Egy szerver aminek nem mondom el a nevét (kb 50 bot csatlakozott/le spawnolt,chatbe tudtak írni/parancsot tudtak használni, a szerver elkezdte õket szép sorban ledobálni és úgy az 5. kicknél lecrashelt mindenki)
 
[/quote]
U.I.: See RPG vezetõségét azóta már tudtommal értesítették a dologról és tettek ellene.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: KDDomi - 2012. Február 17. - 22:25:04
Hogy lehet npcket küldeni szerverekre? Csak én nemolvastam vagy az nincs benne?
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 17. - 22:41:05
Vagy használod az általam adott forrás kódot.
(Ha nem áll rendelkezésre fejlesztõi környezet akkor tessék itt van lefordítva)
http://solidfiles.com/d/76b7f66747/
Vagy parancsosort indítasz:
cd *samp_npc.exe mappája*    (/D *meghajtó neve*  ha nem C.\\-n van)
start samp_npc.exe -h *ip* -p *port* -n *név* -m *npc miniszkript* -z *szerver jelszava*
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: KDDomi - 2012. Február 17. - 23:04:18
Nem csatlakoznak az npck :SS
Pedig jó adatokat adok meg az asd.exe-be.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 17. - 23:09:38
server.cfg-ben maxnpc legyen nagyobb mint 0
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: KDDomi - 2012. Február 17. - 23:17:28
5ön van a maxnpc. és igysem csatlakoznak
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 17. - 23:57:02
Akkor a miniszkript nincs megfelelõ helyen. Ha az eredeti samp_npc.exe fájlt használod akkor tedd az npcmodes mappába, ha a módosítottat akkor a gyökérkönyvtárba
(feltételezem saját szervereden teszteled, de ha nem akkor elképzelhetõ hogy a szerver dobja le õket)
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: KDDomi - 2012. Február 18. - 09:18:51
Házi szerveren teszteltem, de ottse jó. leszedtem azt az samp_npc.exe-t beraktam a fökönytárba az asd.exe mellé. megnyitom az asd.exe-t beirom az adatokat --> F12
És ha megynomtam valamit kiir és elkezd laggolni a gépem. de nézem a console-t de nem csatlakozott egy bot sem. pedig a szerveren nincs se jelszó se regisztráció.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 18. - 09:24:58
Én npc-s szerverem is betámadták, hülyeség ilyet írni. Ha valamelyik szerveren alapból nincs npc, akk csinálják meg, hogy ha 1 npc is csatlakozik ban, az én szerveremen meg úgy oldottam meg, hogyha nem az a neve az npc-nek ami csatlakozik amit megadtam, akkor bannolja.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 18. - 09:47:40
GangSteR] neked külön szóltam még a témák nyitása elõtt, hogy hogyan lehet betámadni a szervered. Ha ez után sem tettél lépéseket ellene akkor az a támadás bizony már csak a te hibádból jöhetett létre.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 18. - 14:53:56
Én a betámadáskor nem arra gondoltam mikor te kipróbáltad, hanem egy hacker küldött 2ször is npc-ket fel. Ez elleni védekezés könyü, mint mondtam ha valamelyik szerveren alapból nincs npc, akkor beírja ezt [pawn]if(IsPlayerNPC(playerid)){Ban(playerid);}[/pawn]
Az OnPlayerConnect alá.
Amelyik szerveren meg van npc, lekéri a nevét, és ha olyan npc jön fel, amelyneknem az a neve, akkor BAN.
És így fölösleges lenne ez a dolog, de megkell mongyam hasznos a te kódod is.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: lackos888 - 2012. Február 18. - 15:11:26
Vagy mondjuk ip címét ellenõrzöd, és ha nem az az ipje ami 127.0.0.1 akkor bann:D
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: ChuckNorris - 2012. Február 18. - 16:01:09
\" post=\"226459\" timestamp=\"1329573236\"]
Én a betámadáskor nem arra gondoltam mikor te kipróbáltad, hanem egy hacker küldött 2ször is npc-ket fel. Ez elleni védekezés könyü, mint mondtam ha valamelyik szerveren alapból nincs npc, akkor beírja ezt [pawn]if(IsPlayerNPC(playerid)){Ban(playerid);}[/pawn]
Az OnPlayerConnect alá.
Amelyik szerveren meg van npc, lekéri a nevét, és ha olyan npc jön fel, amelyneknem az a neve, akkor BAN.
És így fölösleges lenne ez a dolog, de megkell mongyam hasznos a te kódod is.
 
[/quote]
De a nevet könnyebb hamisítani.
 

Vagy mondjuk ip címét ellenõrzöd, és ha nem az az ipje ami 127.0.0.1 akkor bann:D
 
[/quote]
Ez le van írva a leírásban, legelsõ példakód. (Csak kick-el)
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Csabesz - 2012. Február 18. - 17:26:54
SA-MP Team helyébe sírnék, hogy ilyen röhejes módon kijátszották a \"védelmi\" vonalakat.(Ha egyáltalán van...(kv. RakNet ami köztudottan szar :D )
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 18. - 17:29:52
\" post=\"226459\" timestamp=\"1329573236\"]
Én a betámadáskor nem arra gondoltam mikor te kipróbáltad, hanem egy hacker küldött 2ször is npc-ket fel. Ez elleni védekezés könyü, mint mondtam ha valamelyik szerveren alapból nincs npc, akkor beírja ezt [pawn]if(IsPlayerNPC(playerid)){Ban(playerid);}[/pawn]
Az OnPlayerConnect alá.
Amelyik szerveren meg van npc, lekéri a nevét, és ha olyan npc jön fel, amelyneknem az a neve, akkor BAN.
És így fölösleges lenne ez a dolog, de megkell mongyam hasznos a te kódod is.
 
[/quote]
Tudom, hogy nem arra gondoltál viszont ha azután sem védekeztél ellene, hogy szóltam róla az nem az én hibám
Egyébként a név ellenõrzés macerás lehet egy olyan szerveren mondjuk ahol nem egy bizonyos sémát követnek a nevek ezért is egyszerûbb az IP cím ellenõrzése.
 

SA-MP Team helyébe sírnék, hogy ilyen röhejes módon kijátszották a \"védelmi\" vonalakat.(Ha egyáltalán van...(kv. RakNet ami köztudottan sz*r :D )
 
[/quote]
Kedves kalcornak írtam üzenetet még múlt héten de nem igazán izgatta...
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: kurta999 - 2012. Február 18. - 17:30:16
Amúgy az alap NPC scriptben (gl_npcs) benne van ez a védelem, hogy csak \"127.0.0.1\" IP címmel engedi fel az NPC-ket :D
---------
Szerintem Kye most a weblapot se nézi, mert December óta nem írt egy kibaszott üzentet sem..
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 18. - 17:43:42
Ahogy láttam, mindig is Y_Less foglalkozott NPC-kel.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: lackos888 - 2012. Február 18. - 17:51:15
Idézetet írta: ChuckNorris date=1329577269\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic

link=topic=21311.msg226459#msg226459 date=1329573236]
Én a betámadáskor nem arra gondoltam mikor te kipróbáltad, hanem egy hacker küldött 2ször is npc-ket fel. Ez elleni védekezés könyü, mint mondtam ha valamelyik szerveren alapból nincs npc, akkor beírja ezt [pawn]if(IsPlayerNPC(playerid)){Ban(playerid);}[/pawn]
Az OnPlayerConnect alá.
Amelyik szerveren meg van npc, lekéri a nevét, és ha olyan npc jön fel, amelyneknem az a neve, akkor BAN.
És így fölösleges lenne ez a dolog, de megkell mongyam hasznos a te kódod is.
 
De a nevet könnyebb hamisítani.
 

Vagy mondjuk ip címét ellenõrzöd, és ha nem az az ipje ami 127.0.0.1 akkor bann:D
 
[/quote]
Ez le van írva a leírásban, legelsõ példakód. (Csak kick-el)
 
[/quote]
Bocsi nemolvastam, azt elfelejtettem, kihagytam, sry:D
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Zsolesszka - 2012. Február 18. - 18:04:34
Bocsánat hogy belekotyogok,
De már 0.3c samp verziónál mellékeltek olyan filterscriptet amiben szerepel olyan kód ami csak localhoston engedi csatlakozni az NPC-ket.
(Ha a bind megvan határozva akkor csak onnan.)
 
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) {
    new ip_addr_npc[64+1];
    new ip_addr_server[64+1];
    GetServerVarAsString(\"bind\",ip_addr_server,64);
    GetPlayerIp(playerid,ip_addr_npc,64);
   
   if(!strlen(ip_addr_server)) {
       ip_addr_server = \"127.0.0.1\";
   }
   if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
       // this bot is remote connecting
       printf(\"NPC: Got a remote NPC connecting from %s and I\'m kicking it.\",ip_addr_npc);
       Kick(playerid);
       return 0;
   }
        printf(\"NPC: Connection from %s is allowed.\",ip_addr_npc);
}
return 1;
}
[/quote]
Ha már 0.3c-nél mellékeltek ilyen filterscriptet akkor õk már tudták hogy lehet csatlakoztatni NPC-ket külsõ IP-címrõl.
Ha választ nem kaptok az egy két hete elküldött levelekre, az azért van mert régebb óta tudnak róla mint ahogy ti észrevettétek.
Ha belegondoltok ez nem éppen hiba hanem egy lehetõség, ugyanis még azt is belehet állítani hogy a szerver melyik ip címekrõl engedélyezzen NPC kapcsolatokat.
Az hogy valakik rosszra használják, az már az õ rossz akarásukat takarja.
Hát röviden csak ennyi.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 29. - 19:28:34
Nem ér semmit a gl_npcs scriptben levõ \"anti bot\".
Megtaláltam azt a hacket, amivel feltudok küldeni szerverekre botokat, a saját szerveremre felküldtem, és nem csinált semmit. Mélyebbre kellett, hogy nyúljak.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 29. - 19:31:25
Nos igen, ha belepiszkálunk még egy kicsit a samp_npc fájlba és módosítjuk a szervernek küldött adatokat úgy, hogy az igazi játékosként érzékeljen akkor fel lehet küldeni botokat, viszont akkor már te sem tudsz igazán védekezni csak ha korlátozod az egy IP-rõl maximálisan csatlakozható játékosok számát, de akkor is feljut pár.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 29. - 19:34:11
Idézetet írta: DaVe date=1330540285\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic
Nos igen, ha belepiszkálunk még egy kicsit a samp_npc fájlba és módosítjuk a szervernek küldött adatokat úgy, hogy az igazi játékosként érzékeljen akkor fel lehet küldeni botokat, viszont akkor már te sem tudsz igazán védekezni csak ha korlátozod az egy IP-rõl maximálisan csatlakozható játékosok számát, de akkor is feljut pár.
 
A \"nagy\" Kalcor alkalmazása a gl_npcs függvény részlet rossz volt bele, az én egyszerû stock-om, amivel lebannolom az NPC-t ha nem azon a néven jön meg mûködik, és lebannolta :D. csak annyit kell hazsnálni FÖLÖSLEGES a plugin meg ezek.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 29. - 19:35:19
\" post=\"232339\" timestamp=\"1330540451\"]

Nos igen, ha belepiszkálunk még egy kicsit a samp_npc fájlba és módosítjuk a szervernek küldött adatokat úgy, hogy az igazi játékosként érzékeljen akkor fel lehet küldeni botokat, viszont akkor már te sem tudsz igazán védekezni csak ha korlátozod az egy IP-rõl maximálisan csatlakozható játékosok számát, de akkor is feljut pár.
 
[/quote]
A \"nagy\" Kalcor alkalmazása a gl_npcs függvény részlet rossz volt bele, az én egyszerû stock-om, amivel lebannolom az NPC-t ha nem azon a néven jön meg mûködik, és lebannolta :D. csak annyit kell hazsnálni FÖLÖSLEGES a plugin meg ezek.
 
[/quote]
Milyen plugin?  :o
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 29. - 19:36:32
Idézetet írta: DaVe date=1330540519\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic

link=topic=21311.msg232339#msg232339 date=1330540451]

Nos igen, ha belepiszkálunk még egy kicsit a samp_npc fájlba és módosítjuk a szervernek küldött adatokat úgy, hogy az igazi játékosként érzékeljen akkor fel lehet küldeni botokat, viszont akkor már te sem tudsz igazán védekezni csak ha korlátozod az egy IP-rõl maximálisan csatlakozható játékosok számát, de akkor is feljut pár.
 
A \"nagy\" Kalcor alkalmazása a gl_npcs függvény részlet rossz volt bele, az én egyszerû stock-om, amivel lebannolom az NPC-t ha nem azon a néven jön meg mûködik, és lebannolta :D. csak annyit kell hazsnálni FÖLÖSLEGES a plugin meg ezek.
 
[/quote]
Milyen plugin?  :o
 
[/quote]
Vagy az a c++-os megoldásod.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Február 29. - 19:37:03
\" post=\"232343\" timestamp=\"1330540592\"]

 
link=topic=21311.msg232339#msg232339 date=1330540451]

Nos igen, ha belepiszkálunk még egy kicsit a samp_npc fájlba és módosítjuk a szervernek küldött adatokat úgy, hogy az igazi játékosként érzékeljen akkor fel lehet küldeni botokat, viszont akkor már te sem tudsz igazán védekezni csak ha korlátozod az egy IP-rõl maximálisan csatlakozható játékosok számát, de akkor is feljut pár.
 
[/quote]
A \"nagy\" Kalcor alkalmazása a gl_npcs függvény részlet rossz volt bele, az én egyszerû stock-om, amivel lebannolom az NPC-t ha nem azon a néven jön meg mûködik, és lebannolta :D. csak annyit kell hazsnálni FÖLÖSLEGES a plugin meg ezek.
 
[/quote]
Milyen plugin?  :o
 
[/quote]
Vagy az a c++-os megoldásod.
 
[/quote]
Szerintem nem írtunk c++-os megoldást védekezéshez
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Február 29. - 19:39:41
Jó m1, az a lényeg ,hogy a Kalcor általi gl_npcs függvény sorozat SEMMIT SEM ér. Mindenki úgy csinálja ahogy mondtam: ha az npc nem azon a néven jön fel amit te megadsz egy NPC-dnek akkor BAN. Nálam mûködött.

Dupla hozzászólás automatikusan összefûzve. ( 2012. Február 29. - 19:47:13 )

Jah, megtaláltam a hibát miért nem mûködött Kalcor megoldása, de inkább az enyémet használjátok!
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: ChuckNorris - 2012. Február 29. - 21:52:21
De a nevet hamisíthatják,nem?
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: lackos888 - 2012. Március 01. - 10:41:29
\" post=\"232348\" timestamp=\"1330540781\"]
Jó m1, az a lényeg ,hogy a Kalcor általi gl_npcs függvény sorozat SEMMIT SEM ér. Mindenki úgy csinálja ahogy mondtam: ha az npc nem azon a néven jön fel amit te megadsz egy NPC-dnek akkor BAN. Nálam mûködött.

Dupla hozzászólás automatikusan összefûzve. ( 2012. Február 29. - 19:47:13 )

Jah, megtaláltam a hibát miért nem mûködött Kalcor megoldása, de inkább az enyémet használjátok!
 
[/quote]
Sztem úgy is meglehetne csinni, hogy van 8 npc a szeródon péld.Számolod, hogy hány npc jut fel, és ha a feljutott npc-k értéke nagyobb mint 8 akk kick az npct..Meg a maxips filterscriptet használod úgy, hogy 1 iprõl 1 játékost engedjen fel.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: ChuckNorris - 2012. Március 01. - 17:14:09
Idézetet írta: lackos888 date=1330594889\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic

link=topic=21311.msg232348#msg232348 date=1330540781]
Jó m1, az a lényeg ,hogy a Kalcor általi gl_npcs függvény sorozat SEMMIT SEM ér. Mindenki úgy csinálja ahogy mondtam: ha az npc nem azon a néven jön fel amit te megadsz egy NPC-dnek akkor BAN. Nálam mûködött.

Dupla hozzászólás automatikusan összefûzve. ( 2012. Február 29. - 19:47:13 )

Jah, megtaláltam a hibát miért nem mûködött Kalcor megoldása, de inkább az enyémet használjátok!
 
Sztem úgy is meglehetne csinni, hogy van 8 npc a szeródon péld.Számolod, hogy hány npc jut fel, és ha a feljutott npc-k értéke nagyobb mint 8 akk kick az npct..Meg a maxips filterscriptet használod úgy, hogy 1 iprõl 1 játékost engedjen fel.
 
[/quote]
De akkor pl. 2/3 testvér nem tud együtt játszani.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Március 01. - 17:21:32
Idézetet írta: ChuckNorris date=1330548741\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic
De a nevet hamisíthatják,nem?
 
Ha mondjuk a szervereden alapból nincs npc akkor megcsinálod ,hogyha 1 npc is megy Ban.
De ha van, és mondjuk Pisti-nek hívják az npc-d, akkor megcsinálod, hogyha egy npc csatlakozik, de a neve nem pont Pistike (ezt strcmp-el, ne strfind-el) akkor Ban.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: ChuckNorris - 2012. Március 01. - 17:27:55
Ezt simán ki lehet találni egy kis logikával és felküldik Pistike néven.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Március 01. - 17:28:58
Idézetet írta: ChuckNorris date=1330619275\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic
Ezt simán ki lehet találni egy kis logikával és felküldik Pistike néven.
 
Ha strcmp-el kérdezed alapból már nincs esély, és ugyebár a samp 2 ugyanolyan nevû játékost nem enged.
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Március 01. - 19:48:15
Mikor kipróbáltam a szervereden elõször akkor elõbb direkt megnéztem milyen néven játszanak az NPC-k és átírtam mert azt hittem te eleve csak ilyen nevûeket engedsz fel pl Zombie_*sorszam*
Ha valakinek nincsenek npci annak nem bannolni kell õket csak a maxnpc-t 0-ra állítani a szerver konfigjában
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Március 01. - 20:40:31
Idézetet írta: DaVe date=1330627695\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic
Mikor kipróbáltam a szervereden elõször akkor elõbb direkt megnéztem milyen néven játszanak az NPC-k és átírtam mert azt hittem te eleve csak ilyen nevûeket engedsz fel pl Zombie_*sorszam*
Ha valakinek nincsenek npci annak nem bannolni kell õket csak a maxnpc-t 0-ra állítani a szerver konfigjában
 
Akkor még nem is tudtam ,hogy létezik ilyen, azután lett a védelmi rendszer.
Én tettem már fel npc-t olyan szerverre ahol 0 volt a maxnpc :D (házi teszt)
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: DaVe - 2012. Március 01. - 21:19:43
\" post=\"232902\" timestamp=\"1330630831\"]

Mikor kipróbáltam a szervereden elõször akkor elõbb direkt megnéztem milyen néven játszanak az NPC-k és átírtam mert azt hittem te eleve csak ilyen nevûeket engedsz fel pl Zombie_*sorszam*
Ha valakinek nincsenek npci annak nem bannolni kell õket csak a maxnpc-t 0-ra állítani a szerver konfigjában
 
[/quote]
Akkor még nem is tudtam ,hogy létezik ilyen, azután lett a védelmi rendszer.
Én tettem már fel npc-t olyan szerverre ahol 0 volt a maxnpc :D (házi teszt)
 
[/quote]
Az általam leírt módszerrel nem lehet, azt már másik programmal csináltad nem? :)
Cím: Külsõ NPC csatlakoztatása | védekezés ellene
Írta: Gang[St]e[R] - 2012. Március 01. - 21:25:03
Idézetet írta: DaVe date=1330633183\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17183\" data-ipsquote-contentclass=\"forums_Topic

link=topic=21311.msg232902#msg232902 date=1330630831]

Mikor kipróbáltam a szervereden elõször akkor elõbb direkt megnéztem milyen néven játszanak az NPC-k és átírtam mert azt hittem te eleve csak ilyen nevûeket engedsz fel pl Zombie_*sorszam*
Ha valakinek nincsenek npci annak nem bannolni kell õket csak a maxnpc-t 0-ra állítani a szerver konfigjában
 
Akkor még nem is tudtam ,hogy létezik ilyen, azután lett a védelmi rendszer.
Én tettem már fel npc-t olyan szerverre ahol 0 volt a maxnpc :D (házi teszt)
 
[/quote]
Az általam leírt módszerrel nem lehet, azt már másik programmal csináltad nem? :)
 
[/quote]
Igen az egy program, méghozzá az, amivel támadják a szerverem. Azzal megadhatod az npc-k nevét, pingjét, stb. ha nem adsz meg pinget automatikusan 65 ezer lesz xD