Pular para o conteúdo

Instalação

Prefere um vídeo? Veja o tutorial de instalação no YouTube.

Ainda não tens servidor? Lê primeiro o Alojamento. Para algo barato que corre isto bem, recomendamos a 24Racks.

Esta é a instalação limpa, mundo novo, sem base de dados antiga. Se estás a mover um servidor existente para outro PC, vê Atualização e base de dados para as ferramentas de backup e importação.

A tua pasta server-data fica assim:

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)

Os artifacts (FXServer.exe) ficam noutro sítio, como C:\FXServer. Não os ponhas dentro da pasta server-data.

Se recebeste o pacote de release, já está assim. Para criar um a partir de uma cópia de desenvolvimento:

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

Deixa de fora server.private.cfg, cache/, db/, backups e logs de propósito.

Instala o MariaDB e cria uma base de dados vazia e um utilizador para ela. No Windows o helper faz as duas coisas:

Terminal window
tools\setup-database.bat

Ou à mão:

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ão importes nenhum ficheiro .sql. O bs_core corre as suas migrações no primeiro arranque (bs_core/sql/001_core_schema.sql até 030_user_language.sql, ver Migrações da base de dados) e regista cada uma na tabela bs_migrations, por isso nunca correm duas vezes. O database/full_schema.sql só lá está se quiseres ver o schema fora do servidor.

Copia server.private.cfg.example para server.private.cfg e preenche:

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

O server.cfg carrega-o na primeira linha com exec server.private.cfg. Mantém-no fora do git e fora de qualquer zip que envies a outras pessoas.

Copia server.cfg.example para server.cfg. Muda o hostname, as tags, sv_maxclients e os teus principals de staff no fim (vê Admin e permissões).

A ordem de ensure importa para alguns. oxmysql primeiro, bs_core antes de todos os outros bs_*, e as coisas dos zombies depois do que elas leem. Esta é a ordem em que o servidor em produção corre:

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

Não faças ensure chat enquanto o bs_chat corre, ficas com duas caixas de chat e cada mensagem duas vezes. E não faças ensure de mapmanager/spawnmanager/sessionmanager a não ser que tenhas mesmo instalado o cfx-server-data, o bs_core e o bs_multichar tratam do spawn por si.

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

Não arranques até todas as verificações passarem.

Com txAdmin: corre o FXServer.exe, escolhe Existing Server Data e aponta para a tua pasta. Ativa o OneSync nas definições do txAdmin.

Sem txAdmin:

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

Vê a consola. Queres ver oxmysql, bs_core (mostra as migrações que aplicou no primeiro arranque), bs_factions, bs_menu e o mapa a arrancar sem erros a vermelho. Depois entra, cria uma personagem, abre o inventário (I), abre o menu de fações, carrega em F1 e F10 como staff para confirmar que as permissões funcionam.

O resource nodes imprime na consola um URL com uma chave de acesso no primeiro arranque. É o painel do mapa de setores, copia-o e guarda-o nos favoritos.

O BS19 funciona bem no mapa normal. Se quiser o mundo pós-apocalíptico, instale The Apocalypse Project, o mapa companheiro gratuito.

  1. Baixe o zip em bs19.org/map (última release, ou os arquivos mais novos da branch principal enquanto não houver release).

  2. Extraia em resources/[map]/, para ficar resources/[map]/[the_apocalypse_project]/.

  3. Adicione a linha ensure no server.cfg (ou tire o # se ela já estiver lá comentada):

    ensure [the_apocalypse_project]
  4. Reinicie o servidor.

Passo a passo, ordem de carregamento e IPLs: Instalação e ordem de carregamento.