HyTari Studios · Ghid oficial

Server Inventory Sync

Sincronizează inventarele între servere fără dependență de indexuri runtime.

Acest ghid de bază descrie comportamentul deja documentat: inventar comun, profil de jucător, anti-dupe locking și păstrare semantică ItemQuality între registries diferite.

ÎNAINTE SĂ ÎNCEPI

Primii pași

PAS 01

Instalează pe serverele participante

Folosește aceeași versiune pe nodurile care trebuie să partajeze profilul.

PAS 02

Conectează stocarea comună

Serverele participante trebuie să folosească același data backend așteptat de release.

PAS 03

Testează un transfer complet

Verifică inventarul, echipamentul și calitățile înainte de a deschide rețeaua.

Acest ghid de bază nu inventează nume de câmpuri de configurare: repository-ul actual al modului este gol, astfel detaliile JSON exacte vor fi adăugate doar după verificarea source/release-build.

CAPITOL 01 · 1 EXEMPLE

Ce se sincronizează

Inventar, armură, backpack, sloturi suplimentare și date de profil compatibile.

01FLUX

Profil comun între servere

Modul menține sincronizate elementele de profil suportate între serverele participante.

FLUX
Server A
  ↓ salvează profilul
Bază de date comună
  ↓ încarcă profilul
Server B

Comportamentul modului

CE FACE

Modul menține sincronizate elementele de profil suportate între serverele participante.

COMPORTAMENT IMPORTANT

  • Scopul este continuitatea inventarului între hub, survival, dungeon, arene și alte servere.
  • Sunt incluse inventarul, armura, backpacks și sloturile suplimentare suportate.
  • Datele de profil ale modurilor compatibile pot fi sincronizate dacă integrarea o permite.

CAPITOL 02 · 1 EXEMPLE

Fluxul de sincronizare

Încărcarea, salvarea și transferurile urmează un ciclu protejat.

01SECVENȚĂ

Încărcare și salvare protejate

Profilul este încărcat și salvat în puncte controlate pentru a evita suprascrierile concurente.

SECVENȚĂ
JOIN / TRANSFER
→ obține lock
→ încarcă profilul
→ joc
→ autosave / salvare finală
→ eliberează lock

Comportament runtime

CE FACE

Profilul este încărcat și salvat în puncte controlate pentru a evita suprascrierile concurente.

COMPORTAMENT IMPORTANT

  • Sistemul este proiectat să nu întrerupă schimbările interne normale de world.
  • Autosave reduce fereastra posibilă de pierdere a datelor.
  • Mesajele loading/lock pot informa jucătorul cât timp profilul nu este încă disponibil.

CAPITOL 03 · 1 EXEMPLE

Locks și anti-dupe

Profilul este protejat de acces concurent în etapele critice.

01REGULĂ

Lock împotriva accesului concurent

Un profil nu trebuie modificat simultan de două servere.

REGULĂ
1 UUID jucător
→ 1 profil activ
→ 1 lock valid
→ fără acces concurent

Securitate internă

CE FACE

Un profil nu trebuie modificat simultan de două servere.

COMPORTAMENT IMPORTANT

  • Locking protejează împotriva duplicării și race conditions între servere.
  • Logica de transfer trebuie să finalizeze save și handoff înainte ca alt server să folosească profilul.
  • Locks expirate sau erorile sunt tratate ca situații de siguranță, nu ca motiv pentru a încărca două copii.

CAPITOL 04 · 1 EXEMPLE

ItemQuality sigur

Calitățile sunt identificate semantic, nu doar după indexuri runtime.

01EXEMPLU

Păstrare semantică ItemQuality

Aceeași calitate poate avea indexuri runtime diferite pe servere cu moduri sau registries diferite.

EXEMPLU
Server A: CustomEpic = runtime index 12
Server B: CustomEpic = runtime index 27

Sync folosește identitatea calității, nu doar 12/27.

ItemQuality mapping

CE FACE

Aceeași calitate poate avea indexuri runtime diferite pe servere cu moduri sau registries diferite.

COMPORTAMENT IMPORTANT

  • Dacă destinația cunoaște calitatea originală, aceasta este reconstruită corect.
  • Dacă nu o poate rezolva, se folosește un fallback Common sigur, păstrând identitatea originală când este posibil.
  • Când calitatea devine din nou disponibilă, poate fi restaurată.

CAPITOL 05 · 1 EXEMPLE

Diagnostic

ItemQuality mapping poate fi logat când două servere rezolvă diferit aceleași calități.

01UTILIZARE

Diagnostic mapping

Cu registries diferite, logurile mapping ajută la compararea numelor și indexurilor ItemQuality.

UTILIZARE
Diagnostic ItemQuality mapping
→ activează doar pentru investigație
→ compară server A / server B
→ dezactivează după test

Diagnostic opțional

CE FACE

Cu registries diferite, logurile mapping ajută la compararea numelor și indexurilor ItemQuality.

COMPORTAMENT IMPORTANT

  • Diagnosticul ajută la înțelegerea diferențelor registry și nu este necesar în utilizarea normală.
  • Nu lăsa logging detaliat activ fără motiv.
  • Câmpurile exacte de configurare vor fi adăugate după realinierea repository-ului modului.

Înainte de a folosi un exemplu

Scopul principal este siguranța profilului, nu simpla copiere a sloturilor.

Păstrarea ItemQuality este proiectată special pentru rețele cu registries diferite.

Diagramele descriptive pot fi înlocuite cu configurația reală când repository-ul modului este realiniat.

ÎNAPOI SUS