LogBlock
[Oryginalny autor: Jaszczur]
LogBlock pomaga on nam z walką z grieferami, czyli graczami którzy niszczą innym graczom efekty ciężkiej pracy. Plugin rejestruje poczynania graczy, jakie bloki zniszczyli, jakie postawili, co kładli do skrzyń, co wyjmowali. Zapisuje też kiedy i gdzie miało to miejsce. Takie zarejestrowane zdarzenia można cofnąć, więc jeśli jakiś gracz coś zepsuje to można to szybko naprawić.
Żeby plugin działał potrzebujemy bazy danych. W tym celu logujemy się do panelu craftserve, po wyborze serwera klikamy na ustawienia:
Będą nam potrzebne, Host, User, Host i Hasło zapiszmy je sobie, np. w notatniku.
Konfiguracja pluginu
Parę ważnych rzeczy zanim zaczniecie edytować pliki konfiguracyjne. Pliki te są w formacie YML, należy zachować odpowiednią ilość spacji w cięciach w poszczególnych wersach. Jeśli ustawiasz np. nazwę usera do bazy danych to widzisz tam dwie na początku linijki, niech tak pozostanie. Analogicznie tyczy się to wszystkiego co jest w plikach YML
Podpięcie LogBlock do bazy MySQL
Otwierając plik konfiguracyjny config.yml w folderze z pluginem, szukajcie linijki „mysql„. Pod nią wpisujecie takie rzeczy jak nazwa użytkownika bazy MySQL, hasło tego użytkownika, port bazy, adres bazy oraz nazwę bazy danych.
port: 3306 (Port bazy MySQL)
password: HASŁO UŻYTKOWNIKA BAZY
user: NAZWA UŻYTKOWNIKA BAZY
database: NAZWA BAZY DANYCH
host: adres serwera mysql
Narzędzia do sprawdzania logów
Domyślnie przedmiotami do sprawdzania logów są BedRock i drewniany kilof. Można je zmienić na inne przedmioty w pliku konfiguracyjnym LogBlock. Pod linijką „tools” w standardzie znajdują się wcześniej zdefiniowane domyślnie dwa narzędzia
leftClickBehavior: TOOL (Czynność, jaką wykona przedmiot po kliknięciu lewym przyciskiem myszy)
toolblock:
item: 7 (7 to ID BedRock)
params: area 0 all sum none limit 15 desc silent (Polecenie wywołania logów z bazy danych)
rightClickBehavior: BLOCK (Czynność, jaką wykona przedmiot po kliknięciu prawym przyciskiem myszy)
aliases: (Aliasy do komendy przywołującej ten przedmiot jak np. /lb tb)
defaultEnabled: true (Czy przedmiot ma być domyślnie dostępny)
mode: LOOKUP (Tryb działania przedmiotu, lookup to standardowy sposób LogBlock)
canDrop: false (Czy gracz jest w stanie wyrzucić ten przedmiot)
Definicja map na których LogBlock ma rejestrować zmiany
Dobrze jest ustawić żeby LogBlock zapisywał dokonywane zmiany tylko na tych mapach na których jest to ważne, im więcej podamy map, to tym większe będzie obciążenie dla serwera. Ustawień tych dokonujemy jak zwykle w pliku konfiguracyjnym pluginu.
Co ma zapisywać LogBlock
Dla każdej mapy możemy zdefiniować co ma być zapisywane w logach. W katalogu z pluginem mamy pliki, ich nazwy odpowiadają naszym mapą. Tak więc w moim przypadku w pliku spawn1.yml dokonujemy co ma być zapisywane w logach na tej mapie. Słowo false oznacza że dana rzecz nie będzie zapisywana, true oznacza że będzie zapisywana.
logging: TNTEXPLOSION: false (zniszczone przez wybuch TNT)
LEAVESDECAY: false (zanikanie liści z drzewa)
MISCEXPLOSION: false (Loguje inne typy eksplozji)
SNOWFORM: false (Loguje powstawanie śniegu/lodu)
NATURALSTRUCTUREGROW: false (naturalnie powstające struktury jak np. drzewa)
KILL: false (Loguje śmierć graczy – Zależny od zdefiniowanego w pliku konfiguracyjnym)
FIRE: true (Loguje ogień)
CHAT: false (Loguje czat)
WATERFLOW: true (Loguje bloki zniszczone przez wodę)
BONEMEALSTRUCTUREGROW: false (struktury powstające z użyciem Bone Meal)
BLOCKPLACE: true (Loguje stawianie bloków przez graczy)
ENDERDRAGON: true (Loguje bloki zniszczone przez EnderDragona)
DIODEINTERACT: false (Loguje interakcje w Redstone Repeater)
SNOWFADE: false (Loguje zanikanie lodu/śniegu przez źródła światła)
CHESTACCESS: true (Loguje zmiany w skrzyni)
ENDERMEN: false (Loguje bloki zabrane i postawione przez Endermana)
SIGNTEXT: true (Loguje treść znaków) LAVAFLOW: true (Loguje bloki zniszczone przez lawę)
CAKEEAT: false (Loguje graczy jedzących ciasto)
BLOCKBREAK: true (Loguje bloki zniszczone przez gracza)
SWITCHINTERACT: true (Loguje graczy wciskających przycisk, płytkę naciskową czy ruszających dźwignie)
NOTEBLOCKINTERACT: false (Loguje graczy używających Note Block)
GHASTFIREBALLEXPLOSION: true (Loguje bloki zniszczone przez Ghasta)
CREEPEREXPLOSION: true (Loguje bloki zniszczone przez Creepera)
DOORINTERACT: true (Loguje kto otwierał i zamykał drzwi) table: lb-world (Nazwa tabeli w bazie danych, w której będą zapisywane wszystkie dane)
Pamiętaj że jak np. nie włączysz zapisywania logów skrzyń to nie ustalisz kto jest złodziejem.
Użycie
Domyślną różdżka w LogBlock jest BedRock. Od chwili poprawnej konfiguracji plugina i zresetowaniu serwera będzie on rejestrował nasze poczynania na serwerze.
Komendy:
/lb hide
Twoje poczynania nie będą zapisywane w logach. Nie polecam korzystania z tej funkcji ponieważ nie cofniesz swoich zmian, możesz zapomnieć że coś wyjąłeś ze skrzyni i wina spadnie na kogo innego
/lb lookup player Jaszcur
Wyświtli wszystkie ingerencje gracza Jaszcur
Przykład użycia:
/lb help
pomoc
/lb player <nick> area <wartość> chestaccess
Wyświetli logi skrzyń znajdujących się w danym obszarze z pominięciem wskazanego gracza
/lb next
następna strona logów
/lb prev
poprzednia strona logów
/lb page wartość
przenosi nas do konkretnej strony
/lb sum players area 20
wyświetla sumę zniszczonych i stworzonych bloków przez graczy w danym obszarze
/lb area 20 player <nick> sum blocks
wyświetla sumę bloków danego gracza
/lb area <wartość>
wszystkie zmiany w danym obszarze
/lb area <wartość> destroyed/created
stworzone/zniszczone bloki w danym obszarze.
/lb toolblock <on|off>
off wyłącza nasz toolblock, przedmiot staje się normalny, możemy np. BedRocka używać go do budowy
on włącza toolblock
/lb me
Wyświetla nasze statystyki, ile zniszczyliśmy oraz stworzyliśmy bloków.
Przykład użycia komendy /lb me
Możemy się dowidzieć że np. stworzyliśmy 14 bloków wełny, a 4 zniszczyliśmy
/lb player <you> sum blocks
działa podobnie jak /lb me, z różnicą że zamiast nas możemy wskazać jakiegoś gracza
Wykorzystanie LogBlock w praktyce
Sprawdzanie pojedynczych bloków
Żeby sprawdzić kto postawił dany blok wystarczy że weźmiemy BedRocka, otrzymamy go wpisując /lb toolblock, bierzemy go w ręke i klikniemy lewym klawiszem myszy na danym bloku. Wyświetli nam się informacja kto postawił dany blok w danym miejscu, czy były w tym miejscu inne bloki wcześniej, kto je zniszczył bądz postawił.
Z informacji przedstawionym na powyższym sreenie dowiadujemy się, że gracz Jaszcur postawił szarą wełne, następnie ją znieszczył, postawił różową w tym samym miescu, zniszczył i na koniec postawił zieloną.
Cofanie zmian dokonanych przed konkretnego gracza
Załóżmy że ktoś zepsuł komuś domek. Jak dowiedzieć kto to zrobił i naprawić wyrządzone szkody bez przywracania backupa mapy.
Idziemy w miejsce gdzie jest zniszczony domek i piszemy
/lb area 5
Wyświetlą się informacje o tym kto niszczył lub stawiał bloki w promieniu 5 bloków od nas. Załóżmy że ustaliliśmy że gracz Ferdek zniszczył domek. Piszemy
/lb rollback player Ferdek since 1 d
Po użyciu tej komendy zostaną cofnięte wszystkie zmiany jakie dokonał gracz Ferdek na serwerze w ciągu ostatniego dnia.
Kto okradł skrzynie
Czasem przydała by się nam informacja kto okradł skrzynie. Nic prostszego. Podchodzimy do skrzyni i naszą różdżką klikamy na skrzynie. Jeśli skrzynia była używana pokarzą nam się logi, gdzie put oznacza że coś było wkładana do niej, a took że coś było wyjmowane.
Po użyciu BedRocka widzimy że gracz Jaszczur włożył do skrzyni płyte, a trzy minuty później gracz sQubany pożyczył sobie ją.
A co jeśli mamy powiedzmy 20 skrzyń jedna obok drugiej i jesteśmy na 100% pewni że nas ktoś okradł, ale nie wiemy z której ze skrzyń dokonano kradzieży. Przypuśćmy że nasz nick to Jaszcur, stajemy pośrodku skrzyń i piszemy
/lb player jaszcur area 10 chestaccess
Wyświetlą sie logi skrzyń w promieniu 10 kratek z pominięciem naszych zmian dokonywanych w skrzyniach.
Jak widać nie ma informacji o tym że garcz Jaszcur włożył płyte do skrzynie, wyświetlo tylko kto ją wziął
Podpalenia
Mamy podpalacza, nie problem ustalić kto nim jest. Idziemy na miejsce zdarzenia i piszemy
Teraz cofnijmy skutki pożaru. W tym celu zaznaczamy domek używając WordEdit, pamiętajmy o //expand. Piszemy:
/lb sel
Dobra, nie wyświetliło na tej stronie kto podpalił domek, ale mamy 6 stron logów. Musimy wyświetlić kolejną stronę, w tym celu piszemy:
/lb next
Dopiero na szóstej stronie znajdujemy podpalacza
Winowajcą jest Jaszcur. Dobra, teraz cofnijmy skutki wyrządzone tylko przez ogień w zaznaczonym miejscu.
/lb rollback sel player fire
Domek zniszczył ogień, Jaszcur tylko podłożył ogień. Cofamy więc skutki gracza fire.