Mods Manager

Creat: 13 septembrie 2026, ultima actualizare: 13 septembrie 2026

Mods este un CLI interactiv pentru instalarea, activarea și dezactivarea tripletelor de moduri Unreal Engine în jocurile suportate.

A început ca Forever Winter Mods, unde descoperirea jocului, căile și operațiile asupra modurilor aparțineau unui singur utilitar specific jocului. Mods păstrează acel comportament și mută deciziile specifice jocurilor în spatele adaptoarelor. Inspectarea arhivelor, instalarea tranzacțională, schimbările stării tripletelor și interfața din terminal sunt acum comune tuturor jocurilor suportate.

Versiunea curentă suportă The Forever Winter și Grounded 2. Proiectul este publicat ca @sabinmarcu/mods.

Cum funcționează

Rulează mods fără o comandă pentru a deschide un selector interactiv de jocuri. Acesta listează jocurile suportate și raportează dacă fiecare este pregătit, necesită inițializarea directorului de moduri sau nu a fost detectat. După selectarea unei instalări pregătite, CLI-ul afișează tripletele sale complete de moduri.

Fiecare intrare poate fi activată sau dezactivată printr-o singură operație, astfel încât fișierele necesare .pak, .ucas și .utoc rămân în aceeași stare. Folosește mods install <archive> cu un joc selectat pentru a inspecta o arhivă .zip, .7z sau .7zip. Un singur triplet nou se instalează imediat. Arhivele cu mai multe triplete sau cu un mod existent deschid mai întâi un selector.

CLI-ul nu extrage o arhivă cu conținut neașteptat și nu șterge modurile instalate. Fișierele de documentație sunt permise, dar alte tipuri de fișiere îl fac să se oprească și să lase arhiva pentru verificare manuală. Unealta gestionează triplete complete și refuză să ghicească modul de tratare a unei arhive necunoscute sau a unui fișier fără legătură.

Ce s-a schimbat față de Forever Winter Mods

CLI-ul original căuta un singur joc și accepta suprascrierea directă a directorului de moduri. Mods introduce un strat explicit pentru jocuri:

  • Un selector de jocuri oferă punctul de intrare interactiv implicit.
  • ID-urile stabile ale jocurilor permit scripturi și selectarea directă prin --game.
  • mods games raportează fiecare joc înregistrat și instalările sale detectate.
  • --game-root acceptă rădăcina unei instalări; adaptorul selectat rezolvă directorul final de moduri.
  • mods init creează un director canonic ~mods lipsă atunci când părintele său există.
  • Completarea pentru shell este generată din același graf de comenzi Commander folosit pentru interpretare.

Aceste adăugiri schimbă modul de selectare a directorului țintă, nu modul de interpretare a fișierelor de mod. Contractul tripletului complet și regulile de siguranță pentru arhive rămân comune.

Adaptoare de joc

Fiecare adaptor deține patru informații: un ID stabil, un nume afișat, descoperirea rădăcinilor jocului și maparea de la rădăcina unui joc la directorul său canonic de moduri. Nucleul deține descoperirea bibliotecilor Steam, inspectarea stării instalării, gestionarea arhivelor, operațiile asupra modurilor și interfața Ink.

Adaptoarele sunt înregistrate la compilare. CLI-ul nu încarcă pachete de adaptoare arbitrare, așadar adăugarea altui joc necesită o schimbare în sursă și o versiune nouă.

Jocuri suportate

JocIDDirector de moduri relativ la rădăcina jocului
The Forever WinterforeverwinterWindows/ForeverWinter/Content/Paks/~mods
Grounded 2grounded2Augusta/Content/Paks/~mods

Ambele adaptoare permit crearea directorului final ~mods atunci când directorul său părinte există.

Terminologie

Triplet de mod

Un set de trei fișiere cu același nume de bază: .pak, .ucas și .utoc. De exemplu, Example_P.pak, Example_P.ucas și Example_P.utoc formează un triplet. CLI-ul listează, comută sau instalează un mod doar când toate cele trei fișiere potrivite sunt prezente.

Activat și dezactivat

Un triplet activat își păstrează numele de fișier normale. Un triplet dezactivat adaugă .disabled după fiecare extensie, precum Example_P.pak.disabled. Conținutul rămâne în același director; doar numele se schimbă.

Rădăcina jocului

Directorul de instalare al unui joc suportat. --game-root acceptă acest director, nu un director Paks sau ~mods. Adaptorul selectat derivă calea canonică a modurilor de sub acesta.

Arhivă

Un fișier .zip, .7z sau .7zip care conține unul sau mai multe triplete de moduri. Directoarele din arhivă sunt permise, dar fiecare mod este identificat prin propriul triplet complet, cu același nume.

Descoperirea Steam și starea instalării

CLI-ul caută biblioteci Steam pe Windows și Linux, inclusiv biblioteci secundare configurate. Fiecare adaptor furnizează numele directoarelor care îi identifică jocul. Fiecare instalare detectată este apoi clasificată drept ready, needs-initialization sau invalid.

O instalare pregătită are deja directorul canonic de moduri. O instalare necesită inițializare atunci când directorul lipsește, dar părintele său există. O instalare invalidă înregistrează motivul pentru care locația așteptată nu poate fi folosită. Dacă descoperirea nu găsește o instalare utilizabilă într-o sesiune interactivă, CLI-ul cere rădăcina jocului.

Acesta este un flux bazat pe rădăcina jocului, nu o suprascriere arbitrară a directorului de moduri. Furnizarea opțiunii --game-root ocolește descoperirea automată, dar adaptorul derivă și validează în continuare directorul final.

Construit și întreținut de Sabin Marcu

(2025 -2026)

Cuprins

Experimente