> ## 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.

# admin

> Recurso central de administração: registra ~60 comandos de staff (jogadores, permissões, economia, veículos, teleporte, moderação e eventos do servidor), com verificação de cargo via vRP e log de todas as ações.

O **admin** é o recurso central de administração da base. Ele registra cerca de 60 comandos de staff cobrindo jogadores, permissões, economia, veículos, teleporte, moderação e eventos do servidor, sempre com verificação de cargo via vRP e log de todas as ações.

Toda a lógica fica em `server-side/core.lua` (cada comando é um `RegisterCommand` protegido por checagem do grupo `Admin`). O `client-side/core.lua` cuida das partes de cliente (teleporte para waypoint, tuning, espectar, limpar área, configurar pistas).

**Hierarquia do grupo `Admin`** (`vrp/config/Global.lua`): `1 = C-Level`, `2 = Diretor`, `3 = Supervisor`, `4 = Administrador`, `5 = Moderador`, `6 = Suporte`.

<Note>
  **Semântica de nível:** `vRP.HasGroup(p,"Admin",N)` é verdadeiro quando o nível do jogador é **≤ N**, ou seja, exige o cargo N **ou superior** (quanto menor o número, maior o poder). Sem `N`, libera para **qualquer** cargo Admin.
</Note>

***

## Dependências

<CardGroup cols={2}>
  <Card title="vrp" icon="gears">
    Core do framework: grupos, passaportes e API base.
  </Card>

  <Card title="PolyZone" icon="map-pin">
    Zonas usadas pelas funcionalidades de cliente.
  </Card>

  <Card title="oxmysql" icon="database">
    Acesso ao banco de dados nas trocas de passaporte e comandos de economia.
  </Card>

  <Card title="five-vehicles" icon="car">
    Give/delete/transfer de veículos.
  </Card>

  <Card title="discord" icon="discord">
    Embeds e webhooks de auditoria.
  </Card>

  <Card title="crons" icon="clock">
    Permissões temporárias (`/insertcron`, `/removecron`).
  </Card>
</CardGroup>

<Info>
  **five\_logs** é opcional (logs via `exports["five_logs"]:AddLog`). Tunnel consumido: `vRP`/`vRPC`, `keyboard`, `hud`, `admin` (cliente).
</Info>

***

## Comandos

A tabela abaixo lista todos os comandos registrados pelo recurso, com o nível de permissão exigido.

<Note>
  **Permissão**: o nível significa "esse cargo **ou superior**". "Admin" = qualquer nível. "Console" = só pela console do servidor.
</Note>

| Comando                                 | Permissão                   | Descrição                                                                             |
| --------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------- |
| `/passaporte`                           | Jogador (20.000 Diamantes)  | Troca o próprio passaporte por um livre (1–200); migra todos os dados.                |
| `/passport`                             | Admin 1                     | Versão admin: migra dados de um passaporte offline para um novo número.               |
| `/players`                              | Admin                       | Lista passaportes online e total.                                                     |
| `/clone`                                | Admin 3                     | Copia a aparência de outro passaporte para si.                                        |
| `/print [passaporte]`                   | Admin 5                     | Screenshot do alvo para o webhook "Print".                                            |
| `/wipeonline`                           | Admin 1                     | Reseta o tempo online de todos.                                                       |
| `/skinshop` `/barbershop` `/tattooshop` | Admin 4                     | Abre loja de skins / barbearia / tatuaria para si.                                    |
| `/leaders`                              | Admin (qualquer nível)      | Lista os líderes (nível 1) de cada grupo que estão online.                            |
| `/pointexperience`                      | Admin 1                     | Adiciona experiência a um passaporte (passaporte, trabalho e quantidade por teclado). |
| `/postit`                               | Admin                       | Cria post-it no chat.                                                                 |
| `/usource [source]`                     | Admin                       | Passaporte associado a um source.                                                     |
| `/freecam`                              | Grupo **Freecam**           | Liga/desliga freecam.                                                                 |
| `/id [passaporte]`                      | Admin                       | Info do jogador (banco, rádio, telefone, grupos).                                     |
| `/wipepermissions`                      | Admin 2                     | Remove uma permissão de **todos**.                                                    |
| `/clearpermission`                      | Admin 2                     | Remove **todas** as permissões de um passaporte.                                      |
| `/status`                               | Admin                       | Lista membros de uma permissão (online/offline).                                      |
| `/staff` `/staffs`                      | Admin                       | Entra/sai do serviço de staff / lista staffs online.                                  |
| `/skin`                                 | Admin 5                     | Aplica ped temporário em um passaporte por X dias.                                    |
| `/clearinv [passaporte]`                | Admin 2                     | Limpa o inventário.                                                                   |
| `/dima`                                 | Admin 1                     | Adiciona diamantes.                                                                   |
| `/money`                                | Admin 1                     | Adiciona dinheiro ao banco.                                                           |
| `/blips`                                | Admin                       | Alterna blips de admin.                                                               |
| `/god [passaporte?]`                    | Admin                       | God mode em alvo ou em si.                                                            |
| `/item [item?] [qtd?]`                  | Admin 3                     | Entrega item (jogador/todos/área) ou gera para si.                                    |
| `/delete [passaporte]`                  | Admin 1                     | Deleta o personagem.                                                                  |
| `/nc`                                   | Admin                       | Alterna no-clip.                                                                      |
| `/kick [passaporte]`                    | Admin 5                     | Expulsa o jogador.                                                                    |
| `/insertcron` `/removecron`             | Admin 2                     | Concede/remove permissão **temporária**.                                              |
| `/tpcds`                                | Admin                       | Teleporta para coordenadas digitadas.                                                 |
| `/bucket [id]`                          | Admin 5                     | Move para o routing bucket.                                                           |
| `/cds`                                  | Admin                       | Copia coordenadas+heading atuais.                                                     |
| `/group` / `/ungroup`                   | Admin 4 / 2                 | Adiciona/remove permissão de um passaporte.                                           |
| `/groupc`                               | **Console**                 | Versão console do `/group`.                                                           |
| `/tptome` `/tpto` `/tpway`              | Admin                       | Puxa o alvo / vai até o alvo / vai ao waypoint.                                       |
| `/tuning`                               | Admin 1                     | Aplica tuning no veículo atual.                                                       |
| `/fix`                                  | Admin 5                     | Repara o veículo.                                                                     |
| `/announce`                             | Admin 2                     | Anúncio global.                                                                       |
| `/nameds`                               | **Console**                 | Normaliza nomes de todos os personagens.                                              |
| `/console <msg>`                        | **Console**                 | Mensagem global "Prefeitura".                                                         |
| `/kickall`                              | Console ou Admin 1          | Expulsão **gradual** (terremoto, 3 min) + salva.                                      |
| `/kickall2`                             | Console ou Admin 1          | Expulsão **imediata** + salva.                                                        |
| `/save`                                 | Console ou Admin 1          | Salva o servidor.                                                                     |
| `/spectate [passaporte]`                | Admin                       | Modo espectador sobre um jogador.                                                     |
| `/quake`                                | Admin 1                     | Ativa efeito de terremoto.                                                            |
| `/limparea`                             | Admin                       | Limpa peds/veículos/objetos num raio de 100m.                                         |
| `/video`                                | Admin 2                     | Reproduz vídeo (Vimeo) para passaporte/permissão/área/global.                         |
| `/rename`                               | Admin 3                     | Altera nome e sobrenome.                                                              |
| `/addcar` `/remcar`                     | Admin 1                     | Entrega / remove veículo de um passaporte.                                            |
| `/nitro` `/fuel`                        | Admin 5                     | +2000 nitro / menu de combustível (no veículo).                                       |
| `/kill [passaporte]`                    | Admin 2                     | Mata o alvo.                                                                          |
| `/liberar [passaporte]`                 | Admin 5                     | Solta da prisão.                                                                      |
| `/blackout`                             | Admin 2                     | Alterna apagão global.                                                                |
| `/configrace [nome?]`                   | **Cliente** (`state.Admin`) | Marca pontos de uma pista e gera o config (`<nome>.txt`).                             |

***

## Exports

Não declara exports próprios. Comunicação via Tunnel `admin` (servidor/cliente). Logs via `exports["five_logs"]:AddLog`.

***

## Eventos

### Interfaces Tunnel

Publica a interface `admin` em ambos os lados (`Tunnel.bindInterface("admin",Core)` no servidor e no cliente).

### Recebidos no servidor

| Evento         | Descrição                                                                              |
| -------------- | -------------------------------------------------------------------------------------- |
| `admin:Doords` | Recebe `Coords`/`Model`/`Heading` e grava as coordenadas de uma porta (`vRP.Archive`). |
| `Connect`      | No login, entrega itens offline pendentes ao jogador.                                  |
| `Disconnect`   | Limpa o estado do jogador ao sair.                                                     |

### Cliente

| Evento                | Descrição                                      |
| --------------------- | ---------------------------------------------- |
| `admin:Tuning`        | Aplica tuning completo no veículo atual.       |
| `admin:initSpectate`  | Inicia o modo espectador sobre `OtherSource`.  |
| `admin:resetSpectate` | Encerra o modo espectador e restaura a câmera. |

Além disso, registra `AddStateBagChangeHandler("Quake")` (efeito de terremoto) e dispara dezenas de eventos de cliente para os comandos (Notify, skinshop, barbershop, freecam, tuning, spectate, `hud:Video`, etc.).

<Warning>
  **HTTP/Webhook:** `SetHttpHandler` expõe rotas (`/god`, `/dima`, `/print`, `/tdiscord`, `/thex`, `/banned`, `/unbanned`, `/limbo`) protegidas por um header `Auth` cujo valor padrão (`"SuaAuthCode"`) **deve ser trocado** em produção.
</Warning>

***

## Banco de Dados

Não cria tabelas; lê/atualiza tabelas existentes (`characters`, `entitydata`, `permissions`, `chests`, `accounts`, `five_characters_vehicles`, e todo o conjunto MDT/painel/tickets nas trocas de passaporte).

***

## Customização

* **Custo da troca de passaporte:** `Price = 20000` (Diamantes); faixa de IDs livres `BETWEEN 1 AND 200`.
* **Níveis de cada comando:** nas checagens `vRP.HasGroup(p,"Admin",N)`; rótulos dos cargos em `Groups.Admin.Hierarchy` (`vrp/config/Global.lua`).
* **Token das rotas HTTP:** troque `"SuaAuthCode"` no `SetHttpHandler`.
* Valores fixos: nitro `2000`, raio do `/limparea` `100.0`, coordenada do "limbo" `164.3, -998.45, 29.35`.

<Tip>
  Antes de subir o servidor em produção, troque o token `"SuaAuthCode"` das rotas HTTP e revise os níveis de cada comando para alinhá-los à sua hierarquia de staff.
</Tip>
