Mody do Minecraft Right Tick Dynamic
Tick Dynamic logo

Tick Dynamic

Dynamiczna kontrola tikrate świata w celu zmniejszenia widocznego opóźnienia.

Kategorie modów


Downloads 565K pobrania
Views 0 opinie
Created Utworzony 7 lata temu

Zasoby zewnętrzne

Twórcy modów

The_Fireplace awatar

The_Fireplace

Opis moda

Tick Dynamic to mod do Minecraft Forge CoreMod, który będzie próbował utrzymać serwerowe Ticks Per Second na poziomie 20. Robi to poprzez indywidualne kontrolowanie liczby Entity i TileEntity, które aktualizują się każdego ticka. Kiedy TPS serwera spada, liczba Entity i TileEntity, które aktualizują się każdego ticka, również spada, aby utrzymać wysoki TPS serwera. Uwaga: obecnie nie jest kompatybilny z SpongeForge. Oryginalny projekt był autorstwa wildex999 i nigdy nie został opublikowany na Curse, o ile mi wiadomo. Tutaj jest link do oryginalnego moda, gdzie można znaleźć pobrania dla wersji 1.8 i 1.7.10. Tutaj jest, gdzie udziela on zgody na moją aktualizację, oprócz faktu, że jest licencjonowany na zasadach licencji MIT. Opis Na serwerze Minecraft świat aktualizuje się 20 razy na sekundę. Oznacza to, że serwer ma 50 milisekund, aby przejść przez każdy aktywny świat i zaktualizować Entity, TileEntity oraz inne elementy, takie jak oświetlenie i generowanie terenu. Kiedy twój serwer ma dużo graczy, duże bazy aktywne, serwer może zacząć mieć problemy z aktualizacją wszystkiego w określonym czasie. Dotyczy to zwłaszcza serwerów z modami z Chunk loaderami, dużymi bazami z wieloma TileEntities oraz wieloma nowymi potworami i innymi Entity. Dzięki Tick Dynamic na twoim serwerze, będziesz mógł określić, jak dużo czasu każdy świat ma do wykorzystania, a w każdym świecie, ile czasu Entity i TileEntity mogą wykorzystać. Gdy te limity zostaną osiągnięte, Tick Dynamic ograniczy liczbę Entity i/lub TileEntity, które aktualizują się każdego ticka dla określonych grup. W zasadzie masz osobne TPS dla Entity i TileEntity w każdym świecie. Więc co zyskujesz, utrzymując serwerowy TPS na poziomie 20, pozwalając Entity i TileEntity aktualizować się wolniej? - Mało lub brak opóźnień bloków - Interakcja z TileEntities (Skrzynie, Maszyny itp.) bez opóźnień - Ładowanie Chunków i teleportacja bez długich przerw - Brak lagów gracza podczas poruszania się - Brak rozłączeń z powodu długich ticków - Ogólnie niższy ping i bardziej responsywny serwer Zauważ jednak, że Tick Dynamic nie pomoże we wszystkich przypadkach, pewne zdarzenia wciąż spowodują spadek TPS lub zauważalne lagi. Przykłady to: - Generacja świata zajmująca znaczną ilość czasu na tick. - Szybka zmiana zużycia czasu dla danego świata - Jeden mod lub kombinacja mobów, zużywająca dużo czasu na pojedynczą operację podczas ticka. - Kopiowanie zapasowe świata Jednak Tick Dynamic powinien umożliwić wygładzenie szpików dość znacznie. Tick Dynamic umożliwia dużą kontrolę w utrzymywaniu tego 20 TPS. Jeśli chcesz, aby Entity działały na pełnym 20 TPS, ale nie zależy ci na TileEntities, możesz zapewnić większy kawałek czasu dla Entity. Jeśli chcesz dać Overworldowi więcej czasu, możesz również dać mu większy kawałek czasu niż innym światom. Instalacja Instalacja na serwerze wieloosobowym Tick Dynamic to mod Minecraft Forge, więc wymaga serwera Forge do działania. Możesz pobrać najnowszy instalator Forge tutaj. Pamiętaj, aby wybrać odpowiednią wersję zgodnie z wersją Minecrafta, którą uruchamiasz. Następnie po prostu zainstaluj serwer i uruchom go, aby wykonał początkową konfigurację. Gdy masz działający serwer Forge, po prostu pobierz Tick Dynamic ze strony pobierania i umieść w folderze mods na swoim serwerze Forge. Następnie musisz zrestartować serwer, a mod utworzy dla ciebie domyślną konfigurację i umieści ją w folderze config, pod nazwą tickdynamic.cfg. Przeczytaj sekcję Konfiguracja poniżej dla więcej informacji na temat konfiguracji moda. Instalacja na jednoosobowym kliencie Instalacja klienta jest praktycznie taka sama jak dla serwera. Po prostu pobierz instalator Forge, uruchom go, a następnie umieść Tick Dynamic w folderze mods. Konfiguracja Kiedy po raz pierwszy uruchomisz świat z tym zainstalowanym modem, zostanie utworzony nowy plik konfiguracyjny domyślny. Jest zakomentowany i powinien być dość łatwy do zrozumienia, ale istnieją pewne koncepcje, na które omówimy bardziej szczegółowo. Domyślny plik konfiguracyjny będzie wyglądać mniej więcej tak. Konfiguracja jest strukturalnie zorganizowana tak, że masz główną grupę, nazwaną światy. W obrębie tej grupy światy masz jedną grupę dla każdej z wymiarów/światów. A następnie w obrębie każdego świata masz grupy entity i tileentity. Zawsze jest tylko JEDNA z każdej, a Tick Dynamic automatycznie tworzy grupy dla nowych światów, gdy są one tworzone lub wczytywane na serwerze. Zaleca się wykonanie pierwszego uruchomienia, pozwalając modowi automatycznie tworzyć grupy, przejdź do konfiguracji i dostosuj ustawienia według własnych preferencji, a następnie wykonaj polecenie tickdynamic reload jako op na serwerze. W przyszłości pojawi się polecenie, które umożliwi bezpośrednią zmianę ustawień bez konieczności ponownego wczytywania lub edycji pliku konfiguracyjnego. slicesMax Jedną z opcji konfiguracyjnych, które zobaczysz powtarzane w konfiguracji, jest slicesMax. Plasterki są sposobem kontrolowania przydziału czasu do każdego świata, a w obrębie każdego świata do Entity i TileEntity. Każdego ticka czas (domyślnie 50 ms) będzie rozdzielany pomiędzy wszystkie światy, zgodnie z liczbą plasterków, jakie mają. Jeśli masz 3 światy, każdy z 100 plasterkami, to każdy świat otrzyma 100/300 = ~33% czasu. Możesz zatem dać Overworldowi maks. 300 plasterków, podczas gdy innym dwóm po 100 każdy. W ten sposób Overworld otrzyma 60% czasu. Z czasu dany świat jest dalej rozdzielany na TileEntities i Entities zgodnie z ich plasterkami, w taki sam sposób. TileEntities i Entities otrzymują część czasu najpierw nadaną światowi, więc ich plasterki są względne tylko w obrębie tego świata. Jeśli któraś grupa ma niewykorzystany czas, ten czas zostanie rozdzielony na pozostałe grupy. Dlatego nawet jeśli dasz 1000 plasterków TileEntities i 100 Entities, jeśli TileEntities nie wykorzystuje całego czasu, Entities będą mogły wykorzystać więcej niż 100 plasterków czasu. Więc wzór na przeliczanie plasterków na procent czasu to: (self.maxSlices/allSiblings.maxSlices)*100 Uwaga: maxSlices = 0 ma specjalne znaczenie. Oznacza to, że czas użycia grupy jest uwzględniony, ale nieograniczony. W zasadzie może zająć tyle czasu, ile jest mu potrzebne, nawet jeśli przekroczy maksymalny czas rodzica, przesuwając swoich rodzeństwo do minimumObjects. minimumObjects Kiedy serwer przekracza określony czas ticka 50 ms, będzie stopniowo ograniczać liczbę aktualizujących się Entity i TileEntities. Ostatecznie dojdzie do punktu, w którym po prostu przestanie je aktualizować, co nie zawsze jest pożądane. Korzystając z minimumObjects, możesz ustawić punkt, poniżej którego nie będzie schodzić, niezależnie od tego, jak niski TPS ma serwer. Polecenia /tickdynamic list [dimnames, time, entitiesrun, tps, maxslices, minimumentities] [page] Polecenie list wyświetli wszystkie światy oraz żądane dane o nich oraz Entity & TileEntities w nich. Jeśli lista jest dłuższa niż 6 wierszy, zostanie podzielona na kilka stron. Domyślnie pokaże pierwszą stronę, ale możesz podać numer strony jako ostatni argument. list dimnames Wyświetla nazwy wymiarów i ich identyfikatory wymiarów. Wszystko inne na liście obecnie korzysta z numerów wymiarów (takich jak DIM0, DIM-1 itp.), dlatego używając list dimnames, możesz uzyskać listę rzeczywistych nazw przypisanych do tych numerów. Jest to obecnie tymczasowe i będzie tylko wyświetlać nazwy wymiarów obecnie załadowanych i aktywnych. Powodem korzystania tylko z numerów DIM na początek jest to, że nazwy często są tak długie, że powodują, że tabela zawija się na kilka wierszy w czacie. list time [page] Wyświetla średni używany i średni danej czas w milisekundach. Na początku każdego ticka Tick Dynamic bierze średni czas używany i slicesMax dla każdej grupy i ponownie rozdziela czas. To polecenie pokaże te dane, pozwalając ci zobaczyć, który świat i która grupa w tym świecie zużywa czas. Ta lista pokazuje również kolumnę Dane świata, która jest łącznym czasem zużytym na Entity i TileEntity w tym świecie. Jednym specjalnym wpisem tutaj jest (Inne). Oznacza to, że jakikolwiek czas wykorzystany poza Entity i TileEntity, a gdy Tick Dynamic oblicza rozkład czasu, będzie musiał odjąć ten czas od puli. Począwszy od wersji 0.1.3 pojawiła się również grupa Zewnętrzne. Ta grupa pokaże czas zużyty między tickami, który powoduje, że następny tick zaczyna się późno. Zauważysz, że ten czas jest wykorzystywany w dużych ilościach, jeśli masz inne rzeczy działające na tej samej maszynie co serwer Minecrafta. Jeśli to zużywa znaczną ilość czasu, może to oznaczać, że masz coś innego, co zużywa dużo czasu procesora. list entitiesrun [page] Wyświetla liczbę Entity/TileEntity, które uruchamiają się średnio każdego ticka. Daje to ogólny obraz liczby Entity lub TileEntity, które uruchamiają się każdego ticka, i w połączeniu z list time daje dobry wgląd w to, co można zrobić, aby zmniejszyć zużycie czasu w różnych światach. list tps [page] Wyświetla aktualne Ticks Per Second Entity i TileEntity w każdym świecie. Daje to wskazówkę, jak bardzo dana grupa została spowolniona. Na przykład, jeśli Entity ma TPS 10, oznacza to, że tylko połowa Entity zostanie zaktualizowana podczas każdego ticka serwera. Uwaga: Niektóre światy mogą pokazywać TPS jako ,00. Oznacza to, że świat obecnie nie jest załadowany i/lub aktywny. list maxslices [page] W zasadzie wyświetla obecną wartość slicesMax z pliku konfiguracyjnego. Sprawdź dokumentację slicesMax dla konfiguracji, aby uzyskać więcej informacji. list minimumentities [page] W zasadzie wyświetla obecną wartość minimumObjects z pliku konfiguracyjnego. Sprawdź dokumentację minimumObjects dla konfiguracji, aby uzyskać więcej informacji. /tickdynamic tps Wyświetla aktualny średni TPS serwera /tickdynamic value To polecenie obecnie nie jest zaimplementowane, ale w przyszłości pozwoli na bezpośrednią zmianę wpisów konfiguracyjnych bez konieczności ręcznej edycji pliku konfiguracyjnego i uruchamiania ponownego wczytywania. /tickdynamic reload Ponownie wczytuje plik konfiguracyjny i stosuje nową konfigurację. /tickdynamic enabled [yes, y, no, n] Włącza lub wyłącza Tick Dynamic. Należy pamiętać, że w niektórych przypadkach wciąż zbiera dane, ale nie stosuje żadnych ograniczeń. Uwaga: Ta zmiana nie jest zapisywana w pliku konfiguracyjnym! /tickdynamic help Na razie po prostu wyświetla adres URL tej strony. Sprawdź moje inne modyfikacje: Mody serwerowe: Klany Grand Exchange Grand Economy Zrzutka na pancerz żółwia Mob Rebirth WorldGen Block Replacer Unforgiving Void Fires Clay Spawn Raining Cats and Dogs Króliki rozmnażają się jak króliki Mody klienta: Time HUD Klawiszowe skróty komend Hacker Voice: Im In (HVII) Inne mody: Władca Mechaniczni żołnierze Fires Random Things Adobe Blocks 2 Nether Essence Fires Survival Tweaks New Age Bee Breeding (NABB)