Pre Generate swoje światy wydajnie.
3 polubień
12 pobrań
Chunk Pregenerator to narzędzie, które pozwala wydajniej generować świat, poprzez wcześniejsze generowanie chunków. Jest to narzędzie działające po stronie serwera, z opcjonalnymi funkcjami klienckimi.
Może być również używane w trybie jednoosobowym.
FAQ / Dokumentacja / Znane problemy i ich rozwiązania.
Można znaleźć w wiki na górze
Funkcje:
Ostrzeżenia dotyczące masywnego generowania świata (+400 chunków promienia):
Ta sekcja dotyczy każdej wersji Minecrafta. Jeśli coś jest specyficzne dla wersji, zostanie to zaznaczone.
Ponieważ wielokrotnie pytano mnie o masywne generowanie świata i powtarzam te same ostrzeżenia przy tych prośbach, pomyślałem, że je spiszę.
Te ostrzeżenia dotyczą tylko Vanilli, modyfikacje znacznie spotęgują te problemy, więc jeśli to czytasz, zastanów się, ile tak naprawdę dodają mody. (Mody strukturalne są jednym z konkretnych problemów)
Więc chcesz wygenerować obszar większy niż 250 chunków / 4000 bloków promienia. Powiedzmy, 1500 chunków promienia lub więcej. Jest kilka rzeczy, o które ty jako gracz lub właściciel serwera musisz zadbać, aby nie skończyć z uszkodzonym światem lub światem, który zużywa tyle RAMu, że jest niegrywalny. Minecraft niestety ma wycieki pamięci w każdej wersji gry.
Pierwszą rzeczą, którą należy wiedzieć, jest: Masywne generowanie świata zajmuje czas.
Jeśli wygenerujesz świat o promieniu 1000 chunków w Vanilli, możesz być pewien, że zajmie to 24-48 godzin. Jeśli pójdziesz na promień 2000 chunków, ten czas wzrośnie co najmniej 4-krotnie. Ale zazwyczaj jest to 8-krotność ze względu na ilość danych, które wchodzą w grę. Tak więc promień 2000 chunków zajmie najprawdopodobniej tydzień. W zależności od modpaka może to być 10x, 50x lub tylko 1.2x.
Jeśli pójdziesz na maksymalny promień (25k chunków promienia), to zajmie to ROK. I to nie z domyślnymi ustawieniami. Mam na myśli pełny rok przy najbardziej zoptymalizowanych ustawieniach, jakie można znaleźć. I jest to obliczone dla procesora I5-7500.
To nie jest najlepszy procesor, ale jest już dość szybki w porównaniu do procesorów serwerowych.
Następna rzecz: Miej wystarczająco dużo miejsca na dysku.
Mam mały świat w 1.16.5 (150 chunków promienia overworld i 100 chunków netheru) i zajmuje już 700MB w bardzo lekkim (pod względem generowania świata) modyfikowanym świecie. Pregen nawet nie zauważył modów.
Więc jeśli to podwoisz, będziesz już przy 2.8GB dla promienia 300 i 200 chunków. Jeśli pójdziesz na promień 1000 chunków, najprawdopodobniej osiągniesz użycie GB rzędu trzech cyfr tylko dla świata. (Modyfikacje pogorszą sprawę)
Upewnij się, że jesteś na to przygotowany. Jeśli masowo generujesz, miej co najmniej 1TB wolnego miejsca, jeśli idziesz wystarczająco daleko. To tylko sugestia, jeśli wiesz lepiej, to wiesz, co robić.
Następna rzecz: Nie zaczynaj od docelowego świata.
Jeśli masowo generujesz, nie zaczynaj od docelowego świata, na którym chcesz grać. Zacznij od mniejszego świata testowego (to samo ziarno) i zobacz, jak dobrze działa. Zrób na przykład generowanie o promieniu 300 i zobacz, jakie problemy się pojawią, ponieważ jeśli pojawi się problem w połowie generowania przy 75% i uszkodzi świat, stracisz znacznie więcej czasu niż tylko wykonanie 24-godzinnego testu generowania. A fajną rzeczą jest to, że Chunk pregen może również robić rozszerzenia. Więc w generowaniu krok po kroku możesz zobaczyć problemy i je naprawić. To wolniejszy proces, ale musisz zobaczyć, czego potrzebuje twoja gra, aby pozostać stabilna.
Możesz pójść ryzykowną drogą i po prostu zacząć i mieć nadzieję, że pójdzie dobrze, ale zazwyczaj tak nie będzie przy tej skali. Do promienia 300 chunków jest bezpiecznie, nawet jeśli pojawią się pewne efekty użycia RAMu, pozostaną one wystarczająco małe, aby nie powodować problemów przy konfiguracji 4-5GB RAMu.
Następna rzecz: Śledź pliki struktur, szczególnie kopalnie (tylko 1.12)
W wersji 1.12 lub starszej struktury są przechowywane globalnie. Oznacza to, że są zawsze ładowane. Zwykle nie stanowi to problemu, jeśli nie masz ich dużo (mniej niż 100). Problem polega na tym, że kopalnie pojawiają się WSZĘDZIE i pojawia się ich DUŻO.
Dlaczego to jest problem, skoro "plik kopalni ma tylko 500kb" (przykład), cóż, widzisz. Minecraft nie tylko przechowuje je globalnie, ale są one przechowywane globalnie 2 razy. Tak, 2 razy. Raz w użytecznej formie dla gry, a drugi raz w nieskompresowanej formie NBT, aby przyspieszyć czas zapisu. I to jest problem, ponieważ rzeczywiste pliki są niezwykle skompresowane. Więc te 500 KB może już oznaczać 1.5-3 GB użycia RAMu. Tak wysoka jest kompresja. Wszystkie pliki w folderze "data" są tak skompresowane. Więc jeśli zobaczysz wartości odstające, może to być powód wysokiego użycia RAMu. Ponieważ są one przechowywane globalnie w pamięci RAM. (Ale mody zazwyczaj przechowują je tylko 1 raz zamiast 2 razy jak struktury).
Więc jakie jest rozwiązanie? Dla waniliowych struktur. Możesz po prostu usunąć pliki, tylko upewnij się, że serwer nie działa w tym czasie. Jedyną rzeczą, która przestanie działać, jest komenda "locate", ponieważ faktycznie używa ona tych plików. I musisz tylko usunąć nadmiernie duże pliki. Wszystko poniżej 3 cyfr w zakresie KB można bezpiecznie zachować. Jeśli martwisz się, że coś może się zepsuć, po prostu zmień ich nazwy na potrzeby testu.
Ale w przypadku waniliowych struktur upewnij się, że śledzisz plik kopalni. Och, i w przypadku modów dodających struktury. W zależności od implementacji, ten problem istnieje również dla nich. Reconcurrent Complex faktycznie przechowuje wszystkie swoje struktury w jednym pliku, który zazwyczaj szybko robi się duży.
Ostatnia rzecz: Musisz utrzymywać swoją pregenerację.
Tak, nie możesz po prostu zacząć i czekać, aż się skończy, musisz ją śledzić. Na przykład miej otwarte wiadomości na czacie przez cały czas, gdy nie śpisz.
Ponieważ jeśli pojawi się problem, musisz o tym wiedzieć. W wersji 1.12 chunkpregen ma wyłączniki awaryjne, które zabiją grę, aby zapewnić bezpieczeństwo pliku zapisu. W wersji +1.14 prawie ich jeszcze nie ma, ponieważ problemy, które ma 1.12, są tak zdecentralizowane, że nie mogą już wpływać na główną grę.
Ale ogólnie rzecz biorąc, jeśli nie śledzisz swojej pregeneracji i coś ulegnie uszkodzeniu z powodu rzeczy, której nie sprawdziłeś, najprawdopodobniej będzie to oznaczać rozpoczęcie od nowa.
Ta lista to najczęściej powtarzające się problemy z masowym generowaniem. (+300 chunków promienia (10k średnicy świata)) Ostrzegałem przed nimi.
Mam nadzieję, że pomoże ci to jak najlepiej się przygotować i uwzględnić to wszystko.
Spotlighte:
Jeśli chcesz przesłać spotlight, zostanie on tutaj umieszczony:
Spotlight Bears Den (wersja 3.0.3):
Podgląd Spotlight Bears Den (wersja 3.0.3):
Autor: Bears Den (wersja 2.0):
Spotlight autorstwa Goshen (wersja 1.9.0)
Porady i triki z Amidst i JourneyMap (wersja 1.9.2)
Spam postępu na czacie:
Tak wygląda pasek postępu na czacie. (Wiem, fantazyjnie)
[Task Name] Pokazuje aktywne zadanie.
[World] Pokazuje świat, w którym zadanie jest wykonywane.
[Task Type] Pokazuje typ generowania
[Task] Pokazuje, jak daleko jest postęp zadania. "Main" to główny etap generowania, "Light" to finalizacja chunków, aby mogły być używane. A "Total" to całkowita liczba chunków do wygenerowania.
[Speed] Pokazuje, jak szybko każdy generator działa na tick. (20 ticków na sekundę)
[Loaded]: Pokazuje załadowane chunki, pliki regionów (pliki zapisu) i PointsOfInterest (rzeczy związane z osadnikami). Jest to pokazywane wyłącznie do celów debugowania i jeśli którakolwiek z tych liczb stanie się zbyt wysoka, wiesz, że masz problem. (Załadowane chunki: nigdy nie powinny przekraczać 15-20k początkowej ilości, pliki regionów nigdy nie powinny przekraczać 150, a Points of Interest zawsze powinny wracać do 50k, ale nie natychmiast)
[Time Left] Pokazuje szacowany czas do zakończenia zadania. (potrzebuje 5-10 minut, aby być dokładnym)
[Ram Usage] Pokazuje użycie RAMu przez serwer
Udało się!