Codesign Easytime oferece uma interface administrativa para horário, clima, apagão e configurações de sincronização. O manifesto revisado declara a versão 2.0.5. A pasta se chama cd_easytime e o comando padrão da interface é /easytime; start easytime não é a linha de inicialização correta para essa pasta.
Configure uma única fonte de sincronização
Mantenha o manifesto e os diretórios configs, client, server e html juntos em cd_easytime. Adicione ensure cd_easytime após o framework e as dependências de notificação escolhidas. Revise os imports comentados de ox_lib e Qbox em fxmanifest.lua conforme sua integração. Desative controles sobrepostos de horário ou clima no vMenu, vSync e outros recursos para evitar atualizações concorrentes.
Configure configs/config.lua. A detecção automática verifica recursos ESX, QBCore e Qbox iniciados; frameworks próprios usam o caminho other. As permissões incluem grupos do framework, identificadores, ACE e cargos opcionais do Discord. Acesso por identificador, ACE e Discord vem desativado; os cargos exigem Badger_Discord_API. Teste uma conta autorizada da equipe e uma conta comum.
Modos de jogo, configurações salvas e clima real
Horário e clima usam game por padrão. O modo real utiliza dados OpenWeather da cidade configurada. Antes de ativá-lo, mova as credenciais da API da configuração compartilhada com clientes para tratamento exclusivo no servidor: Config.APIKey está em um arquivo compartilhado e o log de depuração pode exibi-la. Essa configuração não é um armazenamento secreto.
O recurso lê e grava settings.txt, inclusive ao parar. Faça backup desse arquivo e da configuração antes de atualizar. Teste transições de horário, clima, apagão, reconexão, persistência após reinício e integrações de moradia que pausam a sincronização. Declarar compatibilidade não comprova o funcionamento de todas as integrações.
Validação de eventos do servidor e escopo da revisão
O handler principal ForceUpdate verifica a permissão da equipe, mas os handlers de rede separados SetNewGameTime, ToggleInstantChange e SaveSettings não possuem verificação equivalente. O handler de horário também aceita horas e minutos sem validar tipo ou intervalo. Revise esses caminhos antes do uso público; proteger apenas o comando da interface não basta.
Código verificado em 10 de setembro de 2026 na revisão 174ddc1e823d1aad54361988ea54c302c08b980a. Manifesto, configuração e caminhos de sincronização Lua foram comparados à documentação do criador. Não houve chamada externa à API, teste de permissões ou teste de sincronização multijogador.