Aktualizacja: v1.18.2-rc.3/rc.4 – Archiwa rezonansu i poprawki wydajności serwera ctd.

Aktualizacja: v1.18.2-rc.3/rc.4 – Archiwa rezonansu i poprawki wydajności serwera ctd.
  • Drodzy Gracze:
  1. Wersja 1.18.2-rc.3 & rc.4, niestabilne wydanie, jest teraz dostępna do pobrania za pośrednictwem menedżera konta (sekcja „Inne Dodatki”).
  2. [Uaktualnienie:] Wydano również wersję rc.4, aby naprawić problem z awarią w trybie wieloosobowym i dodać brakujące lokalizacje.
  3. To uaktualnienie koncentruje się na wydajności serwera i powinno naprawić jeden lub dwa istotne problemy wprowadzone w rc.1 / 2.

  • Aktualizacje gry:

Poprawki:

  1. Dodano możliwość czarnolistowania modyfikacji po stronie klienta przez właścicieli serwera. Możesz dodać identyfikatory modów do „ModIdBlackList” w konfiguracji serwera.
  2. Dodano dalsze ulepszenia wydajności w obszarach z dużą ilością jednostek i upuszczonych przedmiotów.
  3. Te zmiany znacząco zmniejszają łączny czas spędzany na taktowaniu jednostek:
  • Taktowanie jednostek: poprawiono upuszczone przedmioty i inne jednostki biernego typu (szczegóły: teraz korzystają one również z CachingCollisionTester oraz różnych drobnych usprawnień).
  • Taktowanie jednostek: znacząca redukcja czasu taktowania dla upuszczonych przedmiotów.
  • Znacząca redukcja czasu taktowania serwera, gdy trzeba usuwać duże ilości jednostek (np. upuszczone przedmioty).
  • Taktowanie jednostek AI: brak spadku wydajności, gdy w pobliżu stworzeń znajduje się wiele upuszczonych przedmiotów.
  • Taktowanie jednostek AI: poprawka w rozpoczynaniu wykonywania zadań „idle” i „stayclosetoentity”.
  • Taktowanie jednostek: ogólna redukcja czasu taktowania (~3-10 ms średnio dla 10 000 jednostek na średnim sprzęcie, czasami więcej).
  • Taktowanie jednostek: znaczna redukcja czasu dla zachowania „timeddespawn” i „floatupwhenstuck”.
  • Fizyka jednostek: ulepszenia w lokomotorach (szczegóły: refaktoryzacja kodu dotyczącego jednostek graczy w nowy lokomotor PlayerEntityInAir).
  • Fizyka jednostek: Statystyki „walkspeed” są teraz sprawdzane tylko przez jednostki graczy.
  • Czas znikania upuszczonych przedmiotów można teraz skrócić, edytując plik zasobów „item.json”, bez wpływu na czas znikania upuszczonych przedmiotów w wyniku śmierci gracza (czas znikania upuszczonych przedmiotów w wyniku śmierci gracza jest teraz ustawiony na 10 minut).
  • Dodano brakujące lokalizacje w języku angielskim dla nazw cech i różnych wiekowych skrzyń.
  • Dodano nowe klucze lokalizacji dla ustawień trybu gry, wzrostu nasion w dniach, rozmiaru populacji uli, wyściółki latarń i różnych klawiszy skrótów.
  • Przewijanie myszką na pola wprowadzania liczb działa teraz w tym samym kierunku co przyciski (w górę = przesuń koło w górę).
  • Pola wprowadzania liczb mogły zakłócić wynik przy użyciu przewijania myszką + (SHIFT/CTRL).
  • Błędy dialogów z handlarzami po stronie klienta w wersji 1.18.2-rc1 i rc2.
  • Błędy po stronie klienta dla niektórych graczy dołączających do rozgrywki wieloosobowej po tym, jak inni gracze już byli na serwerze, w wersji 1.18.2-rc3.
  • Bardzo rzadkie błędy związane z węglem drzewnym i innymi pigmentami artystycznymi trzymanymi w ręku.
  • Linki w przewodniku do Gabloty Terakoty teraz działają (linki są wyświetlane na przedmiotach, które można przechowywać w Gablocie Terakoty).

API Ulepszenie:

  • Dodano „onshelfTransform” do ’.tfedit’ dla Półek i Półek na Książki.
  • Gablota, półka, półka na książki, skrzynka na ziemię, stojak na narzędzia/formy teraz zaktualizują się na żywo podczas edycji w edytorze transformacji.
  • Przy przełączaniu zakładek w tfedit zastosowane transformacje teraz są resetowane, a tylko kliknięcie „Zamknij i Zastosuj” zachowuje zmiany.

API Techniczne informacje dla programistów (1):

Server.LoadedEntities teraz jest CachingConcurrentDictionary, a nie ConcurrentDictionary, i jest oznaczone jako internal, nie jest przeznaczone do bezpośredniego dostępu przez modyfikacje. Jeśli twój kod bezpośrednio korzysta z server.LoadedEntities (mało prawdopodobne), to możesz potrzebować ponownej kompilacji kodu dla wersji 1.18.2-rc3. W każdym razie zalecamy nie korzystanie z pól server w sposób bezpośredni, a zamiast tego korzystanie z API, konkretnie IServerWorldAccessor.LoadedEntities. Nie ma zmian w API. Mody, które już korzystają z API zgodnie z przeznaczeniem, nie będą miały wpływu na te zmiany i nie będą musiały ponownie kompilować kodu. Więcej informacji znajdziesz w zaktualizowanej dokumentacji XML dla IServerWorldAccessor.LoadedEntities. Oto przykład zamierzonego użycia API przez mody do dostępu do załadowanych jednostek, ten kod przykładu będzie nadal działać i nie jest objęty zmianami omawianymi tutaj:

ICollection entities;
if (api.Side == EnumAppSide.Server) entities = (api as ICoreServerAPI).World.LoadedEntities.Values;
else entities = (api as ICoreClientAPI).World.LoadedEntities.Values;

API Techniczne notatki dla programistów (2):

Server.LoadedEntities teraz jest CachingConcurrentDictionary, a nie ConcurrentDictionary, i jest oznaczone jako internal, nie jest przeznaczone do bezpośredniego dostępu przez modyfikacje. Jeśli twój kod bezpośrednio korzysta z server.LoadedEntities (mało prawdopodobne), to możesz potrzebować ponownej kompilacji kodu dla wersji 1.18.2-rc3. W każdym razie zalecamy nie korzystanie z pól server w sposób bezpośredni, a zamiast tego korzystanie z API, konkretnie IServerWorldAccessor.LoadedEntities. Nie ma zmian w API. Mody, które już korzystają z API zgodnie z przeznaczeniem, nie będą miały wpływu na te zmiany i nie będą musiały ponownie kompilować kodu. Więcej informacji znajdziesz w zaktualizowanej dokumentacji XML dla IServerWorldAccessor.LoadedEntities. Oto przykład zamierzonego użycia API przez mody do dostępu do załadowanych jednostek, ten kod przykładu będzie nadal działać i nie jest objęty zmianami omawianymi tutaj:

public override double GetWalkSpeedMultiplier(double groundDragFactor = 0.3) 

{ 

double mul = base.GetWalkSpeedMultiplier(groundDragFactor); mul *= Stats.GetBlended("walkspeed");

mul *= Stats.GetBlended("walkspeed"); 

return mul; 

}

Comments

No comments yet. Why don’t you start the discussion?

Dodaj komentarz