Zum Inhalt springen

Installation

Lieber ein Video? Sieh dir das Installations-Tutorial auf YouTube an.

Noch keinen Server? Lies zuerst Hosting. Für etwas Günstiges, das das hier problemlos stemmt, empfehlen wir 24Racks.

Das ist die saubere Installation: neue Welt, keine alte Datenbank. Wenn du einen bestehenden Server auf einen anderen PC umziehst, siehe Aktualisieren und Datenbank für die Backup- und Import-Tools.

Dein server-data-Ordner sieht am Ende so aus:

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)

Die Artifacts (FXServer.exe) liegen woanders, zum Beispiel in C:\FXServer. Leg sie nicht in den server-data-Ordner.

Wenn du das Release-Paket hast, sieht es schon so aus. So baust du selbst eines aus einer Dev-Kopie:

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

server.private.cfg, cache/, db/, Backups und Logs lässt es absichtlich weg.

Installiere MariaDB, dann lege eine leere Datenbank und einen Benutzer dafür an. Unter Windows erledigt das der Helfer:

Terminal-Fenster
tools\setup-database.bat

Oder von Hand:

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

Importiere keine .sql-Datei. bs_core führt seine Migrationen beim ersten Start aus (bs_core/sql/001_core_schema.sql bis 030_user_language.sql, siehe Datenbankmigrationen) und trägt jede in die Tabelle bs_migrations ein, sie laufen also nie doppelt. database/full_schema.sql liegt nur bei, falls du das Schema außerhalb des Servers ansehen willst.

Kopiere server.private.cfg.example nach server.private.cfg und fülle sie aus:

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

server.cfg lädt sie in der ersten Zeile mit exec server.private.cfg. Halte sie aus Git heraus und aus jedem Zip, das du an andere schickst.

Kopiere server.cfg.example nach server.cfg. Ändere Hostname, Tags, sv_maxclients und unten deine Staff-Principals (siehe Admin und Berechtigungen).

Bei manchen ist die Ensure-Reihenfolge wichtig. oxmysql zuerst, bs_core vor allen anderen bs_*, und der Zombie-Kram nach dem, was er liest. Das ist die Reihenfolge, in der der Live-Server läuft:

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

Mach kein ensure chat, solange bs_chat läuft, sonst hast du zwei Chatfenster und jede Nachricht doppelt. Und ensure mapmanager/spawnmanager/sessionmanager nur, wenn du cfx-server-data wirklich installiert hast, bs_core und bs_multichar übernehmen das Spawnen selbst.

Terminal-Fenster
powershell -ExecutionPolicy Bypass -File .\tools\Test-Deployment.ps1

Starte erst, wenn alle Prüfungen bestehen.

Mit txAdmin: FXServer.exe starten, Existing Server Data wählen und auf deinen Ordner zeigen. OneSync in den txAdmin-Einstellungen aktivieren.

Ohne txAdmin:

Terminal-Fenster
C:\FXServer\FXServer.exe +exec "D:\BeyondSurvival-Release\server.cfg"

Beobachte die Konsole. oxmysql, bs_core (beim ersten Start listet es die angewendeten Migrationen), bs_factions, bs_menu und die Map sollten ohne rote Fehler starten. Dann beitreten, einen Charakter erstellen, das Inventar öffnen (I), das Fraktionsmenü öffnen, als Staff F1 und F10 drücken und prüfen, ob die Berechtigungen funktionieren.

Die Resource nodes gibt beim ersten Start eine URL mit Zugriffsschlüssel in der Konsole aus. Das ist das Sektorkarten-Panel, kopiere sie und speichere sie als Lesezeichen.

BS19 läuft auch auf der normalen Karte. Wenn du die postapokalyptische Welt willst, installiere The Apocalypse Project, die kostenlose Begleitkarte.

  1. Lade das Zip auf bs19.org/map herunter (neuestes Release oder, solange es keins gibt, die neuesten Dateien aus dem Hauptbranch).

  2. Entpacke es nach resources/[map]/, sodass du resources/[map]/[the_apocalypse_project]/ hast.

  3. Füge die ensure-Zeile in die server.cfg ein (oder entferne das #, falls sie schon auskommentiert drinsteht):

    ensure [the_apocalypse_project]
  4. Starte den Server neu.

Alle Schritte, Ladereihenfolge und IPLs: Installation & Ladereihenfolge.