Gebruik GitHub Desktop om FiveMupdates te vereenvoudigen en elke wijziging te spotten
Introductie
Elke servereigenaar kent het gevoel. Er verschijnt een nieuwe versie van een resource, de changelog zegt "vervang de /config/frameworkmap", en je bevriest — omdat je uren hebt besteed aan het afstellen van die bestanden en je geen idee hebt wat de update daadwerkelijk heeft aangeraakt. Overschrijf je en verlies je werk? Sla je de map over en loop je het risico dat het script kapot gaat? Kopieer je regels handmatig heen en weer en hoop je dat je niets bent vergeten?
Er is een veel betere manier — en je hoeft geen enkel commando aan te raken. Met een gratis app genaamd GitHub Desktop kun je precies zien wat er in elke update is veranderd, je eigen aanpassingen veilig houden, en binnen enkele seconden terugrollen, allemaal via een eenvoudige point-and-click interface.
Wat is Git, en wat is GitHub Desktop?
Git is een versiebeheersysteem — zie het als een onbeperkte, perfecte ongedaanmaken-geschiedenis voor een map. Elke keer dat je een snapshot opslaat (een commit genoemd), legt het de exacte staat van elk bestand vast. Later kun je elke twee snapshots regel voor regel vergelijken, een eerdere staat herstellen of wijzigingen samenvoegen.
GitHub Desktop is een gratis, visuele app die Git achter vriendelijke knoppen plaatst. Geen zwart terminalvenster, geen commando's om te onthouden — alleen een duidelijk venster dat laat zien wat er is veranderd en waarmee je met één klik kunt committen, ongedaan kunt maken en kunt mergen.
Voor een FiveM server is de map die je bijhoudt je resources directory (of een enkel script daarin). Git verandert "Ik denk dat ik hier een paar weken geleden iets heb veranderd" in "laat me precies zien wat er tussen vorige maand en vandaag is veranderd."
Waarom dit perfect is voor resource updates
Een script op de traditionele manier updaten betekent blind werken. Git geeft je drie superkrachten:
- Wijzigingsdetectie — na het toevoegen van een nieuwe versie markeert GitHub Desktop elk gewijzigd bestand en elke gewijzigde regel. Het changelog vertelt je welke mappen je moet vervangen; Git laat je wat er daadwerkelijk is veranderd zodat je het kunt vertrouwen.
- Veilige aanpassingen — jouw wijzigingen staan in commits. Wanneer een update van een leverancier hetzelfde bestand aanraakt, kan Git de twee sets wijzigingen mergen, waarbij jouw wijzigingen en die van hen behouden blijven.
- Directe rollback — als een update je server breekt, ben je één klik verwijderd van de exacte staat die je vijf minuten geleden had. Geen "waar heb ik die backup ook alweer gelaten"-paniek.
source/ map verandert nooit aan jouw kant, terwijl alles wat je daadwerkelijk bewerkt in de plaintext config/ map staat. Git houdt config/ prachtig bij — precies de plek waar jouw aanpassingen en de updates van de leverancier samenkomen.Eenmalige installatie met GitHub Desktop
Je doet dit slechts één keer per server.
Installeer GitHub Desktop
Download en installeer het vanaf desktop.github.com. Je kunt de aanmeldingsprompt overslaan of sluiten — een online account is alleen nodig als je ooit wilt backuppen naar GitHub, wat deze gids niet vereist.
Voeg je resources-map toe
Klik in de menubalk op File → Add local repository, klik vervolgens op Choose… en selecteer je resources map.
GitHub Desktop zal merken dat deze nog niet wordt bijgehouden en toont: "This directory does not appear to be a Git repository." Klik op de link "create a repository" die wordt aangeboden. Laat op het volgende scherm de standaardinstellingen staan en klik op Create repository.
Bescherm je geheimen
Een FiveM server bevat gevoelige gegevens die nooit in je geschiedenis moeten worden opgeslagen. Open in GitHub Desktop Repository → Repository settings → Ignored files en voeg regels zoals deze toe:
# Never track secrets
**/*.env
**/secrets.lua
server.cfg
# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store
Je kunt ook met de rechtermuisknop op elk bestand in de Changes lijst klikken en kiezen voor Ignore file (of Ignore all files of this type) — GitHub Desktop voegt het voor je aan .gitignore toe.
sv_licenseKey, Tebex-geheimen, Discord-tokens en webhook-URL's moeten buiten Git blijven. Voeg ze toe aan de ignore-lijst voordat je eerste commit — zodra iets is gecommit, blijft het in de geschiedenis staan.Maak je eerste snapshot
Ga naar het tabblad Changes (linker zijbalk). Elk bestand verschijnt in de lijst. Typ in het Summary vak linksonder iets als Baseline: working server before updates, en klik dan op Commit to main.
Klaar. Je hebt nu een vangnet onder je hele server.
De Update Workflow
Dit is de routine die je voor elke update herhaalt. Het duurt ongeveer een minuut.
Commit je huidige status
Open GitHub Desktop en controleer het tabblad Changes. Als er iets in de lijst staat, commit dit dan eerst met een samenvatting zoals Pre-update snapshot, zodat de update duidelijk herkenbaar is. Als de lijst leeg is, ben je klaar.
Plaats de nieuwe versie
Stop je server en extraheer de nieuwe resource-release over de oude bestanden heen, waarbij je deze overschrijft — precies zoals de changelog instructeert (bijvoorbeeld: "vervang de /config/framework map"). Maak je geen zorgen over het verliezen van iets; je vorige status is veilig gecommit.
Zie precies wat er is veranderd
Keer terug naar GitHub Desktop en open het tabblad Changes. Dit is het magische moment: elk bestand dat de update heeft aangeraakt wordt vermeld, en door op een bestand te klikken zie je de wijzigingen regel voor regel — verwijderde regels in rood, toegevoegde regels in groen.
Je kunt nu precies lezen wat de update heeft gedaan — nieuwe config-opties, gewijzigde defaults, hernoemde keys — in plaats van te gokken.
config/framework en config/banking zijn gewijzigd, dan zouden dat de mappen moeten zijn die je hier ziet. Alles wat onverwacht is, is het waard om nauwkeuriger te bekijken voordat je commit.Neem je eigen aanpassingen over
Als de update een bestand heeft overschreven dat jij had aangepast, toont de diff jouw instellingen in rood (verwijderd) en de defaults van de leverancier in groen (toegevoegd). Open dat bestand in je editor, pas je waarden opnieuw toe — de diff laat precies zien welke regels — en sla op. GitHub Desktop werkt de vergelijking live bij terwijl je typt.
Voor een volledig automatische reconciliatie, zie de Pro Tip hieronder.
Commit de update
Zodra alles er goed uitziet en je server schoon opstart, ga je terug naar het tabblad Changes, voer een samenvatting in zoals Update sky_base to 1.21.0, en klik op Commit to main.
Je hebt nu een gelabeld controlepunt waar je altijd naar kunt terugkeren.
Terugdraaien wanneer er iets misgaat
Gedraagt een update zich niet goed? Blijf kalm — GitHub Desktop geeft je verschillende opties, van mild tot nucleair.
Niet-gecommitteerde wijzigingen ongedaan maken. Selecteer in het tabblad Changes de bestanden (of ze allemaal), klik met de rechtermuisknop en kies Discard Changes / Discard All Changes. Dit herstelt ze naar je laatste commit.
Ga terug naar een eerdere snapshot. Open het tabblad History (geschiedenis) in de linker zijbalk om elke snapshot die je hebt gemaakt te zien:
- Om een update veilig ongedaan te maken terwijl je een schoon overzicht behoudt, klik met de rechtermuisknop op de foutieve commit en kies Revert Changes in Commit (wijzigingen in deze commit terugdraaien). Dit maakt een nieuwe "undo" commit aan — er gaat niets verloren.
- Om volledig terug te draaien naar een eerdere staat, klik met de rechtermuisknop op de gewenste snapshot en kies Reset to commit (terugzetten naar een commit).
Zet je wijzigingen tijdelijk op de plank — handig om een update met een schone lei te testen en daarna je werk weer terug te halen. Klik met de rechtermuisknop op de kop Changed files (gewijzigde bestanden) en kies Stash All Changes (alle wijzigingen tijdelijk opbergen). Om ze terug te krijgen, selecteer je Stashed Changes (tijdelijk opgeborgen wijzigingen) in de zijbalk en klik je op Restore (herstellen).
Pro Tip: Automatisch mergen van vendor-updates
Ben je het zat om na elke update je config-wijzigingen handmatig opnieuw toe te passen? GitHub Desktop kan dit voor je doen met behulp van een three-way merge.
Het idee: houd één branch met onbeschadigde vendor-releases en een andere met jouw wijzigingen daarbovenop.
Maak een Vendor Branch aan
Klik op het dropdown-menu Current Branch (huidige branch) bovenaan, kies dan New Branch (nieuwe branch) en noem deze vendor. Deze branch zal uitsluitend ongewijzigde vendor-bestanden bevatten.
Registreer elke release op de vendor branch
Wanneer er een nieuwe versie uitkomt, schakel je naar de vendor branch (Current Branch dropdown), extraheer je de ongewijzigde releasebestanden eroverheen, en commit je deze met een samenvatting zoals Vendor sky_base 1.21.0.
Merge de update in je aanpassingen
Schakel terug naar je main branch (Current Branch dropdown). Open vervolgens Branch → Merge into current branch…, kies vendor, en klik op merge.
GitHub Desktop combineert de wijzigingen van de vendor automatisch met jouw aanpassingen. Het pauzeert alleen om je te vragen wanneer een update exact dezelfde regels wijzigt die jij hebt aangepast — en het toont een duidelijk scherm om die paar punten op te lossen. Overal elders worden beide sets wijzigingen voor je behouden.
Dit is dezelfde techniek die professionele teams gebruiken om upstream libraries bij te houden zonder lokale wijzigingen te verliezen — en het werkt net zo goed voor jouw server.
Liever de command line?
Als je comfortabel bent in een terminal, komt de volledige workflow hierboven overeen met een handvol commando's:
# 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
Best Practices
- Commit voor elke update. Een snapshot kost twee seconden en bespaart uren.
- Schrijf duidelijke samenvattingen.
Update sky_base to 1.21.0verslaatstuffwanneer je zes maanden later de geschiedenis scant. - Houd secrets genegeerd. Inloggegevens horen nooit in de versiegeschiedenis thuis.
- Commit na een schone boot, niet ervoor. Label een snapshot pas als "goed" wanneer de server daadwerkelijk draait.
- Houd je hele
resourcesmap in één repository bij. Op die manier kan een enkele rollback een slechte update van elk script herstellen. - Houd het lokaal. Publiceer nooit gelicenseerde of met escrow beschermde resources naar een publieke repository.
Conclusie
Het updaten van een FiveM server hoeft niet langer te betekenen dat je moet gokken, maatwerk verliest of koortsachtig op zoek moet naar backups. Met een eenmalige GitHub Desktop-installatie en een routine van één minuut kun je elke wijziging die een update maakt zien, je eigen aanpassingen intact houden, en elke fout direct ongedaan maken — allemaal zonder een enkele opdracht te typen.
De volgende keer dat een changelog zegt dat je een map moet vervangen, doe je dat met vertrouwen — omdat GitHub Desktop je elke keer precies laat zien wat er is veranderd.
Hoe de Windows-servertijd te synchroniseren voor de Sky Mission Hub
Synchroniseer de Windows-klok op je FiveM server, controleer de tijdbron en los Mission Hub-verzoeken op die worden geweigerd omdat hun tijdstempel verouderd is.
Waarom All-in-One Politiesystemen voor FiveM Kosteneffectiever zijn
Een praktische marktprijsvergelijking voor FiveM politiesystemen. We vergelijken de kosten van het afzonderlijk kopen van vergelijkbare politie-functies met het kiezen van één geïntegreerd pakket, waarbij een reguliere prijs voor levenslange toegang van EUR 80 als benchmark wordt gebruikt.