Documentação do Pulse Phone
Solução de problemas
11. Solução de problemas
Comece aqui: leia a verificação de inicialização no console do servidor. Ela começa com PULSE PHONE v1.x.x e o build, e depois dá uma linha por área (Server, Database, Framework, Connected scripts, Items...). Toda linha FIX ou NOTE tem o problema e a solução logo abaixo (-> ...). Digite phone:health para o relatório completo, linha por linha, e phone:diag para os detalhes.
O celular não abre
| O que você vê | Por quê | Solução |
|---|---|---|
O F1 não faz nada, o /phone funciona |
Outro script usa o F1 | Troque a tecla em Settings > Key Bindings > FiveM, ou mude Config.Keys.open. O novo padrão só chega aos jogadores que nunca configuraram a tecla. |
| Nada abre | O jogador não tem item de celular, a bateria acabou, um script desativou o celular, ou o jogador está morto, algemado ou em outro estado bloqueado | Confira Config.Item.required, a bateria e os estados de Config.Block. |
| Não abre por cima de um inventário ou menu | De propósito (Config.Open.blockWhenNuiFocused) |
Feche o outro menu antes. |
| "No phone item": não abre para ninguém | Config.Item.required = true, mas o item phone não existe no seu inventário, ou os jogadores não o carregam |
Adicione o item phone (seção 4) e dê aos jogadores, ou defina Config.Item.required = false. |
| Um celular novo fica preto e diz "Hold to turn on" | O celular chegou desligado: Config.Device.arrivesOn = false. Celulares novos chegam ligados por padrão desde a 1.4.0; um config.lua mantido de uma versão anterior conserva o próprio valor |
Com o celular na mão, segure End ou O (Config.Keys.power) por uns dois segundos, ou segure o botão lateral do próprio celular com o mouse. Deslize para cima na tela de boas-vindas para começar a configuração. |
A caixa some, mas nenhum item phone aparece |
Config.Item.required = false e unique = false usam um celular do personagem, sem item no inventário |
Abra o celular normalmente. Se o seu servidor deve exigir um item carregado, ative Config.Item.required antes de vender celulares e depois reinicie o Pulse. |
| Tela vazia ou branca | O lado do servidor não está rodando. O F8 mostra the server never answered bootstrap - is the resource running server-side? |
Procure no console do servidor uma linha vermelha [phone] ou um erro de escrow (abaixo). |
Tela vazia, o console diz ui/index.html missing |
A pasta ui/ foi removida ou não foi enviada |
Envie de novo a pasta phone completa. Não remova a ui/. |
O aparelho aparece na mão, mas a tela nunca surge; a verificação de inicialização mostra [FAIL] Interface citando um arquivo em ui/assets/ |
Esse arquivo está faltando na sua cópia: um upload incompleto, ou um antivírus o removeu | Baixe o celular de novo pelo Keymaster e envie a pasta inteira. Se o arquivo sumir de novo, adicione a pasta do servidor às exclusões do seu antivírus. |
| Cursor preso no meio da tela | O raw input do GTA está desligado | O jogador ativa o raw input nas configurações do GTA. |
Framework, dinheiro e empregos
| O que você vê | Por quê | Solução |
|---|---|---|
FRAMEWORK NOT SELECTED: more than one framework is started |
Dois cores estão rodando, por exemplo es_extended e qb-core | Defina Config.Framework em config/config.lua para o que você usa, ou adicione setr phone_framework <name> ao server.cfg (seção 3). Até lá, os recursos de dinheiro ficam desligados. |
framework not ready: ... no console, e os celulares ficam na tela "not ready" |
O framework que o celular encontrou ou que foi definido ainda não está rodando: ainda iniciando, reiniciando, parado, ou (customizado) a bridge dele nunca foi registrada. O dinheiro é recusado até ele subir. | Inicie o celular depois do seu framework. Depois de reiniciar o core, espere um pouco, ou reinicie o celular também. Framework customizado: registre a bridge e chame exports.phone:FrameworkRestarted() após um reinício do core. Um servidor sem nenhum framework: defina Config.Framework = 'standalone' em config/config.lua, ou adicione setr phone_framework standalone ao server.cfg (tem prioridade sobre a config). |
| Detectou o framework errado: a linha de inicialização mostra um que você não usa | O ox_core está iniciado junto com ESX, QBCore ou Qbox (o celular então usa o outro), ou o seu core tem um resource renomeado | Pare o core que você não usa, ou force o seu com setr phone_framework <name> no server.cfg (seção 3). Um core renomeado: use o nome original, ou conecte-o como framework customizado. |
Config.Framework = "esx" but es_extended is not started |
A configuração cita um framework que não está rodando | Corrija a configuração, ou volte para 'auto'. |
A linha de inicialização diz Framework: standalone em um servidor com framework |
O core tem outro nome de resource, ou inicia depois do celular | Inicie o celular depois do framework. Um core renomeado não é encontrado: use o nome original, ou conecte-o como framework customizado (seção 3). |
| Saldo bancário 0 ou errado | O celular roda em standalone (banco próprio), ou o framework não foi encontrado | Confira as partes Framework: e Banking: da linha de inicialização. |
| Nenhuma conta de empresa no Services | Nenhum script de conta de empresa está rodando, ou o jogador não é chefe | Rode um da seção 7. Cargos de chefe: boss (ESX), isboss (QBCore / Qbox), ou bossGrade. No ox_core e no vRP não há gestão de empresa. |
| Polícia ou EMS não recebem chamadas do 911 | Os nomes dos empregos deles não estão nas listas, ou eles estão fora de serviço | Adicione os nomes dos seus empregos a Config.Services e Config.Emergency em config/apps.lua. |
<script> found but not connected |
A versão desse script tem exports diferentes | O celular usa a próxima opção. Atualize o script, ou escolha outro com Config.Providers. |
Servidor ND Core, mas a linha de inicialização mostra outro framework ou standalone |
O ND_Core inicia depois do celular, ou outro core também está iniciado |
Inicie o celular depois do ND_Core, pare o core que você não usa, ou adicione setr phone_framework nd ao server.cfg. |
Banco de dados
| O que você vê | Por quê | Solução |
|---|---|---|
O celular nunca termina de carregar; o F8 mostra request "bootstrap" timed out |
Tabelas de outro celular estão no caminho e não puderam ser movidas | Leia a verificação de inicialização (phone:health). Uma linha [FAIL] Database ... belong to another script cita as tabelas; veja a seção 2, "Tabelas de outro celular". |
Verificação de inicialização: [WARN] Database N table(s) of another script were moved aside: phone_x -> old_phone_x |
Uma tabela que outro script deixou com um dos nomes do celular foi renomeada na inicialização para o celular poder criar a dele. Nada foi apagado | Nada a fazer no celular. Se um script seu é dono dessa tabela, dê a ele outro nome de tabela: ele não vai encontrar os dados com o nome antigo. O phoneimport lê dali os dados de um celular antigo (Importação de dados, "Tabelas com o mesmo nome do Pulse Phone"). |
Verificação de inicialização: [WARN] Database <table> is missing columns the phone writes (...) |
A tabela tem o nome do celular, mas falta uma coluna que o celular grava, e não está claro que seja de outro script. Ela é deixada como está de propósito: renomear errado seria pior do que um aviso | Se outro script a criou, renomeie para old_<table> na sua ferramenta de banco de dados e reinicie. Se não, envie essa linha ao suporte (seção 12). As regras estão em Importação de dados. |
db: could not create table ... check that the database user may CREATE TABLE |
O usuário do banco de dados não consegue criar tabelas | Dê ao usuário permissões de CREATE e ALTER, ou importe o phone.sql à mão. |
db: could not add column ... |
O usuário não consegue fazer ALTER nas tabelas | Igual ao de cima. |
is running but the database did not answer |
O oxmysql roda, mas não alcança o banco de dados | Corrija a mysql_connection_string. O celular tenta de novo sozinho. |
no SQL resource running - storing data in the resource key/value store |
O oxmysql não está iniciado, ou inicia depois do celular | Inicie o oxmysql antes do celular. |
auth_gssapi_client no log do oxmysql |
O usuário do banco de dados está configurado para login do Windows | Mude esse usuário para senha: ALTER USER 'fivem'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('your-password'); |
phone_db_fallback is "kvp", so the key/value store takes over |
O banco de dados não responde e o fallback está ativado | Os dados estão sendo gravados no armazenamento key/value e não vão chegar ao banco de dados. Corrija a conexão. |
db: no answer within 10 s, answered as failed: <query> |
Essa consulta nunca voltou (um banco de dados lento ou travado) | O app que pediu foi avisado de que falhou. Confira o log do resource de SQL. |
Chamadas, fotos e o aparelho
| O que você vê | Por quê | Solução |
|---|---|---|
As chamadas conectam sem som, no voice resource |
Nenhum script de voz está rodando | Inicie o pma-voice (ou outro da seção 5) antes do celular. |
Sem som, 2 voice resources running |
Dois scripts de voz brigam pelos mesmos canais | Rode exatamente um. |
| A chamada de vídeo mostra só a imagem de quem ligou | Os dois jogadores não conseguem se conectar diretamente | Configure um relay de vídeo usando o guia avançado linkado na seção 5. |
| Uma chamada unida tem som, mas sem imagem | O vídeo em grupo está desativado, ou os lugares de vídeo configurados estão ocupados. Os participantes de voz podem continuar na conferência sem um lugar de vídeo. | Em config/config.lua, confira Config.Calls.groupVideo e Config.Calls.groupVideoMax. O vídeo em grupo vem ativado por padrão com quatro lugares de vídeo. Siga a configuração de relay de vídeo linkada na seção 5 para a conectividade em produção. |
| Os vídeos da câmera ficam sem som, para um jogador | Esse jogador recusou uma vez o pedido de microfone do jogo. O FiveM guarda a resposta em %AppData%\CitizenFX\media_access.json e nunca pergunta de novo. |
O jogador fecha o FiveM, apaga %AppData%\CitizenFX\media_access.json, abre o jogo de novo e permite o microfone quando for perguntado. |
As fotos não salvam, screenshot-basic not started |
O screenshot-basic não está rodando | Inicie-o antes do celular. |
| As fotos salvam, mas aparecem quebradas | O phone_media_origin é um http:// simples |
Use um endereço https://, remova a configuração, ou use o Fivemanage (seção 6). |
refused a media link on "<host>" |
Um link de um host que não está na allow-list | Adicione o host em Config.Media.allow (seção 6), ou deixe recusado. |
| O app Radio diz que o rádio não está disponível | Nenhum script de voz está rodando, ou é o YACA | Veja a seção 5, Radio. |
| Radio: "You need a radio to tune in" | Config.Radio.item está definido e o jogador não carrega esse item |
Dê o item a ele, ou defina item = false em config/apps.lua. |
| O orelhão recusa a chamada por falta de dinheiro | Pouco dinheiro na conta definida em Config.Payphone.pay, ou uma bridge customizada sem funções de dinheiro |
Num servidor standalone ninguém tem dinheiro vivo: mantenha pay = 'either' ou use 'bank'. |
| Não dá para digitar num campo de texto | Outro script chamou SetNuiFocus(false, false) enquanto o celular estava aberto |
Encontre esse script (o devtools do NUI mostra qual é). |
Verificação de inicialização: phone_media_origin not set |
O servidor não tem endereço público da Cfx.re (um servidor de testes local ou de LAN) | Jogadores no mesmo PC ou na mesma rede funcionam normalmente. Para um servidor público, confira se ele está listado, ou defina setr phone_media_origin "https://..." (seção 6). |
| Aparelho invisível, um celular padrão do jogo ou uma caixa cinza na mão | O modelo do celular não fez stream. O F8 mostra the handset model "pulse_titanium" did not load. (ou pulse_ultra, pulse_clear, pulse_flip, conforme o aparelho daquele celular) |
Defina sv_enforceGameBuild como 2699 ou mais recente. Envie de novo a pasta stream/, sem alterações, e mantenha todas as linhas data_file do fxmanifest.lua. |
Loja e itens
| O que você vê | Por quê | Solução |
|---|---|---|
| Nenhum atendente na loja | O atendente só aparece a uns 60 m. A loja pode estar desligada, ou o seu mapa cobre a Legion Square | Confira Config.Store.enabled. Mude o balcão de lugar em Config.Store.locations. |
store: the item "pulse_phone_box" ... is not registered in your inventory |
O item da caixa está faltando | Adicione-o (seção 4). Até lá, os celulares são entregues sem caixa. |
A loja diz "inventory full", mas o jogador tem espaço; o console diz store: the inventory would not take <item> |
Esse item não está na lista de itens do seu inventário, então o inventário o recusa | Adicione o item indicado no console (seção 4, e config/items/), ou defina Config.Store.box = false para entregar os celulares sem caixa. A compra foi reembolsada. |
Sem Reserve ou cabo na loja, ou store: the item "pulse_cable" ... |
Os itens de carregamento não estão no seu inventário | Adicione pulse_magpack, pulse_magpack_max e pulse_cable (seção 4), e as imagens deles. |
Sem Pulse Home Wi-Fi na loja, ou store: the item "pulse_router" ... |
O item do roteador não está no seu inventário, ou Config.Wifi.enabled está como false |
Adicione pulse_router (seção 4) e a imagem dele. |
Home Wi-Fi: the model "pulse_router" is not streamed no F8 |
A pasta stream/ não foi enviada por completo |
Envie de novo a pasta stream/, sem alterações. O Wi-Fi continua funcionando; o roteador só não é desenhado. |
Sem Pulse Burner na loja, ou store: the item "pulse_burner" ... |
O item do burner não está no seu inventário, ou Config.Burner.enabled está como false |
Adicione pulse_burner (seção 4) e a imagem dele. |
Pulse Burner: the model "pulse_burner" is not streamed no F8 |
A pasta stream/ não foi enviada por completo |
Envie de novo a pasta stream/, sem alterações. Os burners continuam funcionando; o aparelho Pulse aparece na mão. |
| Um policial não tem o app Intercept, ou ele diz que está fora de serviço | O emprego dele não está em Config.Taps.jobs, o cargo está abaixo de minGrade, ou o framework diz que ele está fora de serviço |
Confira o config/apps.lua e o emprego dele. |
| "A router can only go inside a home you own or have a key to" | placement é 'housing' (ou 'auto' com um script de housing) |
Coloque dentro da sua casa, ou mude placement em config/apps.lua. |
| O roteador não posiciona: o anel fica vermelho, ou uma mensagem diz o motivo | O local quebra uma regra. Precisa ser uma superfície plana a até uns 3 m do jogador (não uma parede nem uma rampa), a pelo menos minSpacing (8 m) de outro roteador, e o jogador precisa ter menos de maxPerPlayer (2) posicionados. Com placement = 'interior', precisa ser em ambiente fechado ("A router has to go indoors"). Com 'housing', precisa ser numa casa da qual ele é dono ou tem a chave. |
Chegue mais perto e mire num chão ou numa mesa. Recolha antes um roteador mais antigo. Ou mude placement em config/apps.lua (seção 8, Home Wi-Fi). |
| "Routers go in homes, and this server has no housing script the phone can read" | placement = 'housing', mas nenhum dos scripts de housing da seção 7 está rodando |
Defina placement como 'auto' ou 'interior', ou rode um script de housing suportado. |
| Os itens aparecem sem imagem | As imagens não foram copiadas | Copie config/items/images/ para a pasta de imagens do seu inventário. A linha Item pictures da verificação de inicialização aponta as que faltam e a pasta. |
Verificação de inicialização: [FAIL] Items ... missing in ox_inventory |
O ox_inventory só lê o próprio arquivo de itens | Cole as entradas impressas abaixo do quadro em ox_inventory/data/items.lua, depois reinicie o ox_inventory e o celular. |
Verificação de inicialização: Phone item ... opens <another script> |
A entrada phone do ox_inventory cita o export de outro script |
Substitua essa entrada pela que está impressa abaixo do quadro (também em Settings > Server > Health Check, com Copy), depois reinicie o ox_inventory. A entrada padrão está boa como está. |
Verificação de inicialização: [INFO] Items TMC keeps no item list the phone can read |
O TMC não tem como listar os próprios itens, então o celular não consegue saber quais existem. É uma informação, não um erro | Garanta que cada item impresso abaixo do quadro está na lista de itens do TMC. A loja indica qualquer item que o TMC recusar. |
Verificação de inicialização: [WARN] Items ... restart the server once so ESX loads them |
Os itens foram adicionados à tabela items do ESX, mas este ESX não consegue recarregá-los com o servidor rodando |
Reinicie o servidor uma vez. |
Verificação de inicialização: [WARN] Items ... could not add the items itself |
O celular não conseguiu gravar na tabela items do ESX ou nos itens do QBCore (o motivo está na linha) |
Faça à mão: rode o config/items/esx.sql (ESX) ou cole o config/items/qb-core.lua em qb-core/shared/items.lua (QBCore), depois reinicie. |
Unique phones are waiting for their inventory. |
Os celulares únicos estão ativados, mas nenhum dos inventários de que eles precisam está rodando | Inicie o inventário suportado selecionado antes do phone e confira Config.Providers.inventory. O Pulse mantém a configuração de celulares únicos e retoma quando esse inventário ficar disponível; não mude o modo de posse só para contornar este aviso. |
| Uma conta não pode ser paga: ninguém para receber | A empresa da conta não tem conta em um script de conta de empresa, ou o remetente não foi encontrado | Defina Config.Bills.payToCity = true para tratar essas contas como multas da cidade. |
Outros scripts, idioma e serviço
| O que você vê | Por quê | Solução |
|---|---|---|
Um script dá erro No such export para outro celular |
Ele chama os exports de outro celular, por exemplo exports['<old phone>']:SendMail. O Pulse Phone não copia os exports de outros celulares. |
Mude essa chamada para o export do próprio Pulse Phone (Exports), ou peça ao autor do script uma opção para o Pulse Phone. Scripts que usam eventos não precisam de nada. |
No such export para phone |
A pasta do celular foi renomeada | Renomeie de volta para phone (abaixo). |
| Idioma errado | Config.Locale está definido para outro idioma, ou o jogador escolheu um |
Defina Config.Locale. Cada jogador pode escolher o seu em Settings > General > Language. |
O texto aparece como chaves, tipo key.answer |
Uma pasta config/locales/ antiga foi copiada por cima da nova |
Use os novos arquivos de locale. Aplique de novo os seus textos à mão. |
| O download no App Hub diz No Connection | O celular está sem sinal de celular ali (uma zona sem sinal, ou sem sinal com o Carrier ativado) e não está no Wi-Fi. Os downloads precisam de Wi-Fi ou de dados móveis. | Vá para um lugar com sinal, ou entre num Wi-Fi (um roteador Pulse Home Wi-Fi). |
| O download no App Hub diz No Cellular Plan, Data Limit Reached ou Cellular Data Is Off | O Carrier está ativado e o celular não tem plano ou já usou os dados, ou o jogador desligou os Dados Celulares | Compre ou melhore um plano no app Carrier (instalado em todo celular enquanto o Carrier está ativado), ligue de novo os Dados Celulares, ou entre num Wi-Fi. |
| Todo mundo está com "No Service" | O Carrier está ativado (Config.Carrier.enabled = true ou setr phone_carrier 1), então cada celular precisa de um plano |
Os jogadores compram um plano no app Carrier. Ou desligue: defina enabled = false e remova a linha setr phone_carrier. |
| Sem sinal só em alguns lugares | As zonas sem sinal estão ativadas (Config.Coverage.enabled) |
Confira as suas zonas com phone:zone show no jogo. As chamadas de emergência sempre funcionam. |
Settings > Server, alertas de emergência e atualizações
| O que você vê | Por quê | Solução |
|---|---|---|
| Sem a linha Server em Settings | O jogador não tem a ace phone.admin, ou Config.OwnerTools.enabled = false |
add_ace group.admin phone.admin allow e adicione o jogador ao group.admin, depois reabra Settings. |
phone:setup não faz nada |
Digitado no console do servidor, ou o jogador não é admin | Digite no jogo (F8) como admin. No console, o phone:health mostra as mesmas verificações. |
| Uma mudança feita no jogo não está valendo | Ela está marcada como Restart needed | Reinicie o celular (ensure phone) ou o servidor. A linha Restart da verificação de inicialização lista o que está esperando. |
Editar um arquivo de config/ não muda nada |
Essa configuração foi mudada no jogo, e o valor do jogo tem prioridade | Aperte Reset to Default nela em Settings > Server, ou use phone:reset <key> no console. |
| Settings > Server mostra tudo só para leitura | Config.OwnerTools.enabled = false em config/apps.lua |
Defina como true e reinicie o celular. |
Not saved: ... abaixo de uma configuração |
O valor não é aceito por essa configuração (fora do intervalo, formato errado, um nome de emprego com espaços) | Use o valor que a mensagem descreve. |
| Ninguém recebe um alerta de emergência | Config.Broadcast.enabled = false, ou os jogadores estão fora do círculo que você desenhou |
Confira o config/apps.lua. Envie para a cidade inteira para testar. |
| Os jogadores recebem alertas graves ou informativos em silêncio, ou não recebem | Cada jogador pode desligar esses níveis, e os alertas graves seguem o Modo Silencioso | É escolha do jogador. Os alertas extremos sempre tocam. |
| Um policial não tem o botão New Alert | O emprego dele não está em Config.Broadcast.senders, o cargo está abaixo do listado, ou ele está fora de serviço |
Adicione 'police:3' (emprego:cargo mínimo) a senders, ou defina requireDuty = false. |
Wait ... before sending another alert |
O cooldown do remetente (cooldownSeconds) ou o limite por hora (perHour) |
Espere, ou aumente os limites em config/apps.lua. |
Sem linha Update na verificação de inicialização |
O celular não conseguiu acessar o arquivo de atualização (sem internet, um firewall), ou Config.UpdateCheck.enabled = false |
Nada para corrigir: o celular segue sem isso. Com Config.Debug = true o console diz o motivo. |
Recursos mais novos
| O que você vê | Por quê | Solução |
|---|---|---|
| Sem o app Shade | O Shade vem desligado por padrão e precisa de um item pulse_vpn, de um emprego listado ou de access.everyone |
Defina Config.DarkMarket.enabled = true em config/apps.lua e confira o bloco access dele. |
| Sem chip SIM na loja, ou sem crédito em Settings | Os chips SIM vêm desligados por padrão (Config.Sim.enabled), e o crédito pré-pago é uma segunda opção (prepaid) |
Ative-os em config/apps.lua e adicione pulse_sim e pulse_topup ao seu inventário (seção 4). |
| Um Pulse Beacon não gruda num carro | O jogador está longe demais do veículo (attachRange, 4 m), ou já tem maxPerPlayer (8) |
Fique ao lado do carro. Confira o config/apps.lua. |
| "An unknown Pulse Beacon is moving with you" | O aviso de segurança: o beacon de outra pessoa viajou com o jogador por alertAfter segundos |
Esperado. Só defina alert.enabled = false se as suas regras permitirem rastreamento oculto. |
| Pulse Buds, Ring Light ou Card Wallet não funcionam pelo inventário | Os itens deles estão faltando, ou desligados | Adicione pulse_buds, pulse_ringlight e pulse_wallet (seção 4), e confira o config/apps.lua. |
| O Slipstream não deixa um jogador criar ou entrar numa corrida | Ele está a mais de joinRadius (60 m) da linha de largada, a corrida está cheia (maxRacers), ou a taxa está fora de minFee a maxFee |
Dirija até a linha de largada. Confira o config/apps.lua. |
| Hail: um motorista nunca recebe corridas | A classe ou o modelo do carro dele não é permitido, o emprego não está em driver.jobs, falta o driver.licenceItem, ou ele está fora da serviceArea |
Confira o bloco driver em config/apps.lua. |
| Os pedidos do Eats nunca são entregues por um jogador | Nenhum entregador em serviço com um emprego em couriers.jobs; com cityCourier.enabled, a cidade entrega no lugar |
Adicione os seus empregos de entrega em config/apps.lua (ou em Settings > Server > Jobs). |
| O Realty não mostra nenhuma casa | O seu script de housing não consegue listar casas à venda, e Config.Homes.listings está vazio |
Adicione anúncios em config/apps.lua, ou rode um script de housing da seção 7. |
| Nenhum corretor recebe pedidos de visita no Realty | Nenhum jogador em serviço tem um emprego em realtor.jobs |
Adicione os nomes dos seus empregos em config/apps.lua (ou em Settings > Server > Jobs). |
| Jogos ao vivo: nenhum convite chega | O jogo está desligado em config/apps.lua, ou o convite esperou mais do que inviteSeconds |
Confira o config/apps.lua e envie o convite de novo. |
| A linha de uma empresa não toca para ninguém, ou quem liga fica em espera | Ninguém está logado como atendente dessa linha, ou nenhum membro está em serviço | Veja o config/apps.lua: os atendentes fazem login no app Services. |
| Groups: "the group is full" | maxMembers (6, incluindo o líder) |
Aumente em config/apps.lua. |
| As notícias urgentes não notificam ninguém | breaking.enabled está desligado, ou o cooldown (cooldownSeconds, perAuthorSeconds) ainda não passou |
Confira o config/apps.lua, ou Settings > Server > News. |
Problemas de instalação e de versão
| O que você vê | Por quê | Solução |
|---|---|---|
You lack the required entitlement, ou um erro de escrow na inicialização |
A chave do servidor pertence a uma conta Cfx.re diferente da que comprou o Pulse Phone | O asset precisa pertencer à mesma conta Cfx.re da chave do seu servidor (sv_licenseKey). Baixe o celular pelo Keymaster (Granted Assets) nessa conta. Uma cópia de outra pessoa nunca roda. |
Failed to verify protected resource phone na inicialização, e o console ou o F8 mostra syntax error near '<\1>' para arquivos da pasta protegida |
O upload alterou os arquivos protegidos: um cliente FTP os enviou em modo texto (Auto/ASCII), ou o upload foi interrompido. A licença está certa (uma conta errada mostra You lack the required entitlement no lugar) |
Apague a pasta phone no servidor, baixe de novo pelo Keymaster e envie em modo Binary (FileZilla: Transfer > Transfer Type > Binary), ou envie o zip e extraia no servidor. Compare a pasta com a tabela de arquivos do INSTALL.md. |
Verificação de inicialização: [FAIL] Package ... file(s) missing or the wrong size, citando arquivos em ui/, data/ ou stream/ |
Esses arquivos não chegaram como foram gerados: um upload parcial, uma transferência FTP em modo texto, ou um antivírus removeu algum | A mesma solução: baixe de novo, depois envie em modo Binary ou extraia o zip no servidor. Se um arquivo sumir de novo, exclua a pasta do servidor no seu antivírus. Os arquivos de stream são verificados só quanto à presença (o escrow muda o tamanho deles); o código protegido é verificado pelo próprio servidor. |
Verificação de inicialização: [FAIL] Package the file list is from build ... files from two downloads are mixed |
A ui/ e o resto da pasta vêm de downloads diferentes |
Apague a pasta e extraia um único download por completo. Sempre pegue stream/ e ui/ da mesma versão. |
Verificação de inicialização: [WARN] Package data/package.json is missing or unreadable |
A lista de arquivos que vem com cada versão não chegou | Envie a pasta inteira de novo (modo Binary), incluindo data/. |
| Outros scripts ou itens param de funcionar depois de renomear a pasta | Os outros scripts e as entradas de item acessam o celular como phone (exports.phone, phone.useItem) |
Mantenha a pasta com o nome phone. |
Comportamento estranho depois de uma atualização, your config has no Config.Charging section |
Um config.lua antigo foi copiado por cima |
As seções que faltam nele rodam com os padrões. Copie as seções que faltam do novo config/config.lua, ou comece a partir do arquivo novo. |
| Um adapter antigo impede scripts de se conectarem depois de uma atualização | Arquivos bridge/ antigos (desta versão ou de uma mais antiga) foram copiados de volta |
Use os arquivos novos (seção 10). |
| Dois celulares iniciam | A pasta phone antiga ainda está em algum lugar dentro de resources |
Tire-a de resources. |