Wstępnie generuj efektywnie swoje światy
3 polubień
12 pobrań
Pregenerator fragmentów to narzędzie, które pozwala wydajniej generować świat poprzez zapobiegawcze generowanie fragmentów.
Jest to narzędzie po stronie serwera, które w razie potrzeby ma pewne opcjonalne funkcje klienta.
Można go również używać w trybie dla jednego gracza.
FAQ / Dokumentacja / Znane problemy i poprawki tych problemów.
Można znaleźć na wiki na górze
Cechy:
Ostrzeżenia dotyczące generacji ogromnego świata (promień kawałka +400):
Ta sekcja dotyczy dowolnej wersji gry Minecraft. Jeśli coś jest specyficzne dla wersji, zostanie to odnotowane.
Ponieważ wielokrotnie pytano mnie o ogromny światgen i powtarzam te same ostrzeżenia w tych prośbach, pomyślałem, że przepiszmy je.
Te ostrzeżenia dotyczą tylko wersji Vanilla, modowanie znacznie pogłębi te problemy, więc jeśli to przeczytasz, pomyśl o tym, ile modów faktycznie dodaje. (Modyfikacje struktur to jeden konkretny problem)
Chcesz więc wygenerować promień większy niż 250 fragmentów/4000 bloków. Powiedzmy, że promień kawałka wynosi 1500 lub więcej. Jest kilka rzeczy, o które musisz zadbać jako gracz lub właściciel serwera, aby mieć pewność, że nie skończysz ze światem zepsutym lub światem, który zużywa tak dużo pamięci RAM, że nie da się w nim grać. Minecraft ma niestety pewne wycieki pamięci w każdej wersji gry.
Pierwszą rzeczą, którą należy wiedzieć, jest:
Massive WorldGeneration wymaga czasu
.
Jeśli wygenerujesz świat 1000 ChunkRadius w Vanilla, możesz być pewien, że zajmie to 24-48 godzin. Jeśli wybierzesz promień kawałka 2000, czas ten będzie co najmniej 4-krotny. Ale zwykle jest to 8x, biorąc pod uwagę ilość danych, które wchodzą w grę. Zatem promień kawałka 2000 zajmie najprawdopodobniej tydzień. W zależności od pakietu modów będzie to 10x, 50x lub tylko 1,2x.
Jeśli przejdziesz do maksymalnego promienia (25 tys. ChunkRadius), zajmie to ROK. I nie z ustawieniami domyślnymi. Mam na myśli cały rok przy najbardziej zoptymalizowanych ustawieniach, jakie można znaleźć. Obliczono to dla procesora I5-7500.
Nie jest to najlepszy procesor, ale jest już dość szybki w porównaniu do procesorów serwerowych.
Następna rzecz to:
Miej wystarczającą ilość miejsca na dysku.
Mam mały świat w wersji 1.16.5 (150 Chunk Radius na świecie i 100 Chunk Nether) i zajmuje on już 700 MB w bardzo lekkim (worldgen) zmodyfikowanym świecie. Pregen nawet nie zauważył modów.
Jeśli więc podwoisz tę ilość, masz już 2,8 GB przy promieniu kawałka 300 i 200. Jeśli wybierzesz promień 1000 kawałków, najprawdopodobniej będziesz używać 3-cyfrowego GB tylko dla świata. (Modyfikacja pogorszy sytuację)
Upewnij się, że jesteś na to przygotowany. Jeśli masz moduł Massgen, masz co najmniej 1 TB wolnego miejsca, jeśli będziesz wystarczająco duży. To tylko sugestia, jeśli wiesz lepiej, to wiesz, co robić.
Następna rzecz to:
Nie zaczynaj od ostatecznego świata.
Jeśli generujesz masę, nie zaczynaj od ostatecznego świata, na którym chcesz grać. Zacznij od mniejszego świata testowego (tego samego materiału siewnego) i zobacz, jak dobrze to działa. Podobnie jak genowanie o promieniu 300 i zobacz, jakie problemy się pojawią, ponieważ jeśli wystąpi problem ze średnim generatorem na poziomie 75% i zepsuł on świat, tracisz dużo więcej czasu niż po prostu wykonując 24-godzinny test generacji. A fajne jest to, że Chunk Pregen też może robić ekspansje. Dzięki temu, krok po kroku, możesz zobaczyć problemy i je naprawić. Jest to proces wolniejszy, ale musisz zobaczyć, czego potrzebuje Twoja gra, aby zachować stabilność.
Możesz wybrać ryzykowną drogę i po prostu zacząć z nadzieją, że wszystko pójdzie dobrze, ale zazwyczaj nie będzie tak na taką skalę. Można zaoszczędzić do 300 fragmentów, mimo że pojawią się pewne efekty użycia pamięci RAM, pozostaną one na tyle małe, że nie powodują problemów przy konfiguracji pamięci RAM 4-5 GB.
Następna rzecz to:
Śledź pliki struktur, w szczególności kopalnie (tylko 1.12)
W wersji 1.12 lub starszej struktury są przechowywane globalnie. Oznacza to, że są zawsze załadowane. Zwykle nie stanowi to problemu, jeśli nie masz dużo (mniej niż 100). Problem polega na tym, że kopalnie pojawiają się WSZĘDZIE i pojawia się ich wiele.
Dlaczego jest to problem, mimo że „plik kopalni ma tylko 500 KB” (przykład), cóż, widzisz. Minecraft nie tylko przechowuje je globalnie, ale są one przechowywane globalnie 2x. Tak 2 razy. Raz w formie nadającej się do gry, a drugi raz w nieskompresowanej formie NBT, aby przyspieszyć czas pisania. I to jest problem, ponieważ rzeczywiste pliki są niezwykle skompresowane. Tak więc 500 KB mogłoby już oznaczać 1,5-3 GB wykorzystania Ramu. Tak wysoka kompresja. Wszystkie pliki w folderze „data” są skompresowane. Jeśli więc zauważysz wartości odstające, może to być przyczyną dużego zużycia pamięci RAM. Ponieważ są one globalnie przechowywane w pamięci RAM. (Ale mody zwykle przechowują je tylko 1x zamiast struktur 2x).
Więc jakie jest na to rozwiązanie?
Do struktur waniliowych. Możesz po prostu usunąć pliki, upewnij się tylko, że serwer nie jest w tym czasie uruchomiony. Jedyne, co już nie działa, to polecenie „lokalizuj”, ponieważ faktycznie używa tych plików. Wystarczy usunąć tylko zbyt duże pliki. Podobnie jak wszystko poniżej 3 cyfr w zakresie KB, można je zachować. Jeśli obawiasz się, że coś może się zepsuć. Po prostu zmień ich nazwę na potrzeby testu.
Ale w przypadku struktur waniliowych pamiętaj o śledzeniu pliku szybów kopalnianych. Aha i dla modów, które dodają struktury. W zależności od wdrożenia, problem ten występuje również u nich. Kompleks współbieżny faktycznie przechowuje wszystkie swoje struktury w jednym pliku, który zwykle dość szybko się powiększa.
Ostatnia rzecz:
Musisz utrzymać swoją pregenerację
.
Tak, nie możesz po prostu zacząć i czekać, aż się skończy, musisz to śledzić. Podobnie jak utrzymywanie wiadomości czatu otwartych w dowolnym momencie, gdy nie śpisz.
Ponieważ jeśli pojawi się problem, musisz o tym wiedzieć. W wersji 1.12 chunkpregen ma przełączniki awaryjne, które zabiją grę, aby zapewnić bezpieczeństwo pliku zapisu. W wersji +1.14 prawie ich jeszcze nie ma, ponieważ problemy występujące w wersji 1.12 są tak zdecentralizowane, że nie mogą już mieć wpływu na główną grę.
Ale ogólnie rzecz biorąc, jeśli nie będziesz śledzić swojej pregeneracji i cokolwiek ulegnie uszkodzeniu z powodu rzeczy, której nie sprawdziłeś, najprawdopodobniej będzie to restart od zera.
Na tej liście najczęściej powtarzają się problemy związane z generacją masową. (+300 Promień kawałka (światowa średnica 10 tys.)), o którym ostrzegałem.
Mam nadzieję, że pomoże Ci to przygotować jak najwięcej rzeczy i że uwzględnisz to wszystko.
Reflektory:
Jeśli chcesz przesłać Spotlight, zostanie on wstawiony tutaj:
Spotlight Bears Den (wersja 3.0.3):
Podgląd Spotlight Bears Den (wersja 3.0.3):
Autor: Bears Den (wersja 2.0):
Spotlight autorstwa Goshena (wersja 1.9.0)
Wskazówki i porady dotyczące Amidst & JourneyMap (wersja 1.9.2)
Spam na czacie postępu:
Tak wygląda pasek postępu na czacie. (Wymyślne, wiem)
[Nazwa zadania] Pokazuje aktywne zadanie.
[Świat] Pokazuje świat, w którym działa zadanie.
[Typ zadania] Pokazuje typ generowania
[Zadanie] Pokazuje postęp zadania. „Główny” to główny etap generowania, „Lekki” to finalizacja fragmentów, aby można je było wykorzystać. Natomiast „Łącznie” określa całkowitą liczbę fragmentów do wygenerowania.
[Prędkość] Pokazuje, jak szybko pracuje każdy generator na okres. (20 taktów na sekundę)
[Załadowany]: Pokazuje załadowane fragmenty, pliki regionów (zapisywanie plików) i punkty zainteresowania (rzeczy wieśniaków). Jest to pokazane tylko z powodów związanych wyłącznie z debugowaniem i jeśli którakolwiek z tych liczb osiągnie szaleńczo wysoki poziom, wiesz, że masz problem. (Wczytane fragmenty: kwota początkowa nigdy nie powinna przekraczać 15–20 tys., pliki RegionFiles nigdy nie powinny przekraczać 150, a interesujące miejsca powinny zawsze wracać do 50 tys., ale nie natychmiast)
[Pozostały czas] Pokazuje szacowany czas do zakończenia zadania. (potrzebuje 5-10 minut, aby uzyskać dokładność)
[Użycie pamięci RAM] Pokazuje wykorzystanie pamięci RAM serwera
Udało się!