Szerző Téma: [Leírás] Játék mód levédése.  (Megtekintve 313 alkalommal)

[Leírás] Játék mód levédése.
« Dátum: 2012. április 22. - 21:09:19 »
0 Show voters
Üdv!
* A védelemhez legalább 0.3b verzió szükséges. (szerver és függvénykönyvtár)
* Amennyiben feltöltöd FTPre a forrástfájlt (.pwn) is, nem érsz semmit a védelemmel, hiszen el tudják távolítani!
* A védelmet a játékmódba kell írnod, hiszen ha filterscript, akkor ki tudják kapcsolni, vagy meg tudják akadályozni, hogy elinduljon..
Ezzel a védelemmel mikor elindul a játékmód, a szervered leellenõriz egy fájlt, (te adod meg linkjét, legyen olyan helyen, ahol csak te férsz hozzá) és ez alapján eldönti, hogy futhat a mód, vagy sem. Ha a válasz negatív, akkor autómatikusan leállítja a szerveredet.
Elsõ lépésként ágyazzuk be az a_http nevû függvénykönyvtárat. Ezt az #include <a_samp> alá írd:
#include <a_http>
A public OnGameModeInit() akkor fut le, mikor elindul a játékmód, ezért ilyenkor ellenõrizzük, hogy van-e jog futni:
print(\"[iHTTP Védelem]: Futtatási jog ellenõrzése...\"); // Ez nem kötelezõ, ha szeretnéd, kihagyhatod.
if (!HTTP(0, HTTP_GET, \"weboldalam.hu/samp/modom_futtatasi_joga.txt\", \"\", \"HTTPCheck\")) print(\"Sikertelen HTTP lekérdezés. A szerver biztonsági okokból leáll.\"), SendRconCommand(\"exit\"); // Itt a tárhelyeden levõ fájl tartalmát próbáljuk kiolvasni. Ha nem sikerül, leállítjuk a szervert.
Most ellenõrizzük a lekért információkat:
forward HTTPCheck(index, response_code, data[]);
public HTTPCheck(index, response_code, data[])
{
if (index == 0) // Ellenõrizzük, hogy a HTTP lekérdezés azonosítója egyezik-e.
{
if(response_code != 200) return printf(\"2. Lekérdezés sikertelen! Hibakód: %i\\nBiztonsági okokból a szerver leáll.\", response_code), SendRconCommand(\"exit\"); // Ha a válaszkód nem 200, akkor nem sikerült a lekérdezés, ezért biztonsági okokból leállítjuk a szervert.
if (!strcmp(data, \"true\", true)) print(\"[iHTTP Védelem]: Futtatási jog megszerezve.\"); // Ellenõrizzük az információt. Ha egyezik azzal, amit megadtunk korábban, megadjuk a jogot.
else print(\"[iHTTP Védelem]: Futtatási jog elutasítva, kérlek lépj kapcsolatba vele: NEVED.\"), SendRconCommand(\"exit\"); // Ha nem egyezik azzal, amivel engedélyezzük, tájékoztatjuk az \"olvasót\" és leállítjuk a szervert.
}
return 1;
}
Ennyi lenne.
Amit aláhúzotan ,dõlten ,félkövéren  írtam, át tudod/kell írni/írnod.
weboldalam.hu/samp/modom_futtatasi_joga.txt - Az ellenõrzendõ fájl elérési útvonala.
true - A fájl tartalma akkor, ha futhat a szerver.
NEVED - Logikusan a neved!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal