Logi FiveM: gdzie zawodzą webhooki Discorda i czym je zastąpić
Logi na webhookach Discorda wpadają w limity, nie da się ich przeszukać po graczu i gubią załączniki. Jak logować przez ox_lib i robić z tego dowody.
Autor: Termi
- Logs
- ox_lib
- Discord
- Evidence
Na tej stronie
- Gdzie logowanie na Discorda się sypie
- Logi strukturalne przez ox_lib
- Wysyłaj je do FiveDock
- Od logów do dowodów
- Jak długo trzymać logi
- Częste pytania
- Jak logować akcje graczy na serwerze FiveM?
- Czy webhooki Discorda nadają się na logi FiveM?
- Jak długo serwer FiveM powinien trzymać logi?
- Czy logger z ox_lib działa bez Fivemanage?
Większość serwerów FiveM loguje tak samo: kanał na Discordzie dla każdej kategorii, np. pieniędzy, śmierci i komend administracji, i URL webhooka w każdym skrypcie. Przez pierwszy miesiąc to działa. Potem przychodzi odwołanie od bana w sprawie sprzed trzech tygodni i ktoś przewija tysiące embedów w poszukiwaniu jednej licencji. Ten poradnik pokazuje, gdzie logowanie na Discorda się sypie, jak zamiast tego wysyłać logi strukturalne przez ox_lib i jak zrobić z nich dowody, które pokażesz graczowi.
Gdzie logowanie na Discorda się sypie
Logi strukturalne przez ox_lib
ox_lib, który i tak działa na większości serwerów ESX, QBCore i Qbox, ma logger po stronie serwera. Jedno wywołanie w miejscu, gdzie dzieje się akcja, zastępuje request do webhooka:
RegisterNetEvent('bank:transfer', function(to, amount)
local src = source
if not Bank.transfer(src, to, amount) then return end
lib.logger(src, 'money.transfer', ('sent $%d to %s'):format(amount, to), 'amount:' .. amount, 'to:' .. to)
end)Argumenty to ID gracza na serwerze, nazwa zdarzenia, wiadomość i dowolna liczba tagów klucz:wartość. ox_lib sam dokleja do każdej linijki nick i identyfikatory gracza, zbiera linijki w paczki i wysyła je do usługi wskazanej w convarze:
set ox:logger "fivemanage"
set fivemanage:key "fd_live_…"
set fivemanage:dataset "city"ox_lib ma trzy usługi: Datadog, Grafana Loki i Fivemanage. Fivemanage trzyma logi 15 dni w planie darmowym i za 8 USD, 90 dni na Pro za 24 USD i 180 dni na Network za 79 USD.
Wysyłaj je do FiveDock
FiveDock przyjmuje paczki, które wysyła logger Fivemanage z ox_lib, bez żadnych zmian. ox_lib trzyma ten adres w jednej linijce pliku imports/logger/providers/fivemanage.lua. Skieruj ją na FiveDock, a jako fivemanage:key ustaw token API FiveDock z uprawnieniem logs:write:
endpoint = 'https://api.fivedock.dev/api/logs/batch',Aktualizacja ox_lib podmienia ten plik, więc po każdej aktualizacji zmień linijkę jeszcze raz albo trzymaj ją we własnej kopii ox_lib.
Każda linijka trafia do Black Boxa z licencją, Discord ID i nickiem gracza. Obok leży wszystko, co agent FiveDock zapisuje sam: błędy skryptów, zgłoszenia z gry i screenshoty.
Od logów do dowodów
Na Metro Black Box układa te linijki w oś czasu każdego gracza: każda zalogowana linijka o jednej licencji, od wejścia na serwer, przez przelew, po screenshot, po kolei i co do sekundy. Jeden przycisk zamienia jej wycinek w paczkę dowodów, czyli link, który przekazujesz graczowi, którego właśnie zbanowałeś.
Wyszukiwanie obejmuje wszystkich graczy, po licencji, tablicy rejestracyjnej albo słowie, a wyszukiwanie, które robisz co noc, możesz zapisać. Alerty ekonomii pilnują tych samych linijek w każdym planie: przelew powyżej progu albo zbyt szybki przyrost pieniędzy idzie na Discorda. Na Metro alert od razu robi też kopię zapasową, a alerty o duplikatach przedmiotów łapią ten sam numer seryjny w dwóch ekwipunkach.
Maskowanie zależne od roli na Metro sprawia, że osoby na okresie próbnym nie widzą prawdziwych adresów ani danych płatności, czego kanał na Discordzie nie zrobi.
Jak długo trzymać logi
Odwołania przychodzą zwykle w ciągu kilku tygodni od bana. Trzymaj co najmniej 30 dni, tyle daje FiveDock City za 39 zł miesięcznie. Free trzyma 7 dni, a Metro 90 dni i archiwum.
W porównaniu z Fivemanage
Fivemanage trzyma logi dłużej za te pieniądze: 90 dni na Pro za 24 USD, 180 dni na Network. Plan FiveDock obejmuje jednak też hosting plików, kopie zapasowe bazy, zgłoszenia i konta dla administracji, więc porównuj cały rachunek. Nasze porównanie hostingu stawia oba obok siebie.
Częste pytania
Jak logować akcje graczy na serwerze FiveM?
Wywołaj lib.logger z ox_lib w skrypcie serwera, w którym dzieje się akcja, z ID gracza na serwerze, nazwą zdarzenia i wiadomością. ox_lib dokleja identyfikatory gracza i wysyła paczki do usługi ustawionej w ox:logger. FiveDock przyjmuje format Fivemanage z ox_lib i przypisuje każdą linijkę do gracza, więc administracja czyta historię jednego gracza po kolei.
Czy webhooki Discorda nadają się na logi FiveM?
Jako kanał powiadomień dla małego serwera tak. Jako zapis nie wystarczą: webhooki mają limity, linki do załączników wygasają, nic nie pokazuje jednego gracza na wszystkich kanałach, a każdy, kto znajdzie URL webhooka, może na niego pisać.
Jak długo serwer FiveM powinien trzymać logi?
Co najmniej tak długo, jak trwa okno na odwołania, zwykle od dwóch do czterech tygodni. 30 dni wystarcza większości serwerów. Trzymaj 90, jeśli obsługujesz prośby o zwrot przedmiotów albo długie dochodzenia.
Czy logger z ox_lib działa bez Fivemanage?
Tak. Ustaw ox:logger na datadog albo loki dla tych usług, albo zostaw fivemanage i zmień jego adres na adres FiveDock, który przyjmuje te same paczki.