HyTari Studios · Oficjalny poradnik

Server Inventory Sync

Synchronizuj ekwipunek między serwerami bez zależności od indeksów runtime.

Ten bazowy poradnik opisuje już udokumentowane działanie: wspólny ekwipunek, profil gracza, anti-dupe locking i semantyczne zachowanie ItemQuality między różnymi registries.

ZANIM ZACZNIESZ

Pierwsze kroki

KROK 01

Zainstaluj na uczestniczących serwerach

Używaj tej samej wersji na węzłach, które mają współdzielić profil.

KROK 02

Podłącz wspólne dane

Uczestniczące serwery muszą używać tego samego backendu danych oczekiwanego przez release.

KROK 03

Przetestuj pełny transfer

Sprawdź ekwipunek, wyposażenie i jakości przed otwarciem sieci.

Ten bazowy poradnik celowo nie wymyśla nazw pól konfiguracji: obecne repozytorium moda jest puste, więc dokładne pola JSON zostaną dodane dopiero po weryfikacji source/release-build.

ROZDZIAŁ 01 · 1 PRZYKŁADY

Co jest synchronizowane

Ekwipunek, armor, backpack, dodatkowe sloty i kompatybilne dane profilu.

01PRZEPŁYW

Wspólny profil między serwerami

Mod synchronizuje obsługiwane elementy profilu pomiędzy uczestniczącymi serwerami.

PRZEPŁYW
Serwer A
  ↓ zapisz profil
Wspólna baza danych
  ↓ wczytaj profil
Serwer B

Działanie moda

CO TO ROBI

Mod synchronizuje obsługiwane elementy profilu pomiędzy uczestniczącymi serwerami.

WAŻNE DZIAŁANIE

  • Celem jest ciągłość ekwipunku między hub, survival, dungeon, arenami i innymi serwerami.
  • Uwzględniane są ekwipunek, armor, backpacks i obsługiwane dodatkowe sloty.
  • Dane profilu kompatybilnych modów mogą być synchronizowane, jeśli integracja to obsługuje.

ROZDZIAŁ 02 · 1 PRZYKŁADY

Przepływ synchronizacji

Ładowanie, zapis i transfers przebiegają w chronionym cyklu.

01SEKWENCJA

Chronione ładowanie i zapis

Profil jest ładowany i zapisywany w kontrolowanych punktach, aby uniknąć równoczesnych nadpisań.

SEKWENCJA
JOIN / TRANSFER
→ przejmij lock
→ wczytaj profil
→ gra
→ autosave / końcowy zapis
→ zwolnij lock

Działanie runtime

CO TO ROBI

Profil jest ładowany i zapisywany w kontrolowanych punktach, aby uniknąć równoczesnych nadpisań.

WAŻNE DZIAŁANIE

  • System nie powinien zakłócać zwykłych wewnętrznych zmian world.
  • Autosave zmniejsza okno możliwej utraty danych.
  • Komunikaty loading/lock mogą informować gracza, gdy profil nie jest jeszcze dostępny.

ROZDZIAŁ 03 · 1 PRZYKŁADY

Locks i anti-dupe

Profil jest chroniony przed równoczesnym dostępem w krytycznych etapach.

01REGUŁA

Lock przed równoczesnym dostępem

Jeden profil nie powinien być zmieniany jednocześnie przez dwa serwery.

REGUŁA
1 UUID gracza
→ 1 aktywny profil
→ 1 poprawny lock
→ brak równoczesnego dostępu

Bezpieczeństwo wewnętrzne

CO TO ROBI

Jeden profil nie powinien być zmieniany jednocześnie przez dwa serwery.

WAŻNE DZIAŁANIE

  • Locking chroni przed duplikacją i race conditions między serwerami.
  • Logika transfer musi zakończyć save i handoff, zanim inny serwer użyje profilu.
  • Wygasłe locks i błędy są traktowane jako warunki bezpieczeństwa, nie jako powód do załadowania dwóch kopii.

ROZDZIAŁ 04 · 1 PRZYKŁADY

Bezpieczny ItemQuality

Jakości są identyfikowane semantycznie, a nie tylko przez indeksy runtime.

01PRZYKŁAD

Semantyczne zachowanie ItemQuality

Ta sama jakość może mieć różne indeksy runtime na serwerach z różnymi modami lub registries.

PRZYKŁAD
Serwer A: CustomEpic = runtime index 12
Serwer B: CustomEpic = runtime index 27

Sync używa tożsamości jakości, a nie tylko 12/27.

ItemQuality mapping

CO TO ROBI

Ta sama jakość może mieć różne indeksy runtime na serwerach z różnymi modami lub registries.

WAŻNE DZIAŁANIE

  • Jeśli cel zna oryginalną jakość, zostaje ona poprawnie odtworzona.
  • Jeśli nie można jej rozpoznać, używany jest bezpieczny fallback Common z zachowaniem oryginalnej tożsamości, gdy to możliwe.
  • Gdy jakość znów stanie się dostępna, można ją przywrócić.

ROZDZIAŁ 05 · 1 PRZYKŁADY

Diagnostyka

ItemQuality mapping można logować, gdy dwa serwery inaczej rozpoznają jakości.

01UŻYCIE

Diagnostyka mapping

Przy różnych registries logi mapping pomagają porównywać nazwy i indeksy ItemQuality.

UŻYCIE
Diagnostyka ItemQuality mapping
→ włącz tylko do analizy
→ porównaj serwer A / serwer B
→ wyłącz po teście

Opcjonalna diagnostyka

CO TO ROBI

Przy różnych registries logi mapping pomagają porównywać nazwy i indeksy ItemQuality.

WAŻNE DZIAŁANIE

  • Diagnostyka pomaga zrozumieć różnice registry i nie jest potrzebna w normalnej pracy.
  • Nie zostawiaj szczegółowego logowania bez powodu.
  • Dokładne pola konfiguracji zostaną dodane po wyrównaniu repozytorium moda.

Przed użyciem przykładu

Głównym celem jest bezpieczeństwo profilu, a nie samo kopiowanie slotów.

Zachowanie ItemQuality zaprojektowano specjalnie dla sieci z różnymi registries.

Opisowe diagramy można zastąpić realną konfiguracją po wyrównaniu repozytorium moda.

DO GÓRY