Przesunięty przez: critical
2018-05-16, 22:29
Jak nie tracić statystyk na serwerze SA:MP?
critical



Wylogowany Nazwa nicku: [PSi]critical
Dołączył: 23 Lip 2017
Posty: 102
Skąd: Radom
Wysłany: 2018-05-08, 21:00   Jak nie tracić statystyk na serwerze SA:MP?

Jak nie stracić statystyk na serwerze?


Witam. Jak wszyscy wiemy - nikt z nas nie jest robotem i nie wiadomo, jak serwer będzie działać przez cały czas, gdy jest włączony. Niestety, czasem dochodzi do sytuacji, gdzie serwer się wyłącza. Wtedy gracze narzekają, że tracą swoje statystyki.

Nikt z nas nie jest bogiem i nie wie, co kryje się pod zdaniem "server crashed due to an unknown error". Po polsku "crash serwera z powodu nieznanego błędu".



Jak ktoś powie mi, przez co serwer został wyłączony po tej wiadomości, dam mu 30k respektu.

My, jako administracja, nie mamy zbyt wielkiego wpływu na ten crash. Nikt nie wie, co jest jego przyczyną. Są crashe, w których wyświetla się dokładna linijka, w której znajduje się winowajca. Między innymi dzięki temu zostały naprawione obiekty domowe w v1.1a.

Teraz nasuwa się pytanie - co zrobić, aby nasze statystyki były bezpieczne?

Podzielmy to na dwie kategorie: Statystyki gracza oraz statystyki prywatnego pojazdu.

Serwer zapisuje swoje wszystkie statystyki w tzw. bazie danych. Baza danych, to taki "zbiór" wszystkich danych, jakie są na serwerze.

Konta graczy i prywatne pojazdy są niezależne od siebie i są przechowywane w oddzielnych tabelach.




Czasami więc może zajść sytuacja, podczas której graczowi zapiszą się dane, typu respekt, przegrane godziny, a nie zapisze mu się przebieg w prywatnym pojeździe.



Zapis statystyk gracza


Weźmy sobie taką sytuację. Wchodzę sobie rano na serwer. Przy ostatnim wyjściu uzbierałem 8610 respektu oraz przegrałem łącznie 28h 46m.



Po kilku minutach uzbierałem 12 respektu i muszę już iść z serwera. Chcę jednak, aby moje statystyki były bezpieczne i nic się z nimi nie stało nawet, gdyby serwer miał dostać crasha. Co w takiej sytuacji?

Wpisujemy magiczną komendę zwaną /sv. Po wpisaniu tej komendy statystyki Waszego konta (nie privcara) są bezpieczne w 100%.



Widzę komunikat na czacie - "Statystyki zapisane pomyślnie." - i to się zgadza w 100% z prawdą.
Sprawdźmy teraz dane w bazie danych, czyli w jedynym miejscu, gdzie serwer przekazuje informacje o Waszych kontach i innych elementach.



Respekt się zapisał, ale czemu nie zapisał się czas gry? Otóż z przyczyn technicznych czas gry zapisuje się po wyjściu gracza z serwera, lub gdy dostanie on crasha/timeouta/kicka/bana.

Wyjdźmy więc i sprawdźmy, czy coś się zmieniło.


Jak widać czas gry powiększył się o 10 minut, czyli dokładnie o tyle, ile przegrałem w ciągu tej sesji, co widać na screenie z gry wyżej.



Zapis statystyk prywatnego pojazdu


Tutaj sprawa wygląda nieco inaczej. Automatyczny zapis prywatnych pojazdów jest tylko w jednym momencie - o godzinie 3:11. Niestety zdarzyć się mogą sytuacje (takie jak w dniu pisania tego poradnika), że serwer dostanie crasha o godzinie 19:52. I co wtedy? Ostatni zapis statystyk prywatnych pojazdów był z godziny 3:11. Można sobie więc uzmysłowić, że jeśli nie użyłeś ani razu /p > Zaparkuj/Zapisz w przedziale od 3:11 do 19:52, to swój przebieg nabity w tym czasie straciłeś bezpowrotnie. Co też więc należy robić, aby przebieg zapisać przed 3:11?

Spójrzmy ponownie do bazy danych - teraz do prywatnych pojazdów.



Dla wyjaśnienia: ID mojego pojazdu to 9, ownerid wskazuje na uid właściciela pojazdu. W moim wypadku jest to 0, bo moje konto ma userid 0. W bazach danych mówi się na to relacje. Wartość userid z tabeli z kontami jest połączona z wartością ownerid z tabeli z privcarami.

Spójrzmy, że mam w bazie zapisane 693.1km przebiegu. Tyle bym miał, gdyby teraz niespodziewanie padł serwer. W międzyczasie jednak nabiłem na serwerze kilka km.



Jednak w bazie nadal jest informacja, że posiadam 693.1km przebiegu. Serwer po ponownym włączeniu po crashu nie będzie wiedział, że miałem już ponad 700km przebiegu, bo jedynym miejscem, gdzie przechowywane są informacje jest właśnie baza danych, w której posiadam 693.1km przebiegu. Co więc zrobić, aby wymusić zapis aktualnego przebiegu?

Jest kilka opcji:
a) Drogówka może zapisać Twój pojazd w nowym miejscu swoją komendą.
b) Możesz schować swój pojazd do checkpointu na /parking.
c) Możesz wpisać komendę /p, po czym wybrać opcję Zaparkuj/Zapisz.

Przedstawię zapis na przykładzie opcji c.


Po tej czynności sprawdzam dane o moim privcarze w bazie danych.


Jak widzimy, mój przebieg został zaktualizowany. Teraz po ponownym włączeniu serwera będę miał dokładnie tyle przebiegu ile mam teraz w bazie danych, czyli 702.5km.

Widać więc, że te czynności nie są trudne, a pomogą nam uniknąć niepotrzebnych nerwów związanych ze stratą czegokolwiek. Polecam wyrobienie sobie nawyku do używania tych dwóch opcji, bo niby jest autozapis co jakiś czas, ale lepiej jest zrobić to ręcznie i mieć pewność, że nic nam nie zginie. Przykład kont bankowych: Mając pieniądze na koncie nigdy nie wiesz, co się może z nimi stać, a mając gotówkę przy sobie jesteś pewien, że faktycznie ją masz.



  Lubię to!  

Copyright © 2017 - - Polski Serwer Imprezy - Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody Administracji i autorów tematów/postów jest zabronione!
Profil
 
 
pBartnik
Administrator
Developer forum



Wylogowany Nazwa nicku: [PSi].pBartnik
Wiek: 26
Dołączył: 16 Lip 2017
Posty: 947
Skąd: Radomsko
Wysłany: 2018-05-09, 10:41   

Twój temat został zamknięty!

Status: Wracamy! <3



  Lubię to!  






Copyright © 2017 - - Polski Serwer Imprezy - Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody Administracji i autorów tematów/postów jest zabronione!
Profil WWW
   
 
Wyświetl posty z ostatnich:   
Tagi tematu: jak, na, nie, samp, serwerze, statystyk, tracic
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  
3 użytkowników przeczytało ten temat:
pBartnik, Xentis, standly90,
Ta strona też wykorzystuje ciasteczka. Korzystanie z tej strony oznacza zgodę na ich zapis lub odczyt z ustawień przeglądarki.
Dowiedz się więcej