Skip to content

Nico-du-34/fivem-auto-updater

Repository files navigation

FiveM Auto-Updater System / Système d'Automatisation FiveM

English | Français


English

🎯 Overview

This system automatically manages FiveM server updates using the fivem-artifacts-db API to check for recommended versions and avoid broken artifacts. It provides a complete automation solution for FiveM server maintenance.

✨ Features

  • Automatic daily updates at midnight via cron job
  • Broken version detection to avoid problematic artifacts
  • Automatic backup and restore in case of failure
  • Screen session management for server persistence
  • Detailed logging for operation tracking
  • Smart version checking to avoid unnecessary updates
  • Automatic server restart after updates

📁 System Files

  • fivem_updater.sh - Main update script (7.3KB)
  • start_fivem.sh - Startup and configuration script (2.3KB)
  • setup_cron.sh - Automatic cron job configuration (1.2KB)
  • test_system.sh - Complete system test script (3.6KB)
  • current_version.txt - Current version tracking file
  • README_AUTOMATION.md - Complete documentation in French (4.3KB)
  • update.log - Update logs (created automatically)
  • cron.log - Cron job logs (created automatically)

🚀 Quick Start

First Installation

cd /root/nocturn_dev
chmod +x start_fivem.sh
./start_fivem.sh

This script will:

  1. Check and install dependencies (curl, jq, wget, screen)
  2. Configure cron job for automatic updates
  3. Start the FiveM server with the recommended version

Available Commands

# Start the server
./fivem_updater.sh start

# Check for updates manually
./fivem_updater.sh update

# Check server status
./fivem_updater.sh status

# Restart the server
./fivem_updater.sh restart

# Test the complete system
./test_system.sh

🔧 How It Works

Daily Check (Midnight)

The system automatically checks:

  1. Recommended version from the API
  2. If current version is up to date
  3. If recommended version is not broken
  4. Downloads and installs new version if needed
  5. Restarts the server automatically

Broken Version Management

The system consults the broken artifacts database and automatically avoids problematic versions, keeping the current version if the recommended version is marked as broken.

Backup and Restore

Before each update:

  • The old version is backed up with a timestamp
  • In case of failure, the previous version is automatically restored

📊 Logs and Monitoring

Log Files

  • update.log - Detailed update logs
  • cron.log - Automatic cron job logs

Example Log

[2025-01-08 02:10:35] === Starting update check ===
[2025-01-08 02:10:36] Recommended version: 17871
[2025-01-08 02:10:36] Current version: 17870
[2025-01-08 02:10:37] Downloading artifact version 17871
[2025-01-08 02:10:45] Successfully installed artifact version 17871
[2025-01-08 02:10:46] Server restarted successfully
[2025-01-08 02:10:46] === Update completed successfully ===

⚙️ Configuration

Change Update Time

To change the automatic check time, edit setup_cron.sh and modify the line:

CRON_JOB="0 0 * * * $UPDATER_SCRIPT update >> $SCRIPT_DIR/cron.log 2>&1"

Format: minute hour day month day_of_week command

Disable Automatic Updates

crontab -r  # Remove all cron jobs

Re-enable Automatic Updates

./setup_cron.sh

🔍 Troubleshooting

Check Status

./fivem_updater.sh status

View Logs

tail -f update.log    # Update logs
tail -f cron.log      # Cron job logs

Check Cron Jobs

crontab -l

Manual Restart

./fivem_updater.sh restart

🛡️ Security

  • System checks for broken versions before updating
  • Automatic backup before modifications
  • Automatic restore in case of failure
  • Detailed logs for audit

📞 Support

In case of issues, check:

  1. Logs in update.log and cron.log
  2. Server status with ./fivem_updater.sh status
  3. Cron jobs with crontab -l
  4. Internet connectivity for API

The system is designed to be robust and automatically recover from common errors.

🚀 Hosting Partner / Partenaire d'Hébergement

AN Hosting - Professional Game Server Hosting

Looking for reliable hosting for your server? Check out AN Hosting for professional game server hosting solutions.

Features:

  • 24/7 technical support
  • DDoS protection
  • Automatic backups
  • Global server locations

Français

🎯 Vue d'ensemble

Ce système gère automatiquement les mises à jour du serveur FiveM en utilisant l'API fivem-artifacts-db pour vérifier les versions recommandées et éviter les artifacts cassés. Il fournit une solution d'automatisation complète pour la maintenance du serveur FiveM.

✨ Fonctionnalités

  • Mises à jour automatiques quotidiennes à minuit via cron job
  • Détection des versions cassées pour éviter les artifacts problématiques
  • Sauvegarde et restauration automatiques en cas d'échec
  • Gestion des sessions screen pour la persistance du serveur
  • Logs détaillés pour le suivi des opérations
  • Vérification intelligente des versions pour éviter les mises à jour inutiles
  • Redémarrage automatique du serveur après mise à jour

📁 Fichiers du Système

  • fivem_updater.sh - Script principal de mise à jour (7.3KB)
  • start_fivem.sh - Script de démarrage et configuration (2.3KB)
  • setup_cron.sh - Configuration du cron job automatique (1.2KB)
  • test_system.sh - Script de test complet du système (3.6KB)
  • current_version.txt - Fichier de suivi de la version actuelle
  • README_AUTOMATION.md - Documentation complète en français (4.3KB)
  • update.log - Logs des mises à jour (créé automatiquement)
  • cron.log - Logs du cron job (créé automatiquement)

🚀 Démarrage Rapide

Première Installation

cd /root/nocturn_dev
chmod +x start_fivem.sh
./start_fivem.sh

Ce script va :

  1. Vérifier et installer les dépendances (curl, jq, wget, screen)
  2. Configurer le cron job pour les mises à jour automatiques
  3. Démarrer le serveur FiveM avec la version recommandée

Commandes Disponibles

# Démarrer le serveur
./fivem_updater.sh start

# Vérifier les mises à jour manuellement
./fivem_updater.sh update

# Voir le statut du serveur
./fivem_updater.sh status

# Redémarrer le serveur
./fivem_updater.sh restart

# Test complet du système
./test_system.sh

🔧 Fonctionnement

Vérification Quotidienne (Minuit)

Le système vérifie automatiquement :

  1. La version recommandée depuis l'API
  2. Si la version actuelle est à jour
  3. Si la version recommandée n'est pas cassée
  4. Télécharge et installe la nouvelle version si nécessaire
  5. Redémarre le serveur automatiquement

Gestion des Versions Cassées

Le système consulte la base de données des artifacts cassés et évite automatiquement les versions problématiques, conservant la version actuelle si la version recommandée est marquée comme cassée.

Sauvegarde et Restauration

Avant chaque mise à jour :

  • L'ancienne version est sauvegardée avec un timestamp
  • En cas d'échec, la version précédente est automatiquement restaurée

📊 Logs et Surveillance

Fichiers de Log

  • update.log - Logs détaillés des mises à jour
  • cron.log - Logs du cron job automatique

Exemple de Log

[2025-01-08 02:10:35] === Début de la vérification de mise à jour ===
[2025-01-08 02:10:36] Version recommandée: 17871
[2025-01-08 02:10:36] Version actuelle: 17870
[2025-01-08 02:10:37] Téléchargement de l'artifact version 17871
[2025-01-08 02:10:45] Installation réussie de l'artifact version 17871
[2025-01-08 02:10:46] Serveur redémarré avec succès
[2025-01-08 02:10:46] === Mise à jour terminée avec succès ===

⚙️ Configuration

Modifier l'Heure de Vérification

Pour changer l'heure de vérification automatique, éditez setup_cron.sh et modifiez la ligne :

CRON_JOB="0 0 * * * $UPDATER_SCRIPT update >> $SCRIPT_DIR/cron.log 2>&1"

Format : minute heure jour mois jour_semaine commande

Désactiver les Mises à Jour Automatiques

crontab -r  # Supprime tous les cron jobs

Réactiver les Mises à Jour Automatiques

./setup_cron.sh

🔍 Dépannage

Vérifier le Statut

./fivem_updater.sh status

Voir les Logs

tail -f update.log    # Logs des mises à jour
tail -f cron.log      # Logs du cron job

Vérifier les Cron Jobs

crontab -l

Redémarrer Manuellement

./fivem_updater.sh restart

🛡️ Sécurité

  • Le système vérifie les versions cassées avant mise à jour
  • Sauvegarde automatique avant modification
  • Restauration automatique en cas d'échec
  • Logs détaillés pour audit

📞 Support

En cas de problème, vérifiez :

  1. Les logs dans update.log et cron.log
  2. Le statut du serveur avec ./fivem_updater.sh status
  3. Les cron jobs avec crontab -l
  4. La connectivité internet pour l'API

Le système est conçu pour être robuste et se récupérer automatiquement des erreurs courantes.


📋 System Requirements / Exigences Système

English

  • Linux distribution (Debian/Ubuntu recommended)
  • Root access or sudo privileges
  • Internet connection for API access
  • Minimum 2GB RAM
  • 10GB free disk space

Français

  • Distribution Linux (Debian/Ubuntu recommandé)
  • Accès root ou privilèges sudo
  • Connexion internet pour l'accès à l'API
  • Minimum 2GB RAM
  • 10GB d'espace disque libre

🔗 Links / Liens


📄 License / Licence

This project is released into the public domain. See LICENSE file for details.

Ce projet est libéré dans le domaine public. Voir le fichier LICENSE pour plus de détails.


🚀 Hosting Partner / Partenaire d'Hébergement


AN Hosting - Hébergement Professionnel de Serveurs de Jeu

Vous cherchez un hébergement fiable pour votre serveur ? Découvrez AN Hosting pour des solutions d'hébergement professionnel de serveurs de jeu.

Fonctionnalités :

  • Support technique 24/7
  • Protection DDoS
  • Sauvegardes automatiques
  • Localisations de serveurs mondiales

Visitez : https://anhosting.fr

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Languages