Saltearse al contenido

Instalación

¿Prefieres un vídeo? Mira el tutorial de instalación en YouTube.

¿Aún no tienes servidor? Lee primero Hosting. Para algo barato que mueve esto sin problemas, recomendamos 24Racks.

Esta es la instalación limpia: mundo nuevo, sin base de datos antigua. Si estás moviendo un servidor existente a otro PC, mira Actualización y base de datos para las herramientas de copia de seguridad e importación.

Tu carpeta server-data queda así:

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)

Los artifacts (FXServer.exe) viven en otro sitio, como C:\FXServer. No los pongas dentro de la carpeta server-data.

Si tienes el paquete de release, ya tiene este aspecto. Para construir uno tú mismo desde una copia de desarrollo:

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

Deja fuera a propósito server.private.cfg, cache/, db/, copias de seguridad y logs.

Instala MariaDB y crea una base de datos vacía y un usuario para ella. En Windows el helper hace las dos cosas:

Ventana de terminal
tools\setup-database.bat

O a mano:

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

No importes ningún archivo .sql. bs_core ejecuta sus migraciones en el primer arranque (bs_core/sql/001_core_schema.sql hasta 030_user_language.sql, ver Migraciones de la base de datos) y registra cada una en la tabla bs_migrations, así que nunca se ejecutan dos veces. database/full_schema.sql solo está por si quieres ver el esquema fuera del servidor.

Copia server.private.cfg.example a server.private.cfg y rellénalo:

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

server.cfg lo carga en la primera línea con exec server.private.cfg. Mantenlo fuera de git y de cualquier zip que envíes a otras personas.

Copia server.cfg.example a server.cfg. Cambia el hostname, las tags, sv_maxclients y tus principals de staff al final (mira Admin y permisos).

El orden de ensure importa para algunos. oxmysql primero, bs_core antes que cualquier otro bs_*, y lo de los zombis después de lo que lee. Este es el orden en el que corre el servidor en producción:

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

No hagas ensure chat mientras bs_chat esté activo, tendrás dos cajas de chat y cada mensaje dos veces. Y no hagas ensure de mapmanager/spawnmanager/sessionmanager a menos que hayas instalado cfx-server-data, bs_core y bs_multichar ya se encargan del spawn.

Ventana de terminal
powershell -ExecutionPolicy Bypass -File .\tools\Test-Deployment.ps1

No arranques hasta que pasen todas las comprobaciones.

Con txAdmin: ejecuta FXServer.exe, elige Existing Server Data y apunta a tu carpeta. Activa OneSync en los ajustes de txAdmin.

Sin txAdmin:

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

Mira la consola. Quieres ver oxmysql, bs_core (imprime las migraciones aplicadas en el primer arranque), bs_factions, bs_menu y el mapa arrancando sin errores en rojo. Luego entra, crea un personaje, abre el inventario (I), abre el menú de facciones y pulsa F1 y F10 como staff para comprobar que los permisos funcionan.

El resource nodes imprime en la consola una URL con una clave de acceso en su primer arranque. Es el panel del mapa de sectores, cópiala y guárdala en favoritos.

BS19 funciona bien en el mapa normal. Si quieres el mundo postapocalíptico, instala The Apocalypse Project, el mapa complementario gratuito.

  1. Descarga el zip en bs19.org/map (última release, o los archivos más nuevos de la rama principal mientras no haya release).

  2. Extráelo en resources/[map]/, para que quede resources/[map]/[the_apocalypse_project]/.

  3. Añade la línea ensure en server.cfg (o quita el # si ya está comentada):

    ensure [the_apocalypse_project]
  4. Reinicia el servidor.

Pasos completos, orden de carga e IPL: Instalación y orden de carga.