Ocena wątku:
  • 0 głosów - średnia: 0
Pliki log - gdzie je znaleźć i co można z nich odczytać?
#1
W tym "poradniku" (o ile można go tak nazwać Wink) pokażę parę podstawowych informacji o plikach log, tak by nie trzeba było ich powtarzać w każdym następnym wątku dotyczącym problemów z grą Smile

Zaczniemy od podstaw - czym są pliki log? Są to pliki zawierające informacje o tym, co działo się podczas uruchamiania gry oraz dalszej rozgrywki. Jeżeli np. w trakcie wczytywania się save-a wystąpił crash, to właśnie dzięki tym plikom będziemy mogli dowiedzieć się, co było jego przyczyną. Dlatego tak ważne jest umieszczanie ich w swoim wątku. Bez nich nie jesteśmy w stanie nic zdziałać.
W Cities Skylines mamy dwa pliki log:
  • output_log.txt - główny plik zawierający całą historię ładowania się gry bądź dalszej rozgrywki
  • error.log - zawierający przede wszystkim informacje o pamięci RAM
Gdzie znajdę te pliki? Obydwa pliki powinny znajdować się w folderze instalacyjnym gry, czyli:  \SteamApps\common\Cities_Skylines\* - gdzie * to folder zawierający logi gry. Jest on nazwany datą i godziną ich zapisania (czyli wystąpienia błędu) np: 2019-11-03_162306.
Może jednak zdarzyć się, że plik output_log.txt znajdzie się w tej ścieżce: \SteamApps\common\Cities_Skylines\Cities_Data\output_log.txt (nie wiem czy wynika to z jakiegoś niedawnego update-a gry i zmiany lokalizacji zapisu plików, czy może z czegoś innego)

Dla systemów Mac OS X i Linux ścieżki wyglądają nieco inaczej, są to odpowiednio:
  • Users//Library/Logs/Unity/Player.log
  • ~/.config/unity3d/Colossal Order/Cities: Skylines/Player.log
W zasadzie na początek wystarczy tylko tyle. Jeżeli nie chcecie zagłębiać się w tajniki tych plików znaczenie poszczególnych błędów, wystarczy że będzie wiedzieć gdzie się one znajdują i podeślecie je wraz z założeniem tematu. Resztę pozostawcie nam Wink



Co oznaczają poszczególne błędy? Jeżeli natomiast macie ochotę przeszukiwać te niekiedy kilka tysięcy linijek kodu w poszukiwaniu czegoś interesującego to zapraszam do lektury Wink
Oczywiście nie wypiszę tutaj wszystkich możliwych błędów, bo byłoby to w zasadzie niewykonalne ale postaram się opisać te najważniejsze/najczęściej występujące wraz z ich rozwiązaniami a w przyszłości być może dodam kolejne.

Brak wystarczającej ilości RAMu - podstawowa podstawa. Problem który powoduje najwięcej crashy, a jednocześnie jest bardzo prosty do wykrycia i naprawienia. Powinna więc być to pierwsza rzecz do sprawdzenia po "scrashowaniu" się gry. W jaki sposób możemy sprawdzić czy naszemu komputerowi skończyła się pamięć? Na samym początku pliku error.log mamy następujące linijki: (przykład)

Kod:
53% memory in use.
8176 MB physical memory [3810 MB free].
25584 MB paging file [18299 MB free].

Jeżeli któraś z tych wartości będzie wyjątkowo niska to znaczy że po prostu brakuje nam RAMu. Co ważne, nie powinniśmy zwracać tutaj uwagi tylko na pozycję "memory in use". Dla przykładu w tym pliku:

Kod:
64% memory in use.
8147 MB physical memory [2921 MB free].
8147 MB paging file [1 MB free].

procentowo pamięci jeszcze trochę mamy, w tym przypadku problem leży w pliku stronnicowania (paging file). Jak widać wolny jest jedynie 1MB czyli zdecydowanie za mało. 

Brak pamięci możemy poznać jeszcze po pliku output_log.txt. Jeżeli na jego końcu znajdziemy takie linijki:

Kod:
  ERROR: SymGetSymFromAddr64, GetLastError: 'Próbowano uzyskać dostęp do nieprawidłowego adresu.' (Address: 00007FF6DBFC4954)


to możemy być prawie pewni że mamy za mało pamięci.

A jak poradzić sobie ze zbyt małą ilością RAMu? Jest na to parę rozwiązań. 
Pierwsze to odsubksrybowanie pewnej ilości obiektów. Jak wiadomo im więcej modyfikacji i dodatków - tym większe zużycie pamięci fizycznej. 
Drugie: zmniejszenie jakości tekstur. Te również oddziałują na wykorzystanie RAMu, tak więc warto najpierw spróbować zmniejszyć ustawienia. 
Trzecie - zwiększyć rozmiar pliku stronnicowania. Czym on jest i jak to zrobić, to już rozpisywać się nie będę. Pełno poradników na ten temat znajdziecie w internecie. Ja mogę tylko dodać że jest to taki "wirtualny RAM" na jednym z naszych dysków. Przy grze w Cities Skylines bardzo istotny Wink 
Czwarte - najbardziej radykalne rozwiązanie to.. dokupienie większej ilości RAMu Smile Przy Citieskach czasem nawet i 32GB to za mało Wink

ArgumentNullException:

Kod:
ArgumentNullException: Argument cannot be null.

Jeden z tych błędów które niewiele nam mówią. Może doprowadzić do crasha ale nie musi. A przyczyną może być.. wszystko. Warto jednak sprawdzić, czy przy tym błędzie nie pojawia się nazwa jakiejś modyfikacji. Dla przykładu powyższy błąd często występował przez błędną konfigurację modów Vehicle Effects i Extra Vehicle Effects.

Array index is out of range:

Kod:
Simulation error: Array index is out of range.

lub

Kod:
IndexOutOfRangeException: Array index is out of range.

Ulubiony błąd wszystkich graczy Cities Skylines. Jeżeli już udało nam się załadować save-a ale mimo wszystko coś nie działa to najczęściej w specjalnym okienku widzimy właśnie to Smile A co to znaczy? Wszystko.. Tak. Kolejny błąd niewiele nam mówiący. Zazwyczaj, jeżeli nie zawsze, występuje z pewnym dopiskiem. Tutaj wszystko zależy od posiadanych modyfikacji i pozostałej części loga. Po samym błędzie mało jesteśmy w stanie stwierdzić. Nie będę się rozpisywał w tym wątku o potencjalnych przyczynach i rozwiązaniach, dla chętnych zamieszczam te dwa linki: 
https://github.com/krzychu124/Cities-Sky...t-of-range
https://github.com/krzychu124/Cities-Sky...terchanges

Non platform assembly

Kod:
Non platform assembly: data-<***> (this message is harmless)

Ten kod sam w sobie nie jest zbyt ważny, zresztą jak mówi sam za siebie dopisek po nim. Potrafi pojawić się jednak dość często i zabrać dużą część logu, dlatego o nim tutaj wspominam. Można go jednak po prostu zignorować.

Object reference not set to an instance of an object

Kod:
Object reference not set to an instance of an object
[System.NullReferenceException]

Kolejny błąd w stylu Array index is out of range. Wszystko i nic w jednym Wink Ponownie rozwiązań może być multum i wiele zależy od pozostałych części logu i innych czynników - np. posiadanych modyfikacji. Dla chętnych zamieszczam link do paru najczęstszych powodów wystąpienia błędu i sposobów jego rozwiązania: https://github.com/krzychu124/Cities-Sky...-an-object

DirectX 11 error

Kod:
d3d11: failed to create staging 2D texture w=<width> h=<height> d3dfmt=77 [80070057]

Pojawia się dość często jednak nie zawsze musi doprowadzić do crasha gry. Warto jednak sprawdzić czy to właśnie on nie jest przyczyną. A jak to zrobić? Błąd powodują albo sterowniki karty graficznej albo problem z DX 11. Tak więc:
1) należy sprawdzić czy ma się aktualne sterowniki, a jeżeli nie - zaktualizować je
2) w opcjach uruchamiania użyć komendy "-force-d3d9" - która jak sama nazwa mówi, wymusi użycie przez grę DX9.



Błędy związane z dodatkami z workshop-a:

System.NullReferenceException

Kod:
System.NullReferenceException: Loading custom asset failed:['<asset_name>' [CustomAssetMetaData, 082a798a36408fd943adbe9df9a56b91, in package ''<workshop_id>' [/<path>/Steam/steamapps/workshop/content/255710/<workshop_id>/<asset_name>.crp]' (2147090, 2048)]]
[Modding]

Błąd podobny do poprzednich. Tym razem może nam wskazać potencjalnego sprawcę problemów z grą. Jeżeli występują crashe związane z tym błędem to sugeruje się odsubskrybować wskazany dodatek.

LOD missing


Kod:
LOD missing: <workshop_id>.<asset_name>_Data  [Core]

Wskazuje na brakujący LOD w danym obiekcie. Może powodować dłuższe ładowanie się gry i problemy z LOD-em w tym obiekcie.

Źle zoptymalizowany LOD


Kod:
LOD vertex count high (<num1> > <num2>): <workshop_id>.<asset_name>_Data  [Core]

Jak sama nazwa mówi. Może powodować spadki FPS-ów i inne problemy z danym obiektem.

LOD has no base

Kod:
LOD has no base: <workshop_id>.<asset_name>_Data  [Core]

Nie wiadomo co dokładnie może oznaczać ten błąd. Możemy domyślać się, że chodzi o kolejne problemy z LODem jakiegoś obiektu.

Unknown prefab

Kod:
Unknown prefab: <prefab_name>  [Serialization]

Ten błąd wiąże się z brakiem danego prop-a bądź obiektu. Zazwyczaj spowodowany jest albo przez to, że autor obiektu nie dodał do listy wymaganych dodatków jakiegoś propa bądź użytkownik nie zasubskrybował wszystkich wymaganych dodatków z powyższej listy. Może powodować braki w budynkach lub innych obiektach albo całkowite "wymazanie" ich z gry (nie będą dostępne do wyboru oraz nie będą się pojawiać jeżeli zostały wcześniej postawione)



No i w zasadzie to by było na tyle Smile Niestety, do rozwiązania wielu powyższych błędów potrzebne jest więcej informacji, m.in lista modyfikacji, bądź okoliczności w jakich się pojawiły (np. odsubskrybowanie jakichś dodatków itp). Niektóre z nich mogą jednak nakierować nas na właściwy trop, dzięki czemu dość szybko uporamy się z problemem. Jeżeli jednak nie jesteście w stanie sami poradzić sobie z jakimś błędem, bardzo ważne jest to, by do wątku dołączyć powyższe pliki log. Bez nich nie jesteśmy w stanie stwierdzić co jest przyczyną błędu oraz udzielić wam pomocy.

Mam nadzieję, że komuś przyda się ten "poradnik" i dowie się paru rzeczy albo przynajmniej rozwieje on parę wątpliwości Smile Jeżeli macie coś do dodania to piszcie śmiało.
  Odpowiedz

Witaj na Cities Skylines PL!
Aby dodać odpowiedź zaloguj się, lub zarejestruj nowe konto

Jedynie zalogowani użytkownicy mogą odpowiadać w wątkach

Szybka rejestracja

Możesz także skorzystać z opcji szybkiej rejestracji za pomocą facebooka.



Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości