Przejdź do głównej zawartości

Aktualizacja i baza danych

Nigdy nie importujesz schematu ręcznie. bs_core ma migracje w bs_core/sql/ (001_core_schema.sql … 048_backpack_refresh.sql), a listę w bs_core/server/sv_migrations.lua. Przy starcie uruchamia każdy plik, którego nie ma jeszcze w tabeli bs_migrations, i go zapisuje. Zastosowane nigdy nie lecą ponownie.

Aktualizacja z nową tabelą to więc tylko: podmień pliki, zrestartuj. Konsola wypisuje, którą migrację zastosowano.

Część resource’ów (bs_config, bs_guard, bs_vip, progresja bs_factions) tworzy też własne tabele przy starcie, jeśli ich brakuje. To siatka bezpieczeństwa, prawdziwym źródłem nadal jest migracja.

Okno terminala
powershell -ExecutionPolicy Bypass -File .\tools\Backup-Database.ps1 -Database beyondsurvival -User beyond

Pyta o hasło i zapisuje .sql ze znacznikiem czasu do database-backups/. Używa --single-transaction, nie blokuje ani nie zmienia działającej bazy.

Rób to za każdym razem. Migracje idą tylko do przodu, nie ma “down”.

  1. Zatrzymaj serwer.
  2. Backup (wyżej).
  3. Podmień zmienione resource’y. Zachowaj swoje edytowane pliki configu albo porównaj je z nowymi. Nowe klucze w configu są zwykle potrzebne nowemu kodowi.
  4. Nie ruszaj server.private.cfg. Sprawdź server.cfg.example pod kątem nowych linii ensure i dodaj je do swojego.
  5. Uruchom tools\Test-Deployment.ps1.
  6. Wystartuj i obserwuj konsolę pod kątem czerwonych linii.

Twoje profile F1 leżą w bazie danych i przeżywają aktualizacje. Klucz profilu, który już nie istnieje, jest po prostu ignorowany.

Nigdy nie kopiuj cache/ między komputerami ani wersjami, usuń go, jeśli po aktualizacji coś wygląda dziwnie.

Paczka release celowo nie zawiera bazy danych. Zrób backup na starym, a na nowym utwórz nową pustą bazę i:

Okno terminala
powershell -ExecutionPolicy Bypass -File .\tools\Import-Database.ps1 -Database beyondsurvival -User beyond -BackupFile D:\transfer\beyondsurvival-YYYYMMDD-HHMMSS.sql

Nigdy nie usuwa bazy danych i najpierw każe ci wpisać IMPORT. Zachowaj oryginalny backup, dopóki nowy serwer nie popracuje dobrze przez jakiś czas.

Traktuj ten plik .sql jako prywatny. Zawiera każdą postać, ekwipunek, bank frakcji i identyfikator.

txadmin/recipe.yaml wdraża release oraz nową pustą bazę przez Server Deployer w txAdmin. To nowy świat, nic ze starej bazy się nie przenosi. Układ zipa opisuje txadmin/README.md.