FiveM Event Logger & narzędzie do debugowania

Generuj listenery eventów, weryfikuj konwencje nazewnictwa, sprawdzaj kwestie bezpieczeństwa i korzystaj z gotowych szablonów eventów.

Do czego służy to narzędzie

Eventy to sposób komunikacji między klientem a serwerem w FiveM, a zarazem najczęstszy powód włamań na serwer. Event po stronie serwera, który ufa danym wysyłanym przez klienta, może zostać wywołany przez każdego z injectorem. Ten generator tworzy poprawne listenery dla obu stron i sprawdza nazwy twoich eventów pod kątem zasad nazewnictwa oraz bezpieczeństwa.

Jak tego używać

  1. Krok 1:

    Wprowadź nazwę eventu, najlepiej z prefiksem nazwy Twojego zasobu, aby uniknąć kolizji z innym skryptem.

  2. Krok 2:

    Wybierz stronę. Event serwerowy wymaga RegisterNetEvent, czysto lokalny nie.

  3. Krok 3:

    Wygeneruj kod i przeczytaj uwagi dotyczące bezpieczeństwa. Wskazują one wartości, które muszą być weryfikowane na serwerze.

  4. Krok 4:

    Skopiuj listener do swojego resource i zastąp treść placeholdera własną logiką.

Często zadawane pytania

Jaka jest różnica między RegisterNetEvent a AddEventHandler?

AddEventHandler rejestruje handler. RegisterNetEvent dodatkowo pozwala na wywołanie eventu z drugiej strony sieci. Bez tego zdalne wywołanie jest ignorowane, z tym każdy w sieci może go wywołać, dlatego powinno być stosowane tylko przy eventach, które naprawdę tego wymagają.

Dlaczego nigdy nie wolno ufać klientowi?

Wszystko, co wysyła klient, może zostać sfałszowane: kwota, przedmiot, cena, ID gracza. Odczytuj źródło za pomocą source na serwerze i samodzielnie sprawdzaj rzeczywiste wartości w bazie danych. Event serwerowy, który przyjmuje kwotę od klienta, to otwarta kasa.

Jak nazywać swoje eventy?

Zawsze resource:action, na przykład agency-phone:sendMessage. Bez prefiksu dwa skrypty mogą zarejestrować tę samą nazwę i wtedy uruchomi się niewłaściwy handler. Konwencją są dwukropki, a nie podkreślenia.

Jak sprawdzić, jakie eventy wywołuje mój serwer?

Handler po stronie wildcard wraz z printem w konsoli pokazuje ruch. Aby przyjrzeć się temu dokładniej, dodaj linię logu na początku listenera. Na środowisku produkcyjnym usuń je ponownie, ponieważ każda linia logu obciąża wydajność na obciążonym serwerze.