Przejdź do głównej zawartości

Instalacja

Wolisz wideo? Obejrzyj poradnik instalacji na YouTube.

Nie masz jeszcze serwera? Przeczytaj najpierw Hosting. Do czegoś taniego, co spokojnie to uciągnie, polecamy 24Racks.

To czysta instalacja: nowy świat, bez starej bazy. Jeśli przenosisz istniejący serwer na inny komputer, zobacz Aktualizacja i baza danych po narzędzia do backupu i importu.

Twój folder server-data wygląda w końcu tak:

BeyondSurvival/
├── server.cfg # from server.cfg.example
├── server.private.cfg # from server.private.cfg.example, NEVER share this
├── resources/
│ ├── [beyond]/ # the framework, all bs_* resources
│ ├── [map]/ [compat]/ [prototypes]/ [third-party]/
│ ├── [map]/[the_apocalypse_project]/ # the map, separate download
│ ├── oxmysql/
│ └── vMenu/ ... # optional
└── tools/ # PowerShell helpers (Windows)

Artifacty (FXServer.exe) leżą gdzie indziej, np. w C:\FXServer. Nie wkładaj ich do folderu server-data.

Jeśli masz paczkę release, już tak wygląda. Żeby zbudować własną z kopii deweloperskiej:

Okno terminala
powershell -ExecutionPolicy Bypass -File .\tools\Prepare-PortableRelease.ps1 -Destination D:\BeyondSurvival-Release

Celowo pomija server.private.cfg, cache/, db/, backupy i logi.

Zainstaluj MariaDB, potem utwórz pustą bazę i użytkownika do niej. Na Windowsie robi to jedno i drugie pomocnik:

Okno terminala
tools\setup-database.bat

Albo ręcznie:

CREATE DATABASE beyondsurvival CHARACTER SET utf8mb4;
CREATE USER 'beyond'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON beyondsurvival.* TO 'beyond'@'localhost';
FLUSH PRIVILEGES;

Nie importuj żadnego pliku .sql. bs_core uruchamia swoje migracje przy pierwszym starcie (bs_core/sql/001_core_schema.sql do 030_user_language.sql, zobacz Migracje bazy danych) i zapisuje każdą w tabeli bs_migrations, więc nigdy nie lecą dwa razy. database/full_schema.sql jest tylko po to, żebyś mógł obejrzeć schemat poza serwerem.

Skopiuj server.private.cfg.example do server.private.cfg i wypełnij:

sv_licenseKey "your keymaster key"
set mysql_connection_string "mysql://beyond:[email protected]:3306/beyondsurvival?charset=utf8mb4"
set steam_webApiKey ""

server.cfg wczytuje go w pierwszej linii przez exec server.private.cfg. Trzymaj go poza gitem i poza każdym zipem, który komuś wysyłasz.

Skopiuj server.cfg.example do server.cfg. Zmień hostname, tagi, sv_maxclients oraz principale staffu na dole (zobacz Admin i uprawnienia).

Kolejność ensure ma znaczenie dla części z nich. oxmysql pierwszy, bs_core przed każdym innym bs_*, a rzeczy od zombie po tym, co czytają. W tej kolejności działa serwer produkcyjny:

ensure oxmysql
ensure bs_loading
ensure bs_core # must stay first of the bs_*
ensure bs_multichar
ensure bs_admin
ensure bs_config
ensure bs_assets
ensure bs_ui
ensure bs_chat # replaces the stock chat, don't ensure both
ensure bs_radial
ensure bs_bodily
ensure bs_interactions
ensure bs_inventory
ensure bs_skills
ensure bs_parkour
ensure bs_fighting
ensure bs_fpdebug # fighting and parkour test tools, admin only
ensure bs_economy
ensure bs_medical
ensure bs_emotes
ensure bs_scenes
ensure bs_weapons
ensure bs_vehicles
ensure bs_menu
ensure bs_vip
ensure bs_building
ensure bs_crafting
ensure bs_recycler
ensure bs_mining
ensure bs_stash
ensure bs_extraction
ensure bs_factions
ensure bs_faction_bases
ensure bs_scoreboard
ensure bs_world
ensure nutria_crawl_anims # before bs_zombies, crawlers need the anim dict
ensure bs_zombiepeds
ensure bs_zombies
ensure bs_zombiesfx
# voice and radio: bs_voice replaces pma-voice
stop pma-voice
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
ensure bs_voice
ensure bs_radio
ensure bs_missions
ensure bs_atlas # after bs_zombies, it calls its callbacks
ensure bs_traders # reads bs_zombies safe zones
ensure bs_jobs
ensure nodes # sector map web panel
ensure bs_boosters
ensure bs_gadgets
ensure bs_drugs
ensure bs_events
ensure bs_operations
ensure bs_darkzone # off until switched on in F1 > Dark Zone
ensure bs_guard
ensure bs_pause
ensure bs_bodycam
ensure bs_tutorial
ensure bs_pass
ensure bs_survivor
ensure bs_survivor_link
## ensure bs_cinecam # optional, remove ## to enable
## ensure bs_esx_bridge # ESX bridge, partial, remove ## to try it
## ensure qbx_core # Qbox bridge, partial, remove ## to try it
## ensure [the_apocalypse_project] # separate download, see bs19.org/map
ensure chadada_apocalypse_cars

Nie rób ensure chat, gdy działa bs_chat, bo dostaniesz dwa okna czatu i każdą wiadomość podwójnie. I nie ensure’uj mapmanager/spawnmanager/sessionmanager, chyba że naprawdę zainstalowałeś cfx-server-data, bs_core i bs_multichar same obsługują spawn.

Okno terminala
powershell -ExecutionPolicy Bypass -File .\tools\Test-Deployment.ps1

Nie startuj, dopóki wszystkie testy nie przejdą.

Z txAdmin: uruchom FXServer.exe, wybierz Existing Server Data i wskaż swój folder. Włącz OneSync w ustawieniach txAdmin.

Bez txAdmin:

Okno terminala
C:\FXServer\FXServer.exe +exec "D:\BeyondSurvival-Release\server.cfg"

Obserwuj konsolę. oxmysql, bs_core (przy pierwszym starcie wypisuje zastosowane migracje), bs_factions, bs_menu i mapa powinny wystartować bez czerwonych błędów. Potem wejdź, stwórz postać, otwórz ekwipunek (I), otwórz menu frakcji, a jako staff naciśnij F1 i F10, żeby sprawdzić uprawnienia.

Resource nodes przy pierwszym starcie wypisuje w konsoli adres URL z kluczem dostępu. To panel mapy sektorów, skopiuj go i dodaj do zakładek.

BS19 działa dobrze na zwykłej mapie. Jeśli chcesz postapokaliptyczny świat, zainstaluj The Apocalypse Project, darmową mapę towarzyszącą.

  1. Pobierz zip z bs19.org/map (najnowszy release albo, dopóki go nie ma, najnowsze pliki z głównej gałęzi).

  2. Wypakuj go do resources/[map]/, tak żeby powstało resources/[map]/[the_apocalypse_project]/.

  3. Dodaj linię ensure do server.cfg (albo usuń #, jeśli już tam jest zakomentowana):

    ensure [the_apocalypse_project]
  4. Zrestartuj serwer.

Pełne kroki, kolejność ładowania i IPL: Instalacja i kolejność ładowania.