Início › Documentação › Configuração · origen_reports

Configuração · origen_reports

A configuração partilhada está em config.lua. Os webhooks do Discord são apenas do servidor e estão em svconfig.lua.

Config.Framework, Config.Inventory, Config.Clothing e Config.Ambulance são detetados automaticamente em init.lua. Não os definas no ficheiro de configuração.


Geral

Variável Por omissão Descrição
Config.Debug false Mostra informação de depuração na consola
Config.Language 'en' Idioma do recurso — 'es' ou 'en'
Config.maxActiveReports 1 Número máximo de reports abertos que um jogador pode ter em simultâneo
Config.anonymousStaffMessages true Oculta o nome do membro da staff nas mensagens que o jogador recebe
Config.notificationPosition 'top-right' Posição das notificações da interface. top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right
Config.uiSounds true Sons ao passar o rato, ao clicar e nas transições da interface

maxActiveReports e anonymousStaffMessages são apenas valores iniciais. No primeiro arranque são escritos na tabela origen_reports_config e, a partir daí, manda a base de dados. Altera-os no painel de administração, ou apaga as respetivas linhas em origen_reports_config para voltar a inicializá-los a partir de config.lua.


Comandos

Chave Comando por omissão Descrição
userpannel /report Abre o painel do jogador para criar e acompanhar reports
adminpannel /adminreport Abre o painel da staff. Só responde aos membros da staff
lua
Config.Commands = {
    ['userpannel'] = {
        name = 'report',
        helpKey = 'commands.user_help',
    },
    ['adminpannel'] = {
        name = 'adminreport',
        helpKey = 'commands.admin_help',
    },
}
Campo Tipo Descrição
name string Nome do comando de chat, sem a barra
helpKey string Chave de idioma usada como texto de sugestão do comando

Acesso da staff

Permissões que dão acesso à staff. Consulta Instalação para ver como cada entrada é resolvida face ao ACE e à framework.

lua
Config.StaffFullAccess = {
    'superadmin',
    'admin',
    'god'
}
 
Config.StaffBasicAccess = {
    'mod',
    'moderator',
}
Variável Descrição
Config.StaffFullAccess Permissões que dão acesso total: todas as ações rápidas e o painel de administração
Config.StaffBasicAccess Permissões que dão acesso básico: o conjunto de permissões básicas por omissão

Se um jogador coincidir com ambas as listas, prevalece o acesso total.


Tipos de report

Categorias que o jogador escolhe ao criar um report.

lua
Config.reportTypes = {
    { id = 1, labelKey = 'report_types.support_general', icon = 'help' },
    { id = 2, labelKey = 'report_types.report_player',   icon = 'user' },
    { id = 3, labelKey = 'report_types.report_bug',      icon = 'bug'  },
}
Campo Tipo Descrição
id number Identificador único do tipo
labelKey string Chave de idioma da etiqueta. Usa label em vez disso para definir um texto literal
icon string Ícone mostrado na interface. Por omissão 'help'

Os tipos de report são inseridos em origen_reports_types no primeiro arranque, apenas quando a tabela está vazia. Depois são geridos a partir do painel de administração e as alterações a config.lua são ignoradas.


Pontos de teletransporte

Destinos disponíveis na ação rápida de teletransporte.

lua
Config.teleportPoints = {
    { id = 1, nameKey = 'teleports.mrpd',             coords = { x = 425.2, y = -980.5, z = 30.7 } },
    { id = 2, nameKey = 'teleports.hospital_pillbox', coords = { x = 295.8, y = -584.3, z = 43.3 } },
    { id = 3, nameKey = 'teleports.legion_square',    coords = { x = 192.4, y = -939.2, z = 30.7 } },
}
Campo Tipo Descrição
id number Identificador único do ponto
nameKey string Chave de idioma do nome. Usa name em vez disso para definir um texto literal
coords table Coordenadas de destino { x, y, z }

Tal como os tipos de report: são inseridos em origen_reports_teleports apenas quando a tabela está vazia e, depois, são geridos a partir do painel de administração.


Partilha de ecrã em direto

Definições da ação rápida de vídeo. O jogador reportado transmite o seu ecrã por WebRTC ao membro da staff que está a tratar do ticket.

lua
Config.videoStream = {
    frameRate   = 24,
    width       = 1280,
    height      = 720,
    bitrateKbps = 1500,
 
    notifyTarget = false,
 
    maxStaffPerTarget = 1,
 
    iceServers = {
        { urls = 'stun:stun.l.google.com:19302' },
    },
}
Campo Por omissão Descrição
frameRate 24 Fotogramas por segundo (5-60). Valores mais altos consomem mais CPU/GPU no jogador que transmite
width 1280 Largura máxima da faixa de vídeo (320-3840)
height 720 Altura máxima da faixa de vídeo (180-2160)
bitrateKbps 1500 Bitrate máximo por transmissão em kbps (250-12000)
notifyTarget false Avisa o jogador quando um membro da staff começa a ver o seu ecrã
maxStaffPerTarget 1 Número máximo de membros da staff a ver o mesmo jogador em simultâneo
iceServers Google STUN Servidores ICE usados para negociar a ligação entre pares

O STUN sozinho falha atrás de um NAT simétrico, pelo que alguns jogadores nunca vão ligar. Para cobrir todos, adiciona o teu próprio servidor TURN:

lua
iceServers = {
    { urls = 'stun:stun.l.google.com:19302' },
    { urls = 'turn:turn.example.com:3478', username = 'user', credential = 'pass' },
},

Jogadores próximos

Lista de jogadores mostrada por baixo das ações rápidas de um ticket reclamado.

lua
Config.nearbyPlayers = {
    radius          = 30.0,
    maxResults      = 20,
    refreshInterval = 0,
    showIp          = false,
}
Campo Por omissão Descrição
radius 30.0 Metros à volta do jogador reportado, não do membro da staff (1-500)
maxResults 20 Número máximo de jogadores devolvidos por consulta
refreshInterval 0 Atualização automática enquanto a secção está aberta, em milissegundos. 0 desativa-a e deixa apenas o botão de atualização manual
showIp false Inclui o endpoint de ligação (IP) nos identificadores. Só a staff com acesso total o recebe

Webhooks

svconfig.lua contém todos os webhooks do Discord. Define enabled = false para desativar todos os logs.

Chave Registado quando
report-created Um jogador cria um report
report-claimed Um membro da staff reclama um report
report-resolved Um report é resolvido
report-released Um membro da staff liberta um report reclamado
staff-duty Um membro da staff entra ou sai de serviço
admin-config-general As definições gerais são alteradas no painel de administração
admin-config-tp-add / -update / -delete Um ponto de teletransporte é criado, editado ou removido
admin-config-type-add / -update / -delete Um tipo de report é criado, editado ou removido
admin-group-add / -update / -delete Um grupo de staff é criado, editado ou removido
admin-add-staff / admin-remove-staff / admin-update-staff Um membro da staff é adicionado, removido ou editado
quick-bring · quick-goto · quick-bringback · quick-back · quick-teleport Ações rápidas de teletransporte
quick-inventory · quick-giveitems Ações rápidas de inventário
quick-revive · quick-ropa · quick-bucket Ações rápidas de reanimar, roupa e routing bucket
quick-espectar · quick-video · quick-nearby Observar, partilha de ecrã em direto e jogadores próximos
quick-screenshot-request · quick-screenshot-result É pedida uma captura de ecrã e o respetivo resultado
screenshot-upload Não é um log: o webhook para onde o screenshot-basic envia as capturas

Qualquer chave deixada como YOUR_WEBHOOK_URL ou vazia é ignorada sem aviso.