AuthMe czy LoginSecurity – Co jest lepsze i dlaczego?

Oba pluginy służą do teoretycznie tego samego, ale który jest lepszy i dlaczego? Postaram się w tym wpisie porównać oba pluginy i podać różnice między nimi.

AuthMe

Standardowy plugin do logowania używany przez wiele serwerów. Póki co aktualizowany jedynie poprzez wersje developerskie na stronie https://ci.codemc.io/job/AuthMe/job/AuthMeReloaded/ . Wersje udostępnione na bukkit.org czy spigotmc.org zatrzymały się na 19 kwietnia 2019 roku, czyli wersja udostępniona na tych witrynach jest zgodna z maksymalnie wersją 1.13. Powyżej tych wersji zalecane jest używanie wersji Developerskiej.

Jak wygląda konfiguracja tego pluginu?

Jest dość rozbudowana. Nie będę podawał tu całej konfiguracji ponieważ jest to z 570 linijek kodu, opisze to po krótce na podstawie najnowszej wersji developerskiej. Na samym początku configu w sekcji DataSource wybieramy czy dane graczy naszego serwera mają być zapisywane po SQLite czy MySQL.

W ExternalBoardOptions możemy ustawić polączenie pluginu na logowanie z forum serwera. 

W settings wybieramy czas sesji (limit czasu po którym będziesz musiał/a się zalogować), język, połączenie z vault, poziom zapisywania logów z pluginu, zadania asynchroniczne, ustawienia nazwy serwera (potrzebne do przykładowo Google Authenticator, bo taka funkcja jest dostępna w wersji developerskiej), restrykcje (czyli czy gracz może pisać przed zalogowaniem lub widzieć czat), dozwolone komendy, ilość kont na jedno IP, minimalna i maxymalna długość nicku, wymagana jedna sesja i parę innych mniej ważnych ustawień. Sekcja ta jest dość rozbudowana i możemy wiele rzeczy w niej ustawić. Jeśli chodzi o język, to pliki messages_pl.yml oraz help_pl.yml  musimy sobie pobrać te pliki ze strony https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pl.yml i https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/help_pl.yml wgrać do folderu /plugins/authme/messages

W GroupOptions możemy ustawić sprawdzanie uprawnień i stworzyć coś w rodzaju specjalnej rangi po zarejestrowaniu. Może się to przydać do stworzenia trybu gościa.

W E-Mail ustawiamy standardową możliwość przypominania hasła poprzez E-Mail. Warto to włączyć, choć z doświadczenia powiem wam, że gracz z góry zakłada, że to pewnie jakaś subskrypcja spamu i niemal zawsze wpisywany jest tam mail, na który nigdy nie dojdzie przypomnienie hasła.

W Hooks ustawiamy połączenia z innymi pluginami, jeśli takie mamy wgrane, czyli przykładowo multiverse, bungeecord czy essentials.

W Protection ustawiamy zabezpieczenia, czyli blokady krajowe i antybotowe.

W purge możemy ustawić automatyczne usuwanie kont z bazy danych, po ustalonym przez nas terminie.

W Security dostępne są ustawienia bezpieczeństwa, na wypadek błędu łączenia z bazą danych i nie tylko.

Reszta ustawień zwykłemu adminowi serwera do niczego się nie przyda i lepiej nie zmieniać tego co twórca ustawił domyślnie. Na samym końcu mamy jeszcze konwerter baz danych z innych pluginów, w tym ze wspominanego we wpisie LoginSecurity.

Podsumowując konfiguracja AuthMe jest bardzo rozbudowana. Możemy plugin połączyć z logowaniem na forum, możemy ustawić automatyczne usuwanie kont z bazy i wiele innych rzeczy, a jak to wygląda w LoginSecurity? Przekonamy się za chwilę.

LoginSecurity

Mniej znany plugin, będący alternatywą dla AuthMe. Tak jak AuthMe służy do tego samego. To co rzuca się w oczy, to mniej rozbudowana konfiguracja w porównaniu z AuthMe składająca się z pliku config.yml i database.yml. Pierwszy plik ma niecałe 50 linijek. Łatwiej też go ustawić, ingerencja twórcy serwera ogranicza się głównie do zmiany języka (W tym przypadku nic nie musimy dogrywać, bo plugin ma sam w sobie wbudowaną bazę kilkudziesięciu języków – w tym język Polski). Domyślne ustawienia możemy w zupełności zostawić.  Jeśli chodzi o komendy, to są one takie same w obu pluginach, więc nie ma problemu jeśli chodzi o przejście z jednego na drugi. Bazę AuthMe można skonwertować w AuthMe do LoginSecurity (służy do tego sekcja converter na końcu ustawień pluginu AuthMe)

Więc tak, opiszmy samą konfigurację pliku config.yml tego prostego pluginu:

W register mamy możliwość ustawienia czy rejestracja jest wymagana, czy włączona ma być catpcha przy rejestracji i czy musimy potwierdzać hasło przy rejestracji.

W login ustawiamy ilość prób logowania czy wymóg zalogowania dla użytkowników o tej samej nazwie co zarejestrowany.

W password ustawiamy minimalną i maksymalną długość hasła.

W join ustawiamy efekt blindness (Zaciemnienie ekranu w grze) dla niezalogowanych, domyślną lokalizację, ukrywanie ekwipunku dopóki się nie zalogujemy.

W username podobnie jak w AuthMe ustawiamy flitr znaków specjalnych, minimalną i maksymalną długość nicku.

W command-shortcut ustawiamy skróty komend logowania i rejestracji.

W updater ustawiamy kanał aktualizacji pluginu – wersja stabilna, beta, alfa.

W session-timeout ustawiamy czas sesji przy wystąpieniu timed-out (Przekroczenie limitu czasu)

W login-timeout ustawiamy limit czasu na zalogowania.

W login-message-delay ustawiamy częstotliwość wiadomości logowania.

No i ostatnia część konfiguracji, czyli język. W  language wystarczy jedynie zmienić en_us na pl_PL i już mamy język Polski, proste prawda?

Jeśli zostawiamy domyślną bazę SQLite zapisywaną na dysku, to pliku database.yml nie musimy ruszać, ale jeśli chcemy ustawić bazę MySQL, to wpisujemy dane bazy danych i to tyle.

Co wybrać?

Bezpieczeństwo

Jeśli chodzi o bezpieczeństwo, to AuthMe jest najpopularniejszym systemem, ale też ta jego popularność sprawia, że pada ofiarą ataków ze strony cheaterów, ale też i równie często naprawiany jest poprzez wersje developerskie, Plugin ten swego czasu kiedyś powodował duplikację itemów u graczy. Twórca jeszcze coś tam działa w temacie aktualizacji, ale wciąż są to wersje developerskie, a wersja stabilna nie wyszła od roku. Mniej popularny plugin LoginSecurity, ale wciąż z aktualizacjami do stabilnych wersji, to moim zdaniem większe bezpieczeństwo,  ale też nie do końca, bo mniejsza popularność pluginu powoduje, że błędy są wykrywane po prostu dużo wolniej niż w przypadku AuthMe. Tutaj decyzja należy do Was, bo nie istnieją pluginy bez blędów i luk i tak naprawdę człowiek złamie wszystko. Jeden i drugi plugin ma wsparcie, możecie używać albo tego, albo tego.

Konfiguracja

Zdecydowanie tutaj polecam początkującemu twórcy serwerów użycie LoginSecurity. Dlaczego? Konfiguracja jest banalnie prosta i ułożona tak, że każdy początkujący twórca serwerów sobie z nią poradzi. AuthMe jest dla bardziej zaawansowanych twórców serwerów i posiada dość rozbudowaną konfigurację, którą nie każdy ogarnie tak szybko jak w przypadku LoginSecurity. Więc w tym przypadku wygrywa LoginSecurity. Jego konfiguracja i działanie w zupełności nam wystarczy.

No to co wybrać?

Jesteś początkującym twórcą serwerów bądź lubisz minimalizm i proste rozwiązania? Wybierz LoginSecurity

Jesteś zaawansowanym twórcą serwerów bądź lubisz posiadać rozbudowane pluginy? Wybierz AuthMe

Tabelka porównawcza

AuthMe

  • Zaawansowana konfiguracja
  • Przeładowanie funkcjami, z których pewnie w większości nie skorzystasz
  • Większy rozmiar pluginu (6.94 MB)
  • Większa popularność pluginu
  • Pliki językowe trzeba pobierać
  • Szybsze wyłapywanie błędów przez społeczność
  • Ostatnia stabilna wersja z 19 kwietnia 2019 roku

LoginSecurity

  • Prosta konfiguracja
  • Prosty plugin, z podstawowymi funkcjami
  • Mniejszy rozmiar pluginu (275 KB)
  • Mniejsza popularność pluginu
  • Pliki językowe są wbudowane w plugin (27 języków – w tym Polski)
  • Wolniejsze wyłapywanie błędów (Plugin mniej popularny, co za tym idzie błędy wyłapywanie są wolniej)
  • Ostatnia stabilna wersja z 27 kwietnia 2020 roku

Podsumowanie

LoginSecurity to dość fajna alternatywa. Sam od zawsze używam AuthMe, ale gdybym dzisiaj robił serwer jako początkująca osoba, to wybrałbym właśnie LoginSecurity z uwagi na jego prostotę i mały rozmiar. Sam też z większości funkcji AuthMe nie korzystam.

Podobał się Tobie ten wpis? Chcesz dowiedzieć się czegoś więcej? Zostaw komentarz, a odezwę się :).