Learn · modules
Czym jest DevTest w kliencie Minecraft?
DevTest to pozostały moduł dla programistów u niektórych klientów, stworzony do testowania nieukończonego kodu, a nie do oferowania graczom prawdziwych funkcji lub ustawień.
Czym jest DevTest w Minecraft?
DevTest to moduł, który sporadycznie można znaleźć na liście modułów klienta, bez jasnego opisu funkcji. Nie jest to wariant KillAura ani zamaskowany aimbot: jest to pozostałość po mechanizmie, którego programiści używają do testowania kodu w trakcie budowy klienta. Ponieważ został napisany dla osób dostarczających oprogramowanie, a nie dla graczy, DevTest nie ma spójnego zachowania. To, co robi w danej wersji, zależy całkowicie od tego, co programiści debugowali, gdy po raz ostatni go modyfikowali, a to może się zmieniać między wersjami, a nawet między dwiema wersjami tej samej wersji.
Zazwyczaj DevTest znajduje się na liście modułów jako wskaźnik, który nic nie robi lub robi coś, czego nikt nie raczył oznaczyć. To programistyczna odpowiednik komentarza "TODO: usunąć przed wydaniem", który prześlizgnął się przez QA.
Jak działa DevTest
DevTest nie ma stałej funkcji skierowanej do gracza, ponieważ to nie był jego cel. Programiści podłączają moduł do tego, nad czym aktualnie pracują: nowej ścieżki renderowania, obsługi pakietów, kodu ruchu lub po prostu przestrzeni roboczej, aby potwierdzić, że coś działa bez zawieszania klienta.
Dlatego też ma tendencję do wypuszczania w stanie zużytym. Brak ustawień, puste opisy lub tekst zastępczy, gdzie prawdziwy moduł powinien się sam objaśnić. Włączenie go w wersji produkcyjnej wcale nic nie robi. Może również uruchamiać dowolny kod testowy, który programiści zapomnieli usunąć przed wydaniem.
Programiści po stronie klienta opierają się na takiej sekcji modułu, ponieważ wiele z tego, co testują, działa poprawnie tylko w odniesieniu do rzeczywistego serwera, a nie do środowiska testowego. Szybki włącznik/wyłącznik w działającym kliencie bije na głowę konieczność tworzenia oddzielnej wersji dla każdego eksperymentu. Kiedy klient jest wydawany, sekcja czasami pozostaje na liście po prostu dlatego, że jej usunięcie to dodatkowa praca, albo dlatego, że zespół planuje ponownie jej użyć w kolejnym cyklu rozwoju.
Dlaczego w ogóle istnieje
Większość pracy po stronie klienta odbywa się w odniesieniu do rzeczywistych serwerów. Testowanie nowego modułu ruchu lub haka renderowania wymaga zobaczenia, jak zachowuje się w odniesieniu do rzeczywistych kontroli anticheat i zachowań graczy, a nie tylko ładowania kodu i liczenia na to, że zadziała. DevTest to sekcja przeznaczona do tego. Programiści podłączają ją do tego, nad czym aktywnie pracują, uruchamiają klienta i testują w odniesieniu do działającego serwera.
Kiedy wersja jest wydawana, DevTest albo jest czyszczony, albo pozostaje, ponieważ szybciej jest go zostawić w miejscu na kolejny cykl testów, niż usunąć go, dodać ponownie w przyszłym tygodniu i ponownie skonfigurować.
Czy jest bezpieczne do użycia
Nie ma tu jednej odpowiedzi, ponieważ DevTest to nie pojedyncza funkcja o jednym zachowaniu, a jedynie wskaźnik. Jeśli jest nieaktywny w Twojej kompilacji, przełączanie go nic nie zmienia i wiąże się z takim samym ryzykiem, jak każde inne nieużywane ustawienie. Jeśli jest podłączony do testowania kodu w zakresie manipulacji pakietami lub niedokończonego triku z ruchem, włączenie go może wywołać zachowanie, które nigdy nie zostało przetestowane w stosunku do anticheatu na prawdziwym serwerze, ponieważ nie było przeznaczone do działania w prawdziwej rozgrywce.
Traktuj nieoznaczone moduły programistyczne jako nieprzewidywalne. Nie zakładaj, że są to nieszkodliwe, martwe przełączniki, ani nie zakładaj, że są to ukryte funkcje. Żadne z tych założeń nie jest prawdziwe, dopóki nie wiesz, na co kompilacja go skierowała.
Co robią klienci produkcyjni
Gotowy klient udostępnia moduły o nazwach, które coś znaczą, opisach odpowiadających temu, co faktycznie robią, oraz ustawieniach zachowujących się zgodnie z ich nazwami. Jeśli funkcja nie jest gotowa, nie trafia do kompilacji. Jeśli jednak trafi, dzieje się tak, ponieważ programiści są pewni tego, co robi, i gotowi ją udokumentować.
FAQ
Nie ma ono zdefiniowanej funkcji. Jest to miejsce, które programiści ponownie wykorzystują do testowania lub debugowania, więc jego zachowanie zmienia się od wersji do wersji i rzadko jest udokumentowane.
Nie. To pozostałość z fazy rozwoju, a nie narzędzie stworzone z myślą o graczu, a większość wersji nie zawiera żadnych realnych ustawień ani opisu.
Zależy to całkowicie od tego, co programiści podpięli do niego podczas budowy. Nieaktywny DevTest nic nie robi. Ten, który wciąż jest powiązany z nieukończonym kodem exploita, może zachowywać się nieprzewidywalnie w obecności antywirusa serwera.
Ponieważ usunięcie tego generuje dodatkową pracę porządkową, a większość programistów planuje ponownie wykorzystać to samo miejsce do testów w kolejnym cyklu aktualizacji.