Aller au contenu

Installation

Tu préfères une vidéo ? Regarde le tutoriel d’installation sur YouTube.

Pas encore de serveur ? Lis d’abord Hébergement. Pour quelque chose de pas cher qui fait tourner ça sans souci, nous recommandons 24Racks.

C’est l’installation propre : nouveau monde, pas d’ancienne base de données. Si tu déplaces un serveur existant vers un autre PC, vois Mise à jour et base de données pour les outils de sauvegarde et d’import.

Ton dossier server-data finit comme ceci :

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)

Les artifacts (FXServer.exe) sont ailleurs, par exemple C:\FXServer. Ne les mets pas dans le dossier server-data.

Si tu as le paquet de release, il ressemble déjà à ça. Pour en construire un toi-même à partir d’une copie de dev :

Fenêtre de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Prepare-PortableRelease.ps1 -Destination D:\BeyondSurvival-Release

Il laisse volontairement de côté server.private.cfg, cache/, db/, les sauvegardes et les logs.

Installe MariaDB, puis crée une base vide et un utilisateur pour elle. Sous Windows, le helper fait les deux :

Fenêtre de terminal
tools\setup-database.bat

Ou à la main :

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

N’importe aucun fichier .sql. bs_core lance ses migrations au premier démarrage (bs_core/sql/001_core_schema.sql jusqu’à 030_user_language.sql, voir Migrations de la base de données) et enregistre chacune dans la table bs_migrations, donc elles ne tournent jamais deux fois. database/full_schema.sql n’est là que si tu veux regarder le schéma hors du serveur.

Copie server.private.cfg.example vers server.private.cfg et remplis-le :

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

server.cfg le charge dès la première ligne avec exec server.private.cfg. Garde-le hors de git et hors de tout zip que tu envoies.

Copie server.cfg.example vers server.cfg. Change le hostname, les tags, sv_maxclients et tes principals de staff en bas (voir Admin et permissions).

L’ordre d’ensure compte pour certains. oxmysql d’abord, bs_core avant tous les autres bs_*, et le côté zombies après ce qu’il lit. C’est l’ordre dans lequel tourne le serveur live :

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

Ne fais pas ensure chat pendant que bs_chat tourne, tu auras deux fenêtres de chat et chaque message en double. Et n’ensure pas mapmanager/spawnmanager/sessionmanager sauf si tu as vraiment installé cfx-server-data, bs_core et bs_multichar gèrent eux-mêmes le spawn.

Fenêtre de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Test-Deployment.ps1

Ne démarre pas tant que toutes les vérifications ne passent pas.

Avec txAdmin : lance FXServer.exe, choisis Existing Server Data et pointe vers ton dossier. Active OneSync dans les réglages de txAdmin.

Sans txAdmin :

Fenêtre de terminal
C:\FXServer\FXServer.exe +exec "D:\BeyondSurvival-Release\server.cfg"

Surveille la console. Tu veux voir oxmysql, bs_core (il affiche les migrations appliquées au premier démarrage), bs_factions, bs_menu et la map démarrer sans erreur rouge. Ensuite connecte-toi, crée un personnage, ouvre l’inventaire (I), ouvre le menu de faction, appuie sur F1 et F10 en tant que staff pour vérifier que les permissions fonctionnent.

La resource nodes affiche dans la console une URL avec une clé d’accès à son premier démarrage. C’est le panneau web de la carte des secteurs, copie-la et mets-la en favori.

BS19 tourne très bien sur la map normale. Si tu veux le monde post-apocalyptique, installe The Apocalypse Project, la map compagnon gratuite.

  1. Télécharge le zip sur bs19.org/map (dernière release, ou les fichiers les plus récents de la branche principale tant qu’il n’y a pas de release).

  2. Extrais-le dans resources/[map]/, pour obtenir resources/[map]/[the_apocalypse_project]/.

  3. Ajoute la ligne ensure dans server.cfg (ou enlève le # si elle y est déjà en commentaire) :

    ensure [the_apocalypse_project]
  4. Redémarre le serveur.

Étapes complètes, ordre de chargement et IPL : Installation et ordre de chargement.