Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
[ROZWIĄZANE] Jakie funkcje wywołują się podczas crasha?
Najlepsza odpowiedź GwynBleidD , 24.11.2013 16:21
Da się... ale bardzo głupim sposobem Aczkolwiek skutecznym...
1. W każdym pluginie, który ma "coś" zapisywać do nvaulta przy crashu, tworzysz print do konsoli serwera w każdym momencie, gdy to coś się zmieni. Dla przykładu LVL. Gdy ktoś nabije lvl wyrzucasz do konsoli komunikat kto nabił i jaki lvl. Musi być szczegółowo określone i łatwe do przetworzenia przez zewnętrzny program, który ma to na celu wyłapać.
2. Tworzysz program, który przechwyci dane z konsoli i będzie śledził dane, które śledzić ma (np wyżej wspomniane lvle). Program ten musi akceptować z jednego z dwóch źródeł - przez UDP/TCP lub przez Console Input (stdin czy jak to tam ludzie jeszcze nazywają). To w zależności od tego, którą możliwość posiadasz z pkt 3
3. Jedno z poniższych:
a) Modyfikujesz hlds_run (to jest plik tekstowy ze skryptem, łatwo go edytować) tak, aby wszystko co konsola wypluła szło na Console Input naszego programu.
stawiasz program jako serwer logów gdzieś w internetach (potrzebny hosting z dostępem do SSH) i odpowiednią komendą w HLDSie kierujesz do niego wszystkie logi.
4. Gdy programik wykryje, że nastąpił crash, aktualizuje nvault albo bazę SQL.
Ale po co z tym się trudzić? powinniśmy wyeliminować przyczynę crashy, a nie problem obchodzić naokoło. Ewentualnie postawić zamiast nvaulta bazę SQL, która jest dużo bardziej odporna na błędy i zapisywać co jakiś czas wszystko, co się zmieniło, redukując straty do minimum.
Przejdź do postu#1
Napisano 23.11.2013 20:02
Ogólnie chciałbym zrobić tak, aby gdyby byl crash zapisywałoby się coś do nVault.
GT mówił o try i catch, ale musiałbym wtedy pakować to do wszystkich plugów.
Czy jest inna możliwość? Z góry dziękuję.
#2
Napisano 23.11.2013 20:12
Funkcje pluginu ? procesu ? systemu ?
#3
Napisano 23.11.2013 20:14
#4
Napisano 23.11.2013 22:38
Chce zapobiec straty lvli, monet itp. przy crashu, zapisujac je tuz przed tym momentem
#5
Napisano 23.11.2013 22:41
Na 99% - się nie da (1% - Niepewność, bo Dark potrafi zaskoczyć )
Możesz jedynie zapisywać dane graczy co 2 minuty i po problemie - strata danych będzie mała
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#6
Napisano 24.11.2013 16:21 Najlepsza odpowiedź
Da się... ale bardzo głupim sposobem Aczkolwiek skutecznym...
1. W każdym pluginie, który ma "coś" zapisywać do nvaulta przy crashu, tworzysz print do konsoli serwera w każdym momencie, gdy to coś się zmieni. Dla przykładu LVL. Gdy ktoś nabije lvl wyrzucasz do konsoli komunikat kto nabił i jaki lvl. Musi być szczegółowo określone i łatwe do przetworzenia przez zewnętrzny program, który ma to na celu wyłapać.
2. Tworzysz program, który przechwyci dane z konsoli i będzie śledził dane, które śledzić ma (np wyżej wspomniane lvle). Program ten musi akceptować z jednego z dwóch źródeł - przez UDP/TCP lub przez Console Input (stdin czy jak to tam ludzie jeszcze nazywają). To w zależności od tego, którą możliwość posiadasz z pkt 3
3. Jedno z poniższych:
a) Modyfikujesz hlds_run (to jest plik tekstowy ze skryptem, łatwo go edytować) tak, aby wszystko co konsola wypluła szło na Console Input naszego programu.
stawiasz program jako serwer logów gdzieś w internetach (potrzebny hosting z dostępem do SSH) i odpowiednią komendą w HLDSie kierujesz do niego wszystkie logi.
4. Gdy programik wykryje, że nastąpił crash, aktualizuje nvault albo bazę SQL.
Ale po co z tym się trudzić? powinniśmy wyeliminować przyczynę crashy, a nie problem obchodzić naokoło. Ewentualnie postawić zamiast nvaulta bazę SQL, która jest dużo bardziej odporna na błędy i zapisywać co jakiś czas wszystko, co się zmieniło, redukując straty do minimum.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#7
Napisano 24.11.2013 16:29
hehehe chodziło mi raczej o ogólnodostępny plugin dla wszystkich, który radziłby sobie z zapisywaniem do nVault w momencie crasha, nie będącego powodem owego pluginu. Nie chodzi mi o łatkę, tylko o chociażby Punkty Chwały . No dobrze, więc chyba pozostaje zapis co 2 min w tasku, z czego nie skorzystam
Dziękuję za pomoc
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych