Aktualizacja aplikacji Marinara Engine

Zaktualizuj aplikację Marinara Engine do nowszej wersji, sprawdzaj dostępność aktualizacji w samej aplikacji i wróć do starszej wersji, gdy coś się zepsuje. Czaty i ustawienia zostają zachowane przy aktualizacji.

Którą metodę aktualizacji wybrać?

Sposób instalacjiSposób aktualizacji
Instalator dla systemu Windows lub start.batZamknij aplikację Marinara i otwórz ją ponownie. Zobacz Windows.
macOS lub LinuxUruchom ponownie ./start.sh. Zobacz macOS i Linux.
Docker lub PodmanPobierz nowy obraz i uruchom kontener ponownie. Zobacz Docker lub Podman.
Aplikacja na system AndroidZaktualizuj plik APK, a potem dotknij Install / Start Marinara. Zobacz Android (Termux).
iPhone lub iPadZaktualizuj urządzenie, na którym działa serwer. Zobacz iPhone i iPad.

Najpierw kopia zapasowa

Zrób kopię zapasową przed każdym większym skokiem między wersjami i zawsze przed ewentualnym powrotem do starszej wersji.

  1. Otwórz panel Settings (Ustawienia).
  2. Przejdź do zakładki Advanced (Zaawansowane).
  3. Znajdź sekcję Backup & Export (kopia zapasowa i eksport).
  4. Kliknij przycisk Download Backup (pobranie kopii zapasowej).
  5. Zapisz plik .zip w bezpiecznym miejscu.

Na czas pracy przycisk pokazuje Creating backup…. Po zakończeniu przeglądarka zapisuje archiwum .zip z danymi. Przywracanie opisuje przewodnik Kopia zapasowa i przywracanie danych aplikacji Marinara.

Aktualizacja według platformy

Wybierz sekcję pasującą do sposobu, w jaki aplikacja Marinara została zainstalowana. Kopia Git to kopia zainstalowana narzędziem Git. Obejmuje to instalację z instalatora dla systemu Windows i każdą kopię utworzoną poleceniem git clone.

Windows

Program uruchamiający aktualizuje aplikację Marinara, gdy ją uruchamiasz.

  1. Zamknij aplikację Marinara Engine.
  2. Otwórz ją ponownie skrótem na pulpicie lub w menu Start albo uruchom start.bat.

Program uruchamiający pobiera najnowszy kod, doinstalowuje to, co się zmieniło, przebudowuje aplikację i uruchamia nową wersję. Jeśli w kodzie są twoje własne zmiany, odkłada je na bok i po aktualizacji przywraca na miejsce. Jeśli to się nie uda, zostawia obecną wersję i wypisuje informację. Przed aktualizacją kopiuje dane, a aktualizację, która prowadziłaby do wersji starszej niż twoje dane, pomija (zobacz Powrót do starszej wersji).

Żeby jednorazowo pominąć aktualizację, uruchom start.bat --skip-update. Żeby zostać na zainstalowanej wersji przy kolejnych uruchomieniach, ustaw AUTO_UPDATE_ENABLED=false w pliku .env projektu. Wyłącza to tylko automatyczne aktualizacje. Polecenia ręczne i Settings → Advanced → Check for Updates (ustawienia, zaawansowane, sprawdzenie aktualizacji) działają dalej.

Jeśli program uruchamiający zgłasza, że Node.js jest za stary, zainstaluj Node.js 24 LTS (Long Term Support, czyli zalecane stabilne wydanie) i uruchom aplikację Marinara ponownie. Możesz też pobrać najnowszy instalator ze strony GitHub Releases i go uruchomić.

macOS i Linux

  1. Zamknij aplikację Marinara Engine.
  2. Uruchom program uruchamiający z folderu aplikacji Marinara.
./start.sh

Program uruchamiający pobiera najnowszy kod, doinstalowuje zmienione zależności, przebudowuje aplikację i uruchamia nową wersję. Użyj ./start.sh --skip-update, żeby jednorazowo pominąć aktualizację, albo ustaw AUTO_UPDATE_ENABLED=false w pliku .env, żeby wyłączyć automatyczne aktualizacje. Jeśli Node.js jest za stary, zainstaluj Node.js 24 LTS i jeszcze raz uruchom program uruchamiający.

Docker lub Podman

Kontenery aktualizuje się przez pobranie nowego obrazu, a nie przez program uruchamiający. Zrób kopię zapasową, a potem uruchom to polecenie w folderze, w którym leży plik Compose.

docker compose pull && docker compose up -d

W przypadku narzędzia Podman użyj zamiast tego podman compose. Obrazy wydań to ghcr.io/pasta-devs/marinara-engine:X.Y.Z i :latest oraz odpowiadające im tagi -lite. Pobranie obrazu nie rusza danych w woluminie marinara-data. Zobacz Uruchamianie w kontenerze.

Android (Termux)

Termux to aplikacja na system Android, w której działa mały system Linux dla aplikacji Marinara. Program uruchamiający w środowisku Termux aktualizuje aplikację Marinara przy każdym uruchomieniu.

  1. Otwórz aplikację Termux.
  2. Uruchom program uruchamiający.
cd Marinara-Engine
./start-termux.sh

Program uruchamiający aktualizuje kod, w razie potrzeby podnosi wersję środowiska Node.js, przebudowuje aplikację i uruchamia serwer. Jeśli aktualizacja coś psuje i chcesz zostać na obecnej kopii, dodaj --skip-update. Żeby wyłączyć automatyczne aktualizacje, ustaw AUTO_UPDATE_ENABLED=false w pliku .env projektu.

Jeśli korzystasz z aplikacji na system Android (plik APK), pobierz najnowszy plik APK i otwórz go, żeby Android zaktualizował aplikację. Następnie otwórz aplikację Marinara Engine i dotknij Install / Start Marinara, żeby zaktualizować i uruchomić kopię w środowisku Termux. Aktualizacja nigdy nie prosi o poświadczenia podpisu ani o sekret.

iPhone i iPad

Na tych urządzeniach serwer nie działa. Ikona na ekranie głównym to PWA, czyli strona internetowa zapisana na ekranie głównym, która otwiera się jak aplikacja.

  1. Zaktualizuj komputer, host kontenera albo urządzenie z systemem Android, na którym działa serwer Marinara. Skorzystaj z odpowiedniej sekcji powyżej.
  2. Odśwież aplikację z ekranu głównego albo kartę w przeglądarce Safari.

Jeśli Safari wciąż pokazuje starszą wersję, zainstaluj PWA ponownie. Zobacz Czyszczenie i ponowna instalacja aplikacji PWA.

Ręczna aktualizacja (kopia Git, bez programu uruchamiającego)

Użyj tej metody, jeśli uruchamiasz kopię Git poleceniem pnpm start zamiast programem uruchamiającym. Wpisuj te polecenia w folderze aplikacji Marinara.

  1. Pobierz najnowszy kod stabilny.
git fetch origin +refs/heads/main:refs/remotes/origin/main
  1. Przejdź na niego.
git merge --ff-only origin/main || git checkout --detach origin/main
  1. Zainstaluj ponownie zależności, przebuduj aplikację i ją uruchom.
pnpm install --force --frozen-lockfile
pnpm build
pnpm start

W przypadku wersji testowej (staging) uruchom te dwa polecenia zamiast kroków 1 i 2:

git fetch origin +refs/heads/staging:refs/remotes/origin/staging
git checkout -B staging origin/staging

Ostrzeżenie: Wersje staging to przedpremierowe wersje testowe. Zanim ich użyjesz, zrób kopię zapasową danych.

Aktualizacja z poziomu aplikacji

Marinara potrafi sprawdzić w serwisie GitHub, czy jest nowsza wersja. Część instalacji potrafi też wgrać aktualizację prosto z przeglądarki.

  1. Otwórz panel Settings.
  2. Przejdź do zakładki Advanced.
  3. Znajdź sekcję Updates (aktualizacje).

Wybór kanału wydań

Lista rozwijana Release Channel (kanał wydań) określa, które wersje śledzisz.

Gdy wybierzesz inny kanał w przeglądarce na komputerze, na którym działa serwer, przycisk aktualizacji zmienia napis na Switch to (przełącz na) z nazwą kanału. Działa nawet wtedy, gdy zwykłe aktualizacje w aplikacji są wyłączone, a na czas pracy pokazuje Switching…. Urządzenia zdalne nie mogą tego zrobić, chyba że spełniają opisane niżej warunki przycisku Apply Update.

Check for Updates

Kliknij przycisk Check for Updates. Na czas pracy przycisk pokazuje Checking…. Pod nim widać pola Release (wydanie) z twoją wersją, Build (kompilacja) z kodem commita oraz, jeśli jest znana, Branch (gałąź).

Wynik sprawdzania wydań jest trzymany w pamięci podręcznej przez około 15 minut, a liczba commitów przez około 5 minut, więc ponowne kliknięcie od razu może pokazać te same liczby.

Jeśli sprawdzanie się nie powiedzie, zobaczysz komunikat "Could not check for updates. Try again later." Zwykle oznacza to problem z siecią albo z serwisem GitHub.

Apply Update

Przycisk Apply Update (wgranie aktualizacji) aktualizuje kopię Git z poziomu przeglądarki. Pojawia się tylko wtedy, gdy spełnione są wszystkie te warunki:

Do wgrania aktualizacji z komputera, na którym działa serwer, sekret administratora nie jest potrzebny. Otwórz aplikację Marinara pod adresem http://127.0.0.1:7860 albo http://localhost:7860.

Zmieniają to dwa ustawienia:

Wgrywanie aktualizacji z innego urządzenia jest domyślnie wyłączone. Wymaga wszystkich trzech warunków:

Kliknij Apply Update. Gdy serwer pobiera kod, doinstalowuje zależności, przebudowuje aplikację i się wyłącza, przycisk pokazuje Updating…. Potem pojawia się komunikat "Update applied successfully. Please relaunch the app to use the new version." Uruchom aplikację Marinara ponownie, żeby dokończyć.

Jeśli to nie zadziałało: gdy przycisku Apply Update brakuje, Marinara pokazuje dlaczego.

Odświeżenie aplikacji w przeglądarce

Przycisk Refresh App (odświeżenie aplikacji) znajduje się w tej samej sekcji Updates. Nie aktualizuje serwera. Usuwa service workera (mały skrypt, dzięki któremu przeglądarka szybko wczytuje aplikację) i czyści pamięć podręczną przeglądarki, a potem przeładowuje stronę. Czaty i ustawienia zostają.

Użyj go, gdy aplikacja wygląda na starą albo pokazuje pustą stronę, choć serwer jest już zaktualizowany. Na czas pracy przycisk pokazuje Refreshing….

Twoje dane i opcjonalne pobieranie

Aktualizacja podmienia kod aplikacji, a nie folder z danymi ani wolumin marinara-data. Czaty, postacie, persony, lorebooki, presety, połączenia i ustawienia zostają na miejscu. Gdzie leżą dane, opisuje przewodnik Kopia zapasowa i przywracanie danych aplikacji Marinara.

Aktualizacja z wersji 2.5.0

Powyższe kroki są takie same. Kilka zmian dotyczy serwera, z którego korzystają inne urządzenia lub inne osoby. Jeśli to twój przypadek, rozwiń szczegóły.

Powrót do starszej wersji

Powrót nie zawsze jest możliwy. Nowsze wersje zapisują dane w nowszym formacie przechowywania, a kompilacja odrzuca dane w formacie nowszym niż te, które zna. Obecne kompilacje używają formatu przechowywania 10. Formaty 8, 9 i 10 dodały awatary MMD, powiązania połączeń z kontami oraz awatary GLB/FBX. Kompilacja, która zna tylko starszy format, nie otworzy zapisanych w nich danych.

Program uruchamiający pomija automatyczną aktualizację, która prowadziłaby do niezgodnej wersji, a aktualizator w aplikacji odmawia jej wgrania. Żeby wrócić do starszej kompilacji, zatrzymaj aplikację Marinara i przywróć pełną kopię zapasową wykonaną przed aktualizacją. Opisane niżej polecenie konwertujące pliki czatu nie potrafi przekształcić ustawień awatarów MMD. Nie zmieniaj ręcznie numeru formatu.

Jeśli twoje dane są starsze niż format przechowywania 8, jedno polecenie konwersji może przywrócić plikom czatu poprzedni układ. Zobacz Po przejściu na starszą wersję czaty nie pokazują wiadomości.

Powrót do wersji 2.5.0

Wersja 2.5.0 nie otwiera danych zaktualizowanych do formatu przechowywania 8 lub nowszego. Użyj kopii zapasowej sprzed aktualizacji.

W przypadku starszych danych, które wersja 2.5.0 potrafi otworzyć, nie zna ona tego, co dodały nowsze funkcje: części ustawień połączeń, szczegółów potrzebnych do ponownego generowania obrazów w czacie oraz części punktów kontrolnych gry, zegarów zestawów zasad i wideo ze scen. Gdy wersja 2.5.0 zapisuje czat lub połączenie, na przykład gdy wysyłasz wiadomość, rozgrywasz turę gry, tworzysz obraz albo zmieniasz połączenie, usuwa te nowsze dane z całego czatu lub połączenia. Ponowna aktualizacja ich nie przywraca.

Żeby móc wrócić dokładnie do obecnego stanu, zrób kopię zapasową przed aktualizacją. Zobacz Najpierw kopia zapasowa.

Gdy aktualizacja się nie powiedzie

Większość niepowodzeń bierze się ze starej wersji środowiska Node.js, niepełnego pobierania albo nieaktualnej pamięci podręcznej przeglądarki.

Komunikaty błędów i rozwiązania znajdziesz w przewodniku Rozwiązywanie problemów w aplikacji Marinara Engine.

Powiązane przewodniki