Przedstawiam wam skrypt mojego autorstwa -
MyBase.
Jest to system rejestracji oparty na plikach. Pomimo tego jest niesamowicie szybki i ca?kowicie niezale?ny od ilo?ci zarejestrowanych graczy. Ka?dy gracz ma swoje unikatowe id, kt?re pomaga serwerowi w b?yskawiczny spos?b odnale?? informacje na jego temat nawet przy 150000 zarejestrowanych graczy co daje w sumie 750000 plik?w.
Dlaczego ta liczba 150000? Poniewa? generowanie takiej ilo?ci fake graczy zaj??o mi a? 2 min i za?mieci?o dysk niemi?o?ernie, dlatego poprzesta?em na tej liczbie. Stwierdzi?em, ?e 150000 zarejestrowanych u?ytkownik?w nie robi najmniejszego wra?enia na moim skrypcie. Dzia?a tak samo szybko jak przy 2 czy 10 graczach. S?dz?, ?e skrypt dzia?a? by tak samo nawet przy 1mln lub wi?cej.
Przejd?my teraz do funkcji jakie posiada owy skrypt.
1. Zabezpieczenia:
Zabezpieczy?em skrypt przed najnowszymi znanymi bugami/cheatami mianowicie: spawn s0beitem, zmiana id dialogu. Jest te? oczywi?cie brak mo?liwo?ci u?ywania komend bez zalogowania si? oraz pisania na czacie. Skrypt r?wnie? ignoruje wielko?? liter tak jak to ma miejsce najcz??ciej w bazach danych, czyli "Kowalski" i "kowalski" to ten sam u?ytkownik. Znale?? mo?na r?wnie? filtrowanie niedozwolonych znak?w.
2. Komendy:
Podstawowe komendy to:
/konto - wszystkie operacje zwi?zane z kontem
/register - rejestracja
/nowehaslo - ustalamy nowe has?o do naszego konta
/nowynick - zmieniamy nick ( tylko raz podczas jednej sesji )
/szukaj [NICK] - Komenda przeznaczona dla administratora. Dzi?ki niej mo?emy zarz?dza? kontem innych graczy poprzez gui :
Zmien nazw? konta - zmieniamy nazw? konta graczowi
Resetuj has?o - ustalamy nowe has?o graczowi
Usu? konto - usuwamy konto graczowi ( potwierdzenie )
Ustaw kase - zmieniamy kas? graczowi
Ustaw punkty - zmieniamy punkty graczowi
Info - informacje na temat gracza
Wszelka rejestracja i zarz?dzanie odbywa si? w zabezpieczonym gui.
3. Informacje:
Mamy do dyspozycji 4 PVary kt?re mo?emy zmienia? i odczytywa? z nich informacje na poziomie innego skryptu czy gamemodu. Skopiuje wycinek ze skryptu:
/**************************************************************************
* Dost?pne PVary to: 'money', 'score', 'regged', 'allow'. *
* Przy czym 'regged' i 'allow' s? tylko do odczytu. *
* Zapisywanie statystyk mo?emy wywo?a? z gamemodu przez funkcje: *
* CallRemoteFunction ( 'SaveMoney', 'i', playerid ); oraz *
* CallRemoteFunction( 'SaveScore', 'i', playerid ); *
* regged == 1 je?li u?ytkownik zarejestrowany *
* allow == 1 je?li u?ytwkonik zalogowany lub niezarejestrowany *
* regged == 1 oraz allow == 0 je?li u?ytkownik niezalogowany *
**************************************************************************/
Tak?e aby zapisa? statystyki u?ywamy funkcji CallRemoteFunction jak wy?ej.
Aby zmieni? lub odczyta? kas?/punkty u?ywamy PVar?w. Nie b?d? tutaj pisa? jak si? ich u?ywa.
Skrypt jest dosy? ?atwy w edycji, wi?c mo?ecie dodawa? sobie nowe kolumny takie jak np. IP gracza, pozycj? itp. Czy tworzy? nowe tabele jak gangi etc.
4. Jakie macie prawa:
Ot?? daj? wam wszystkie mo?liwe prawa. Je?li wam si? spodoba mo?ecie wycina?, kopiowa? rozpowszechnia? itd.
5. Instalacja:
W paczce znajduje si? folder "scriptfiles" a w nim "MyBase". Wa?ne aby folder "MyBase" wraz z tabel?/podfolderem accounts znajdowa? si? w?a?nie w "scriptfiles". Jest tam r?wnie? plik "accounts_default.zip". Jest to czysta i poprawnie skonfigurowana tabela "accounts", je?li co? si? wam popsuje, usu?cie stary folder accounts i na miejsce tego rozpakujcie czyst? tabel?.
Mo?ecie r?wnie? ?ci?gn?? wersj? tabeli z 15 tysi?cami zarejestrowanych graczy:
http://solidfiles.com/d/989ad/
i przetestowa? szybko?? dzia?ania skryptu. U?ytkownicy maj? nazwy "sa0" - "sa14999" a ka?dy z nich ma has?o "15000"
Niestety z przyczyn technicznych nie mog? wstawi? tabeli z 150 tysi?cami graczy poniewa? skompresowany plik wa?y ponad 43mb i nie chce mi si? wrzuca? a i w?tpi?, ?e komu? b?dzie si? chcia?o ?ci?ga?.
Jest za to zakomentowana komenda, kt?ra tworzy 150 ty?. fake graczy. Zobaczycie j? na dole skryptu. Jednak uwaga, serwer tworzy ich ponad 2 min i w tym czasie nie reaguje.
6. Do napisania skryptu zosta? u?yty tylko jeden dodatkowy includ mianowicie 'file.inc' Wi?c nie powinno by? ?adnych konflikt?w. U mnie skrypt kompiluje si? bez ?adnych warning?w czy te? error?w.
7. A oto i w ko?cu download AMX+PWN:
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić
użytkownikowi) |
Wiadomość została ukryta, aby ją przeczytać należy się zalogować. |