Artykuły jmail's software

[XNova Addon] BasherBaniak

by on wrz.06, 2009, under jFancy / XNova / UGamela / jDrag, PHP / CF / .NET / Java, SQL

AUTOR ZABRANIA PUBLIKOWANIA INFORMACJI O TYM DODATKU NA FORUM XNOVA-SUPPORT.PL

Basher Baniak to dodatek do XNovy zdejmujący kawałek pracy administratora. Postaram się w niniejszym artykule delikatnie przybliżyć działanie, oraz w szczątkowy sposób udokumentować dodatek. Do uruchomienia dodatku jest niezbędna minimalna wiedza z zakresu SQL’a PHP no i oczywiście XNovy.

Najaktualniejszą wersję dodatku znajdziesz pod adresem http://www.jmail.pl/XNova/BasherBaniak/install.zip

Podstawa:

BasherBaniak to dodatek, który automatycznie zlicza, oraz banuje użytkowników, którzy popełnili wykroczenie bashu.

Dokumentacja:

Lista plików:

BasherBaniak.php – zawiera plik php dołączany do skryptu XNova

func_.sql – zawiera funkcję SQL zliczającą bash

fun2_.sql – zawiera funkcję SQL banującą użytkowników

mod_.sql – zawiera zapytania SQL dodające niezbędne dane do tabeli konfiguracyjnej

table_.sql – zawiera zapytanie do utworzenia tabeli przechowującej wpisy o bashu

Logika:

W odpowiednio dodanym miejscu wywołanie funkcji licz_bash_func() powoduje dopisanie lub uaktualnienie jednego wiersza tabeli bash, w której zawierają się informacje o agresorze, dacie ataku, docelowej planecie (rozróżniane po id z tabeli planets), oraz informacje pomocne przy rozróżnianiu juz pozpatrzonych ataków.

W pliku BasherBaniak.php zawiera się logika po stronie php. Zablokowano możliwość wywołania banowania przez dwóch użytkowników poprzez zastosowanie blokady – rozpoznawanie id połączenia z MySQL. Jeżeli na serwerze używamy persistance connection należałoby to zastąpić informacją o id sesji użytkownika, który wywołuje przetwarzanie. Obecnie w tym pliku jest również zaszyte zabezpieczenie, które uniemożliwia wywołanie tego przetwarzania cześciej niż raz na 24 godziny. Inne działanie nie ma sensu, gdyż blokowanie na przykład po 12 godzinach może nie spełniać swoich założeń.

Funkcja licz_bash_fun() przyjmuje jako parametry wejściowe:

id floty agresora (id_floty – fleet_id) w postaci int

gakatykę (galaktyka – fleet_end_galaxy) w postaci int

system (systemm – fleet_end_system) w postaci int

planetę (planeta – fleet_end_planet) w postaci int

typ planety (typ_planety – fleet_end_type) w postaci int

Wszystkie te dane są do pobrania z tabeli prefix_fleets

Funkcja przelicza bash w następujący sposób.

wyciągane jest id agresora -> wyciągane jest id atakowanej planety -> sprawdzamy czy ta planeta już była przez tego agresora atakowana i jeżeli

tak

    wtedy uaktualniamy wpis

nie

    dodajemy nowy wpis

Funkcja zwraca character varying w postaci ‘ok’ – można wykorzystać do dodatkowej weryfikacji.

 

Funkcja BaniakBasherCore() wywoływana jest w celu zbanowania użytkowników, którzy popełnili przestepstwo bashu i przyjmuje parametry:

ilosc atakow (iloscAtakow) w formie int jest to liczba ataków OD KTÓREJ liczony jest bash

ilość dni nieaktywności (iloscDni) w formie int jest to liczba dni jakie muszą upłynąć, żeby gracz został uznany za nieaktywnego w sensie bash’u

ilość dni bana (iloscDniKary) w formie int oznacza liczbę dni na jakąs zostanie nałożony ban

czy ban ma być z urlopem (zUrlopem) w formie int; 0 – brak urlopu, 1 – z urlopem

Funkcja banuje w następujący sposób.

sprawdzamy czy do WCZORAJ zostały popełnione wykroczenia bash -> jeżeli tak to w pętli po cursorze:

dodajemy wpis o banie do tabeli prefix_banned ->aktualizujemy tabelę prefix_users nadając bana -> oznaczamy ataki konkretnego gracza jako obsłużone

koniec pętli po cursorze

Na koniec usuwamy zbędne wpisy (liczba ataków nie przekroczyła limitu ataków), uaktualniamy konfigurację gry aktualizując wpis o ostatnim czasie uruchomienia, aktualizujemy tabelę konfiguracyjną usuwając identyfikator połączenia.

Koniec dokumentacji

Informacje dodatkowe:

- autor dodatku życzy sobie, żeby informacja o dodatku znalazła się w changelogu gry w postaci nazwa dodatku, autor, oraz link do tej strony

- proszę o dopisywanie się do tego postu w której grze dodatek został wykorzystany – linki będą w formie linków – wspierajmy się nawzajem SEO

- proszę o dodanie komentarzy czy dodatek jest przydatny i jeżeli

  tak to czy go rozbudowywać lub tworzyć inne dodatki z serii banujemy automatem

  nie to jakim dodatkiem byłbyś zainteresowany

Miłego życzę

jmail

:, ,

Leave a Reply

Kalendarz

Wrzesień 2009
P W Ś C P S N
« sie   paź »
 123456
78910111213
14151617181920
21222324252627
282930  
Linki sponsorowane:
ethica * katalog * rss * perfumy