> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fivenetwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalação do Servidor

> Guia passo a passo para instalar e configurar a Five Network.

Siga os passos abaixo para instalar e configurar o Five Network do zero.

<Steps>
  <Step title="Preparação" icon="folder-open">
    A base do cliente fica no repositório oficial:

    ```bash theme={null}
    # Via Git
    git clone https://github.com/core-network-ltda/Base-Cliente.git

    # Ou baixe o ZIP pelo GitHub e extraia para uma pasta (ex: C:\ServidorFiveM\)
    ```

    A estrutura da pasta deve ser:

    ```text theme={null}
    Base-Cliente/
    ├── artifacts/          ← FXServer executável
    ├── resources/          ← Todos os recursos do servidor (já vêm com a UI compilada)
    ├── server.cfg          ← Configuração principal
    ├── database.sql        ← Schema do banco de dados
    └── server.bat          ← Script de inicialização
    ```

    <Note>
      A base já vem com todas as interfaces (NUI) **compiladas e prontas**: você não precisa instalar Node.js nem rodar build para o servidor funcionar.
    </Note>
  </Step>

  <Step title="Banco de Dados" icon="database">
    Baixe e instale o **MySQL 8.0+** no servidor.

    Crie o banco e o usuário:

    ```sql theme={null}
    CREATE DATABASE fivenetwork CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'sua_senha_aqui';
    GRANT ALL PRIVILEGES ON fivenetwork.* TO 'fivem'@'localhost';
    FLUSH PRIVILEGES;
    ```

    Importe o schema:

    ```bash theme={null}
    mysql -u fivem -p fivenetwork < database.sql
    ```
  </Step>

  <Step title="Configuração do server.cfg" icon="gears">
    Abra o arquivo `server.cfg` e configure:

    ```cfg theme={null}
    # Licença FiveM (obtenha em keymaster.fivem.net)
    sv_licenseKey "sua_licenca_aqui"

    # String de conexão MySQL
    set mysql_connection_string "mysql://fivem:sua_senha@localhost/fivenetwork?charset=utf8mb4"

    # Nome e descrição do servidor (personalize)
    sv_hostname "Meu Servidor"
    sv_projectName "MeuServidor"
    sv_projectDesc "Servidor de Roleplay"

    # Slots máximos de jogadores
    sv_maxclients 128

    # Build do jogo (NÃO ALTERE)
    sv_enforceGameBuild 3095
    ```
  </Step>

  <Step title="Iniciando o Servidor" icon="play">
    Execute o `server.bat` para iniciar o FXServer:

    ```bat theme={null}
    start server.bat
    ```

    O servidor irá:

    1. Inicializar o FXServer
    2. Carregar todos os recursos na ordem definida no `server.cfg`
    3. Conectar ao banco de dados MySQL
    4. Ficar disponível na porta 30120
  </Step>

  <Step title="Verificação" icon="circle-check">
    Após iniciar, verifique no console:

    * `[oxmysql] Connected to database`: MySQL conectado
    * `[vrp] vRP loaded`: Framework carregado
    * Recursos sendo carregados em sequência

    Conecte ao servidor via FiveM usando o IP:porta ou a lista de servidores.
  </Step>

  <Step title="Primeiro Acesso (Tornando-se Admin)" icon="user-shield">
    O sistema de permissões usa a tabela `entitydata`. Para dar **Admin** nível 1 ao primeiro passaporte, insira o seed no banco:

    ```sql theme={null}
    INSERT INTO `entitydata` (`Name`, `Information`) VALUES ('Permissions:Admin', '{"1":1}');
    ```

    Depois, conceda permissões a outros jogadores pelo **console do servidor** com o comando `groupc`:

    ```text theme={null}
    groupc [passaporte] Admin [nível]
    ```

    O nível é o índice da hierarquia do grupo, e **1 é o cargo mais alto**. A hierarquia padrão do grupo `Admin` (em `vrp/config/Global.lua`) tem seis níveis:

    | Comando                       | Cargo         |
    | ----------------------------- | ------------- |
    | `groupc [passaporte] Admin 1` | C-Level       |
    | `groupc [passaporte] Admin 2` | Diretor       |
    | `groupc [passaporte] Admin 3` | Supervisor    |
    | `groupc [passaporte] Admin 4` | Administrador |
    | `groupc [passaporte] Admin 5` | Moderador     |
    | `groupc [passaporte] Admin 6` | Suporte       |

    <Warning>
      O grupo precisa existir na tabela `Groups` do `Global.lua`. O `groupc` recusa permissões não declaradas.
    </Warning>

    <Note>
      Veja mais em [Grupos e Permissões](/base-five/configuracao-da-base/permissoes).
    </Note>
  </Step>
</Steps>

***

## Ordem de Carregamento dos Recursos

O `server.cfg` carrega os recursos nesta ordem obrigatória:

1. `vrp`: Framework principal
2. `[system]`: Infraestrutura (oxmysql, ox\_lib, pma-voice, etc.)
3. `[weapons]`: Assets de armas
4. `[scripts]`: Scripts de gameplay
5. `[five]`: Recursos `five-*` próprios da base
6. `[smartphone]`: Sistema de celular

<Warning>
  **Importante:** Não altere a ordem de carregamento sem entender as dependências entre recursos.
</Warning>
