Tuto [SCRIPT] Redémarrer votre serveur automatiquement en LUA

  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Bonsoir,
Je vous présente mon script que j'ai fait pour redémarrer votre serveur à une heure programmé (Moi c'est 06:00 car y'a souvent personne).

Les seuls réglage à effectuer sont :
  • Le nom de votre map (ex: rp_rockford_v3b)
  • L'heure du reboot (ex : 06:00 pour 6 heures du matin)
Si vous avez la moindre suggestion à propos du scripts, allez-y :)

Pour l'installer il suffit de glisser déposer le dossier hav_automatic_restart dans votre dossier /addons/.
 

Pièces jointes

  • hav_automatic_restart.zip
    1.6 KB Vues: 506
Dernière édition:
  • J'aime
Réactions: Fabio93, Billal | TheMastro, Valfunde et 2 autres
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
C'est gratuit? x)
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
henoireil à dit:
Le script à besoin de ULX pour fonctionner car il utilise la fonction de changement de map, un changement de map recharge les addons etc ... de votre serveur)
Tu peux pas tout simplement utiliser la concommand changelevel ?
Question, hein je suis pas le meilleur en lua ^^'
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
Zaros_Live à dit:
C'est gratuit? x)
Aller un peu de sérieux now un merci s’impose je croie
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
SGCAtlantis à dit:
Aller un peu de sérieux now un un merci s’impose je croie
Haaa oui mince j'ai oublier x)

Merci @henoireil d'avoir supprimer le prix du script + le prix des frais de dossier + les frais pour recevoir le lien de téléchargement :) ;) x)
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Taink à dit:
Tu peux pas tout simplement utiliser la concommand changelevel ?
Question, hein je suis pas le meilleur en lua ^^'
En effet changelevel devrais marcher aussi mais je préfère utiliser les fonctions de ulx quand je peux, y'a moins de problème et ça laisse des traces dans les logs de ulx normalement :).
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
henoireil à dit:
En effet changelevel devrais marcher aussi mais je préfère utiliser les fonctions de ulx quand je peux, y'a moins de problème et ça laisse des traces dans les logs de ulx normalement :).
D'accord, c'est juste que comme ça en fait il serait compatible avec plus de gamemodes ;)
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
Taink à dit:
D'accord, c'est juste que comme ça en fait il serait compatible avec plus de gamemodes ;)
c'est vrai tout le monde n'utilise pas ulx
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Taink à dit:
D'accord, c'est juste que comme ça en fait il serait compatible avec plus de gamemodes ;)
Merci, j'ai édité le post pour ceux qui n'auraient pas ULX
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
En tout cas merci pour l'addon gratuit ^^
 
  • J'aime
Réactions: henoireil
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
henoireil à dit:
Merci, j'ai édité le post pour ceux qui n'auraient pas ULX
merci :) pratique avec ou sens ulx gg
 
  • J'aime
Réactions: Taink
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
on peu pas faire comme ceci ?
Code:
game.ConsoleCommand("ulx map " .. MapName .. "\n")
elseif
game.ConsoleCommand("changelevel " .. MapName .. "\n")
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
SGCAtlantis à dit:
on peu pas faire comme ceci ?
Code:
game.ConsoleCommand("ulx map " .. MapName .. "\n")
elseif
game.ConsoleCommand("changelevel " .. MapName .. "\n")
else if n'a aucun sens, il n'y a pas de condition.
Par contre,
Code:
if TimeString == RestartTime then
game.ConsoleCommand("ulx map " .. MapName .. "\n") if TimeString == RestartTime then game.ConsoleCommand("changelevel " .. MapName .. "\n") end
end
Peut peut-être fonctionner, je sais pas, à test.
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Vos 2 codes servent à rien, le deuxième marcherait mais reviendrai au même que :
Code:
if TimeString == RestartTime then game.ConsoleCommand("ulx map " .. MapName .. "\n") game.ConsoleCommand("changelevel " .. MapName .. "\n")
end
je vais juste voir si y'a pas moyen de détecter ULX
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
henoireil à dit:
Vos 2 codes servent à rien, le deuxième marcherait mais reviendrai au même que :
Code:
if TimeString == RestartTime then game.ConsoleCommand("ulx map " .. MapName .. "\n") game.ConsoleCommand("changelevel " .. MapName .. "\n")
end
je vais juste voir si y'a pas moyen de détecter ULX
Comme je l'ai dit, je suis pas vraiment calé en Lua. J'ai pas programmé depuis longtemps, et encore moins en lua --'
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
henoireil à dit:
Vos 2 codes servent à rien, le deuxième marcherait mais reviendrai au même que :
Code:
if TimeString == RestartTime then game.ConsoleCommand("ulx map " .. MapName .. "\n") game.ConsoleCommand("changelevel " .. MapName .. "\n")
end
je vais juste voir si y'a pas moyen de détecter ULX
ok merci :) ça éviterais de devoir modifier le code selon la méthode utiliser , donc des demandes future "comment on fait déjà pour changer ça ":)
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Script mis à jour avec les 2 fonctions fonctions de changement de map, j'utilise :
Code:
if file.Exists("addons/ulx/addon.txt", "GAME") then
 
  • J'aime
Réactions: Taink
  • Administration
Snk

Snk

El Dictator
Membre du Staff
Messages
3 813
Score réaction
2 391
Points
790
Rien ne vaut une tâche programmée au niveau de notre panel qui redémarre vraiment le serveur :)
 
  • J'aime
Réactions: stephXX62, Erwann Fox, Alain LeThug et 4 autres
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
Snk à dit:
Rien ne vaut une tâche programmée au niveau de notre panel qui redémarre vraiment le serveur :)
J'utilise aussi cette méthode :)
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Snk à dit:
Rien ne vaut une tâche programmée au niveau de notre panel qui redémarre vraiment le serveur :)
Votre tache planifiée préviens dans le chat avant de reboot ? (C'est une question)
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Snk à dit:
Rien ne vaut une tâche programmée au niveau de notre panel qui redémarre vraiment le serveur :)
Le problème, c'est que tout le monde n'utilise pas mTx. Mais c'est vrai que ça reste la méthode la plus simple ^^
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
Taink à dit:
Le problème, c'est que tout le monde n'utilise pas mTx. Mais c'est vrai que ça reste la méthode la plus simple ^^
oui la fonction restart est bien mieux que changelevel ^^
 
  • J'aime
Réactions: Taink
  • Administration
Snk

Snk

El Dictator
Membre du Staff
Messages
3 813
Score réaction
2 391
Points
790
henoireil à dit:
Votre tache planifiée préviens dans le chat avant de reboot ? (C'est une question)
Le compteur des 5-4-3-2-1 seconde(s) avant arrêt mais il suffit de planifier une tâche qui dit 5 minutes avant que ça va couper et zouh ^^

Beaucoup font ça d'ailleurs, vous seriez étonnés de voir toutes les tâches qui passent dans une journée !
 
  • J'aime
Réactions: Erwann Fox
Prophecy

Prophecy

Geek suprême
Messages
420
Score réaction
84
Points
100
@Snk Un futur top 10 des tâches sur gmod mtx server ? :eek::eek:
 
  • J'aime
Réactions: ZarosOVH
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
  • Administration
Snk

Snk

El Dictator
Membre du Staff
Messages
3 813
Score réaction
2 391
Points
790
Prophecy à dit:
@Snk Un futur top 10 des tâches sur gmod mtx server ? :eek::eek:
Top 10 de ?

En tout cas les tâches planifiées c'est chaque jour environ 15000 actions automatiques exécutées. En proportion ça donne :
- 89% de commandes envoyées au panel
- 6% de redémarrages
- 4% de démarrages
- 1% d'arrêts et mises à jour

Bref ça en fait du spam dans les consoles des serveurs ^^
 
  • J'aime
Réactions: Zozo147
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
Snk à dit:
Top 10 de ?

En tout cas les tâches planifiées c'est chaque jour environ 15000 actions automatiques exécutées. En proportion ça donne :
- 89% de commandes envoyées au panel
- 6% de redémarrages
- 4% de démarrages
- 1% d'arrêts et mises à jour

Bref ça en fait du spam dans les consoles des serveurs ^^
On dirait une pub pour une ferme ou un truc du genre

Fermier : "Ici c'est 400 seaux de lait qui sortent tous les jours de la ferme"

:D
 
  • J'aime
Réactions: Nardox, KerwanSumg et Taink
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Une nouvelle (et meilleure) version du script va être postée cet après-midi :)
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
henoireil à dit:
Une nouvelle (et meilleure) version du script va être postée cet après-midi :)
c'est gentil pour ceux qui on aurons besoin GG :)
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Script mis à jour, voici les nouveautés :
[AJOUT] : Le script est plus optimisé et plus personnalisable, vous pouvez régler vous-même combien de minutes avant le reboot il y aura des messages.
[FIX] : Le serveur qui reboot plusieurs fois d'affilés.
[FIX] : Le spam de changement de map lors de l'horaire de redémarrage.

Si vous avez la moindre suggestion, n’hésitez pas ! :)
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Heureusement que au final tu l'as mis gratuit, parce que ça valait pas ce que tu demandait :p

PS :
hook.Add("Initialize", "Hav_AutoRestart", function()
timer.Create("Hav_Auto_Restart_Timer", 1, 0, function() - > C'est un timer ça hein
Timestamp = os.time()
TimeString = os.date( "%H:%M" , Timestamp )
Hav_AutoRestart:CheckDay()
end)

et ça peut se simplifier par

timer.Create("Hav_Auto_Restart_Timer", 1, 0, function()
Timestamp = os.time()
TimeString = os.date( "%H:%M" , Timestamp )
Hav_AutoRestart:CheckDay()
end)

Pour terminer, os.time() est une fonction qui s'auto-actualise pas besoin de la rappeler dans le timer
 
Dernière édition:
  • J'aime
Réactions: BlitzFire, SGCAtlantis et Valfunde
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Z3k4 à dit:
Heureusement que au final tu l'as mis gratuit, parce que ça valait pas ce que tu demandait :p

PS :
hook.Add("Initialize", "Hav_AutoRestart", function()
timer.Create("Hav_Auto_Restart_Timer", 1, 0, function() - > C'est un timer ça hein
Timestamp = os.time()
TimeString = os.date( "%H:%M" , Timestamp )
Hav_AutoRestart:CheckDay()
end)

et ça peut se simplifier par

timer.Create("Hav_Auto_Restart_Timer", 1, 0, function()
Timestamp = os.time()
TimeString = os.date( "%H:%M" , Timestamp )
Hav_AutoRestart:CheckDay()
end)

Pour terminer, os.time() est une fonction qui s'auto-actualise pas besoin de la rappeler dans le timer
Mais os.time() est utile uniquement si l'os se met à jour au niveau de l'heure, n'est-ce pas ? Je sais que la question peut paraître étrange mais c'en est une vraie xD
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
@Z3k4 A en effet merci, une erreur de ma part je sais pas pourquoi j'ai fait ça, mais sinon pour le os.time() encore heureux qu'il se met a jour tout seul :D, je l'ai mis dans le timer pour que mes 2 fonctions (Timestamp & TimeString) se mettent constamment à jour, je pourrais les mettre dans Hav_AutoRestart:CheckDay(), mais ça reviendrais au même :)
En tout cas merci de ton "signalement" !
 
BlitzFire

BlitzFire

Geek suprême
Messages
707
Score réaction
131
Points
150
henoireil à dit:
@Z3k4 A en effet merci, une erreur de ma part je sais pas pourquoi j'ai fait ça, mais sinon pour le os.time() encore heureux qu'il se met a jour tout seul :D, je l'ai mis dans le timer pour que mes 2 fonctions (Timestamp & TimeString) se mettent constamment à jour, je pourrais les mettre dans Hav_AutoRestart:CheckDay(), mais ça reviendrais au même :)
En tout cas merci de ton "signalement" !
#SaveMyRessourceSTP
 
  • J'aime
Réactions: henoireil
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
BlitzFire à dit:
#SaveMyRessourceSTP
Des timers tu en a partout si tu en veux pas enlève tout tes addons :)
 
  • J'aime
Réactions: BlitzFire
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Taink à dit:
Mais os.time() est utile uniquement si l'os se met à jour au niveau de l'heure, n'est-ce pas ? Je sais que la question peut paraître étrange mais c'en est une vraie xD
Ouais mais sauf si t'as le plein contrôle de ton serveur (vps / dédié) et que t'es masochiste, tu vas pas changer l'heure et la date du serveur xDD
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Z3k4 à dit:
Ouais mais sauf si t'as le plein contrôle de ton serveur (vps / dédié) et que t'es masochiste, tu vas pas changer l'heure et la date du serveur xDD
Ouais tkt xD
 
  • Initiateur de la discussion
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
theanthony1649 à dit:
Bonsoir serait-il possible d'update le script avec un vrai redémarrage serbeur planifié svp ?!
Heu c'est déjà le cas
 
Joe Leroi

Joe Leroi

Chuck Norris
Messages
4 368
Score réaction
933
Points
605
theanthony1649 à dit:
c'est un change map, pas un redémarrage.
Un change map reviens au même. Le serveur reboot avec la nouvelle map. Donc voilà.
 
Discord d'entraide
Rejoignz-nous sur Discord