Usando o GitHub Desktop para simplificar as atualizações do FiveM e identificar cada mudança
Introdução
Todo proprietário de servidor conhece essa sensação. Uma nova versão de um recurso é lançada, o changelog diz "substitua a pasta /config/framework", e você congela — porque passou horas ajustando esses arquivos e não tem ideia do que a atualização realmente alterou. Você sobrescreve e perde seu trabalho? Pula a pasta e corre o risco de quebrar o script? Copia linhas de um lado para o outro manualmente e torce para não ter esquecido nada?
Existe uma maneira muito melhor — e você não precisa tocar em um único comando. Com um aplicativo gratuito chamado GitHub Desktop, você pode ver exatamente o que mudou em qualquer atualização, manter suas próprias customizações seguras, e fazer o rollback em segundos, tudo através de uma interface simples de clicar e selecionar.
O que é Git e o que é o GitHub Desktop?
Git é um sistema de controle de versão — pense nisso como um histórico de desfazer ilimitado e perfeito para uma pasta. Cada vez que você salva um snapshot (chamado de commit), ele registra o estado exato de cada arquivo. Mais tarde, você pode comparar quaisquer dois snapshots linha por linha, restaurar um estado anterior ou mesclar alterações.
GitHub Desktop é um aplicativo visual gratuito que coloca o Git por trás de botões amigáveis. Sem terminal preto, sem comandos para memorizar — apenas uma janela clara que mostra o que mudou e permite que você faça commit, desfaça e mescle com um clique.
Para um servidor FiveM, a pasta que você rastreia é o seu diretório resources (ou um único script dentro dele). O Git transforma "Acho que mudei algo aqui algumas semanas atrás" em "mostre-me precisamente o que mudou entre o mês passado e hoje."
Por que isso é perfeito para atualizações de recursos
Atualizar um script da maneira tradicional significa trabalhar no escuro. O Git oferece três superpoderes:
- Detecção de mudanças — após inserir uma nova versão, o GitHub Desktop destaca cada arquivo alterado e cada linha alterada. O changelog diz a você quais pastas substituir; o Git mostra o que realmente mudou para que você possa confiar.
- Customização segura — suas edições vivem em commits. Quando uma atualização de um fornecedor toca o mesmo arquivo, o Git pode mesclar os dois conjuntos de mudanças, mantendo as suas e as deles.
- Rollback instantâneo — se uma atualização quebrar seu servidor, você está a um clique de distância do estado exato que tinha cinco minutos atrás. Sem o pânico de "onde eu coloquei aquele backup".
source/ nunca muda do seu lado, enquanto tudo o que você realmente edita fica na pasta em texto puro config/. O Git rastreia config/ perfeitamente — que é exatamente onde suas customizações e as atualizações do fornecedor colidem.Configuração Única com GitHub Desktop
Você só faz isso uma vez por servidor.
Instalar GitHub Desktop
Baixe e instale em desktop.github.com. Você pode pular ou fechar o aviso de login — uma conta online só é necessária se você quiser fazer backup no GitHub, o que este guia não exige.
Adicionar Sua Pasta de Recursos
Na barra de menu, clique em File → Add local repository (Arquivo → Adicionar repositório local), depois em Choose… (Escolher…) e selecione sua pasta resources.
O GitHub Desktop notará que ainda não é rastreado e mostrará: "This directory does not appear to be a Git repository." (Este diretório não parece ser um repositório Git.) Clique no link "create a repository" (criar um repositório) que ele oferece. Na próxima tela, mantenha os padrões e clique em Create repository (Criar repositório).
Proteja Seus Segredos
Um FiveM servidor contém dados sensíveis que nunca devem ser salvos no seu histórico. No GitHub Desktop, abra Repository → Repository settings → Ignored files (Repositório → Configurações do repositório → Arquivos ignorados) e adicione regras como estas:
# Never track secrets
**/*.env
**/secrets.lua
server.cfg
# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store
Você também pode clicar com o botão direito em qualquer arquivo na lista Changes (Alterações) e escolher Ignore file (Ignorar arquivo) (ou Ignorar todos os arquivos deste tipo) — o GitHub Desktop adiciona ao .gitignore para você.
sv_licenseKey, segredos do Tebex, tokens do Discord e URLs de webhook devem ficar fora do Git. Adicione-os à lista de ignore antes de seu primeiro commit — uma vez que algo entra em um commit, permanece no histórico.Tire Seu Primeiro Snapshot
Mude para a aba Changes (barra lateral esquerda). Todos os arquivos aparecem na lista. Na caixa Summary no canto inferior esquerdo, digite algo como Baseline: working server before updates, então clique em Commit to main.
Pronto. Agora você tem uma rede de segurança sob todo o seu servidor.
O Fluxo de Trabalho de Atualização
Esta é a rotina que você repete para cada atualização. Leva cerca de um minuto.
Faça o Commit do Seu Estado Atual
Abra o GitHub Desktop e verifique a aba Changes. Se algo estiver listado, faça o commit primeiro com um resumo como Pre-update snapshot, para que a atualização se destaque claramente. Se a lista estiver vazia, você está pronto.
Insira a Nova Versão
Pare seu servidor, então extraia o novo lançamento do recurso por cima dos arquivos antigos, substituindo-os — exatamente como as instruções do changelog (por exemplo, "substitua a pasta /config/framework"). Não se preocupe em perder nada; seu estado anterior está salvo no commit.
Veja Exatamente O Que Mudou
Retorne ao GitHub Desktop e abra a aba Changes. Este é o momento mágico: cada arquivo que a atualização alterou é listado, e clicar em um mostra suas alterações linha por linha — linhas removidas em vermelho, linhas adicionadas em verde.
Agora você pode ler precisamente o que a atualização fez — novas opções de configuração, padrões alterados, chaves renomeadas — em vez de apenas adivinhar.
config/framework e config/banking mudaram, essas devem ser as pastas que você vê aqui. Qualquer coisa inesperada merece uma análise mais detalhada antes de você fazer o commit.Reconcilie Suas Customizações
Se a atualização sobrescreveu um arquivo que você havia personalizado, o diff mostrará suas configurações em vermelho (removidas) e os padrões do fornecedor em verde (adicionadas). Abra esse arquivo em seu editor, reaplique seus valores — o diff mostra exatamente quais linhas — e salve. O GitHub Desktop atualiza a comparação em tempo real enquanto você digita.
Para uma reconciliação totalmente automática, veja a Dica Pro abaixo.
Fazer Commit da Atualização
Assim que tudo parecer correto e seu servidor iniciar sem erros, volte para a aba Changes, insira um resumo como Update sky_base to 1.21.0 e clique em Commit to main.
Agora você tem um checkpoint rotulado para o qual sempre pode retornar.
Revertendo Quando Algo Quebra
Uma atualização apresentou comportamento inesperado? Mantenha a calma — o GitHub Desktop oferece várias opções, desde as mais suaves até as mais drásticas.
Desfazer alterações não commitadas. Na aba Changes, selecione os arquivos (ou todos eles), clique com o botão direito e escolha Discard Changes / Discard All Changes. Isso os restaurará ao seu último commit.
Volte para um snapshot anterior. Abra a aba History (Histórico) na barra lateral esquerda para ver todos os snapshots que você criou:
- Para desfazer com segurança uma atualização mantendo um registro limpo, clique com o botão direito no commit incorreto e escolha Revert Changes in Commit (Reverter Alterações no Commit). Isso cria um novo commit de "desfazer" — nada é perdido.
- Para retroceder completamente para um estado anterior, clique com o botão direito no snapshot que você deseja e escolha Reset to commit (Resetar para o commit).
Arquive temporariamente suas alterações — útil para testar uma atualização com uma base limpa e depois trazer seu trabalho de volta. Clique com o botão direito no cabeçalho Changed files (Arquivos alterados) e escolha Stash All Changes. Para recuperá-los, selecione Stashed Changes na barra lateral e clique em Restore.
Dica Pro: Mesclagem Automática de Atualizações de Fornecedores
Cansado de reaplicar suas edições de configuração manualmente após cada atualização? O GitHub Desktop pode fazer isso por você usando uma mesclagem de três vias.
A ideia: mantenha um branch com lançamentos de fornecedores originais e outro com suas edições por cima.
Criar um Branch de Fornecedor
Clique no menu suspenso Branch Atual no topo, depois em Novo Branch, e nomeie-o como vendor. Este branch conterá apenas arquivos de fornecedores intocados.
Registre Cada Lançamento no Branch do Fornecedor
Quando uma nova versão for lançada, mude para o branch vendor (menu suspenso Current Branch), extraia os arquivos de lançamento sem modificações por cima e, em seguida, faça o commit com um resumo como Vendor sky_base 1.21.0.
Mescle a Atualização em Suas Edições
Mude de volta para o seu branch main (menu suspenso Current Branch). Então abra Branch → Merge into current branch…, selecione vendor e clique em merge.
O GitHub Desktop combina automaticamente as alterações do fornecedor com suas customizações. Ele só faz uma pausa para perguntar quando uma atualização altera as mesmas linhas exatas que você customizou — e mostra uma tela clara para resolver esses poucos pontos. Em todos os outros lugares, ambos os conjuntos de alterações são mantidos para você.
Esta é a mesma técnica que equipes profissionais usam para rastrear bibliotecas upstream sem perder alterações locais — e funciona tão bem para o seu servidor.
Prefere a Linha de Comando?
Se você se sente confortável no terminal, todo o fluxo de trabalho acima corresponde a alguns comandos:
# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"
# Each update
git add . && git commit -m "Pre-update snapshot" # snapshot first
# ...drop in the new release, overwriting files...
git status # which files changed
git diff --stat # a compact per-file summary
git diff # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"
# Rolling back
git restore <file> # undo changes to one file
git restore . # undo all uncommitted changes
git log --oneline # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop # shelve and restore temporarily
Melhores Práticas
- Faça o commit antes de cada atualização. Um snapshot leva dois segundos e economiza horas.
- Escreva resumos claros.
Update sky_base to 1.21.0superastuffquando você estiver analisando o histórico seis meses depois. - Mantenha segredos ignorados. Credenciais nunca devem estar no histórico de versões.
- Faça o commit depois de um boot limpo, não antes. Rotule um snapshot como "bom" apenas quando o servidor realmente estiver rodando.
- Rastreie sua pasta
resourcesinteira em um único repositório. Dessa forma, um único rollback pode recuperar de uma atualização ruim de qualquer script. - Mantenha local. Nunca publique recursos licenciados ou protegidos por escrow em um repositório público.
Conclusão
Atualizar um servidor FiveM não precisa mais significar adivinhação, perda de customizações e busca frenética por backups. Com uma configuração única no GitHub Desktop e uma rotina de um minuto, você pode ver cada mudança que uma atualização faz, manter suas próprias edições intactas, e desfazer qualquer erro instantaneamente — tudo sem digitar um único comando.
Na próxima vez que um changelog disser para você substituir uma pasta, você fará isso com confiança — porque o GitHub Desktop mostrará exatamente o que mudou, todas as vezes.
Como Sincronizar o Horário do Servidor Windows para o Sky Mission Hub
Sincronize o relógio do Windows no seu servidor FiveM, verifique a fonte de tempo e corrija as solicitações do Mission Hub rejeitadas porque o timestamp está desatualizado.
Por que Sistemas Policiais Tudo-em-Um para FiveM são mais econômicos
Uma verificação prática de preço de mercado para sistemas policiais de FiveM. Comparamos o custo de comprar recursos policiais semelhantes individualmente versus escolher um pacote integrado, usando um preço vitalício regular de 80 EUR como referência.