Cascadia Merge
Przepływy pracy

Mody serwerowe Vintage Story: przetestowane najpierw na kopii

03
Dzień aktualizacji

Aktualizuj mody i ustawienia bez utraty świata

Wyszła aktualizacja gry, a Ty chcesz zaktualizować mody i swój świat, nie tracąc postępów. Zmiana ustawień serwera Vintage Story i dodawanie modów to dwie zmiany, które mogą uniemożliwić załadowanie świata, dlatego ten przepływ pracy wykonuje je w ustalonej kolejności: skopiuj zapisy, zmień jedną rzecz, uruchom serwer i przeczytaj log, a następnie zmień kolejną rzecz. Cascadia Merge wykonuje pracę na plikach i pokazuje Ci każdy wynik jako kartę. Każdą decyzję podejmujesz Ty, a serwer pozostaje wyłączony, dopóki zmieniają się pliki. Zaplanuj, aby Twój czas spędzać na czytaniu różnic (diffs) i logów, a nie na wpisywaniu ścieżek, oraz zapisuj wersję każdego moda przed jego zmianą, aby lista mogła służyć jako rejestr dnia aktualizacji.

01

Otwórz folder danych

Wybierz folder danych serwera jako folder roboczy dla nowego czatu. Agent wypisuje zawartość folderu za pomocą list_dir, więc widzisz foldery Saves, Backups i Mods zanim cokolwiek zostanie dotknięte. Na komputerze z systemem Windows domyślna lokalizacja to folder VintagestoryData w folderze AppData\Roaming użytkownika, chyba że uruchomiono serwer z inną ścieżką danych.

02

Skopiuj zapisy

Przy wyłączonym serwerze agent kopiuje folder Saves do Backups przy użyciu Twojego własnego skryptu kopii zapasowej. Czytasz kod wyjścia w karcie, prosisz o drugie list_dir folderu Backups i potwierdzasz, że nowa kopia rzeczywiście tam jest, zanim przejdziesz dalej.

03

Zmień jedną rzecz

Edytuj serverconfig.json lub zamień jeden moda, nigdy obu jednocześnie. Agent pokazuje diff dla zmiany ustawienia, a Ty akceptujesz lub odrzucasz go w trybie Ask first. Moda, który zamieniasz ręcznie, umieszczasz w folderze Mods jako plik .zip, a w jednej rundzie zmienia się tylko jeden taki plik.

04

Uruchom i przetestuj

Uruchom serwer swoim własnym skryptem, pozwól agentowi wyszukać w logu nieudanych modów i dołącz z gry. Jeśli coś się zepsuje, wiesz, która zmiana była przyczyną, i możesz przenieść ten jeden plik lub przywrócić tę jedną linię z kopii, którą zrobiłeś na początku.

Fragment serverconfig.json

serverconfig.json
{
  "ServerName": "Friends World",
  "Port": 42420,
  "MaxClients": 10,
  "Password": null,
  "AllowPvP": false,
  "AdvertiseServer": false
}

To jest fragment serverconfig.json, a nie kompletny plik, zawierający tylko wartości zastępcze. Port gry to 42420 (TCP), a puste hasło oznacza, że hasło nie jest ustawione, więc dodaj je przed otwarciem świata dla internetu. Edytuj prawdziwy plik tylko wtedy, gdy serwer jest wyłączony, i trzymaj swoją własną kopię obok folderu Saves.

Zarządzaj modami serwerowymi Vintage Story w czterech krokach

Sprawdź, co jest zainstalowane

Zacznij od sprawdzenia, zanim cokolwiek zmienisz. Agent używa list_dir i glob, aby znaleźć folder Mods wewnątrz folderu danych, read_file, aby otworzyć modinfo.json każdego moda znajdującego się w folderze, oraz write_file, aby zapisać prostą listę nazw i wersji w Twoim folderze roboczym. Jeśli potrzebujesz pomocy z modami na serwerze hostowanym, najpierw sprawdź, czy możesz dotrzeć do jego folderu danych, ponieważ agent może pracować tylko na plikach, które możesz otworzyć. Wypisz listę. Porównujesz ją z modami, które mają Twoi gracze, ponieważ serwer i gracze potrzebują tych samych modów i wersji, i decydujesz, co zaktualizować. Nic się jeszcze nie zmieniło, a Ty masz rejestr tego, co było zainstalowane przed aktualizacją, co pomaga, jeśli będziesz musiał cofnąć krok później.

Najpierw skopiuj zapisy

Twój świat to jeden plik .vcdbs w folderze Saves, więc skopiuj ten folder przed każdą aktualizacją gry, zmianą moda i zmianą ustawień. Najpierw wyłącz serwer. Agent używa copy_file, aby umieścić plik świata w folderze Backups, a Shell uruchamia Twój własny skrypt kopii zapasowej i raportuje rzeczywisty kod wyjścia w karcie. Kopia, której nigdy nie przywrócono, to tylko zgadka, więc przywróć ją raz do wolnego folderu, otwórz ją i sprawdź, czy świat tam jest. Dopiero wtedy przechodzisz do części pracy, która zmienia pliki, mając bezpieczną drogę powrotu, jeśli zmiana pójdzie nie tak. Nic nie usuwasz, a zapis nigdy nie jest usuwany bez kopii. Jeśli folder zawiera kilka światów, skopiuj cały folder Saves, aby żaden z nich nie został pominięty.

Zmień jedno ustawienie lub moda

Teraz zmień jedną rzecz. Aby dostosować ustawienia serwera Vintage Story, agent używa edit_file na serverconfig.json i pokazuje diff w trybie Ask first; aby zaktualizować moda, umieszczasz nowy .zip w folderze Mods samodzielnie, tylko z oficjalnej bazy modów. Jeśli świat nie ładuje się po zainstalowaniu moda, ostatnia zmiana jest podejrzana, i możesz ją cofnąć, przenosząc ten plik dalej. Zatrzymaj się tutaj. Nie dodajesz drugiego moda, zanim nie przetestujesz pierwszego, ponieważ dwie zmiany jednocześnie ukrywają przyczynę. Plan only może najpierw zapisać kroki bez ich uruchamiania, co jest przydatne, gdy chcesz listę kontrolną na dzień aktualizacji, którą może przeczytać również drugi administrator.

Uruchom serwer i przeczytaj log

Uruchom serwer swoim własnym skryptem startowym. Shell uruchamia go i pokazuje rzeczywisty kod wyjścia, a następnie grep wyszukuje w logu serwera słowa failed i error. Rozwiązywanie problemów na dedykowanym serwerze zaczyna się od tego logu, a karta wypisuje każdą pasującą linię, abyś mógł je przeczytać po kolei. glob znajduje pliki logu, jeśli nie jesteś pewien, który jest najnowszy. Następnie dołączasz z gry i przechadzasz się po świecie. Akceptujesz zmianę jako zakończoną tylko wtedy, gdy log jest czysty i drugi gracz dołączył. Jeśli nie jest czysty, wracasz o krok, czytasz pierwszy błąd, a nie ostatni, i przywracasz kopię zapisów, jeśli sam świat uległ uszkodzeniu.

Cascadia Merge dla systemu Windows

Zacznij od kopii swoich zapisów

Pobierz Cascadia Merge ↗