Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
»
#11
Zacytować: Napisał SuperNovaAO Cóż, to po prostu podążanie za kodem, poczynając od połączenia z ActorChannel, analizując dane. Niestety nie ma dokumentacji na temat tego, jak protokół jest faktycznie zbudowany, więc musisz przejść przez kod, aby przeczytać o nim i mieć nadzieję, że niczego nie przegapisz. https://github.com/EpicGames/UnrealE...lient.cpp#L715 Okazuje się, że moje Visual Studio wysłało mnie do niewłaściwego pliku dla implementacji i zrobiłem odczyt uint32 tam zamiast serializeIntPacked, skutecznie pomijając wiele danych. Również tak, Visual Studio, znalazłem komputer z zainstalowanym systemem Windows z wystarczająco dużym dyskiem twardym, aby uruchomić teraz pakiet SDK. Cześć ! Tak, w zasadzie jest to zgodne z kodem. Kod Epic Games nie zawsze jest czysty i architektonicznie poprawny, więc możesz zmienić coś. Najlepszym przykładem jest PackageMap i PackageMapClient ... PackageMap ma być interfejsem, ale na razie tylko unika cyklicznej zależności, dlatego robi straszne statyczne odlewania. (Mówię to, ponieważ zrobiłbym inaczej w moim kodzie, jeśli wiedziałem to wcześniej). Najważniejsze rzeczy, o których należy pamiętać: # 1 Aby odczytać pakiety wychodzące (lub przychodzące), musisz działać jako serwer (lub klient). # 2 Trudne kodowanie mechanizmu odbicia nie jest wstydem # 3 UE weak_pointers zwraca NULL, gdy obiekt jest oczekujący_kill!
Reply
#12
Zacytować: Originally Posted by seb101 Jedną z rzeczy, które polecam, jest posiadanie trybu do zapisywania pakietów w katalogu podczas gry i przechwytywania, ponumerowanych według kolejności odbioru. Następnie ładowanie tych pakietów offline i wysyłanie ich do systemu bez łączenia się z grą. Pozwala to w zasadzie "nagrać" grę, odtwarzać ją i trwać tak długo, jak to możliwe, a następnie przerobić te dane, ponieważ jest to spójne i powtarzalne, a będziesz w stanie dostrzec problemy i naprawić je w tym jednym odtworzeniu, śledzeniu jakiego pakietu nie udało się, lub gdy coś poszło nie tak i włamano się do przetwarzania w tym pakiecie itp. bez konieczności wielokrotnego łączenia się z grą w celu przechwytywania danych, które za każdym razem będą inne. Tak, na szczęście już to zrobiłem, odkąd zacząłem pracować nad częścią kodu. Wrzuć zaporę ogniową do mojej zewnętrznej zapory sieciowej, aby zrzucić wszystkie swoje pakiety tydzień temu i mieć teraz PCAP z kilkudziesięciu gier.
Reply
#13
W przypadku części załącznika znajduje się ona w klasie AActor: Kod: UPROPERTY (Transient, replicatedUsing = OnRep_AttachmentReplication) struct FRepAttach AttachmentReplication; Najtrudniejsze jest to, że serwer może używać netguid, który nie został jeszcze wyeksportowany do twojego klienta. Do tego celu używają mapy programu GUID do replikatorów i zachowują listę nowo zaimportowanych instrukcji, a następnie próbują mapować je podczas TickFlush po przetworzeniu pakietów.
Reply
#14
Dzięki, doceń to! GuidCache-> IsExportingNetGUIDBunch jest fałszywe, ExportFlags.Value nigdy nie jest serializowane, ponieważ GuidCache-> IsExportingNetGUIDBunch ma wartość false, tak samo jak 0 (c # land = automatic 0ed stuff), a guid ze strumienia nie jest IsDefault. Ścieżka przez tę funkcję ma sens, biorąc pod uwagę to, co czyta. Sprawdziłem pozycję bitową tak, nic poza zwykłą stroną lub stroną UE4, jednak w przykładach treści UE4 nie mam dostatecznie skomplikowanej hierarchii obiektów eksportowanych do klienta, aby uzyskać dobry test, dlatego " m DLing Unreal Tournament dla bardziej złożonego stanu gry do testowania i debugowania w samym UE4 Czy jest jakaś możliwość, że coś zostało dodane do tej metody w najnowszym UE4, ponieważ PUBG i ja potrzebujemy obniżenia wersji? Co Unreal 4 stworzyłeś obok? (Powinienem też zaznaczyć, że jeśli spróbuję / złapię to, mam w pełni sprawny radar (z przypadkowo zaginionymi pojazdami [prawdopodobnie nieudokumentowane porządkowanie guidów] i bez replikacji łupów), więc trudno wyobrazić sobie jakikolwiek problem z jakąkolwiek z metod bitreadera ponieważ wszystkie są szeroko stosowane w innych miejscach bez widocznych problemów, to tylko ta sekcja ma problemy)
Reply




Users browsing this thread: 1 Guest(s)