1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-06-29 23:26:04 +02:00
server-nalc/mods/shutdown/init.lua

63 lines
2.2 KiB
Lua
Raw Normal View History

--[[
shutdown par turbogus, code sous licence gpl2 ou sup
déclaration du "timer" par Jat ( du mod annonce )
Affiche l'heure dans le chat toute les minutes et
arrête votre serveur "proprement" à une heure précise afin de créer
une sauvegarde
]]--
-- compatibility with soundset mod
local SOUNDVOLUME = 1
local get_volume
if (minetest.get_modpath("soundset")) ~= nil then
get_volume = soundset.get_gain
else
get_volume = function (player_name, sound_type) return SOUNDVOLUME end
end
local function sound_play_all(sound)
for _, p in ipairs(minetest.get_connected_players()) do
local player_name = p:get_player_name()
if player_name then
minetest.sound_play(sound, {to_player=player_name, gain=get_volume(player_name, "other")})
end
end
end
local timer = 0
minetest.register_globalstep(function(dtime)
timer = timer+dtime
2015-06-10 17:14:58 +02:00
-- if timer < X then = X seconde temps que s'affiche les message
-- Default 300 seconde = 5 minute
if timer < 60 then
return
end
timer = 0
local heure = os.date("%H")
local minute = os.date("%M")
2015-07-26 16:17:14 +02:00
-- Warn every days
if heure == "4" then
if minute == "00" then
minetest.chat_send_all("Rappel : Redémarrage journalier du serveur dans 30 minutes. (Dure 30 minutes)")
minetest.chat_send_all("Reminder : Daily reboot of the server in 30 minutes. (Lasts 30 minutes)")
sound_play_all("shutdown_shutdown")
elseif minute == "15" then
minetest.chat_send_all("Rappel : Redémarrage journalier du serveur dans 15 minutes. (Dure 30 minutes)")
minetest.chat_send_all("Reminder : Daily reboot of the server in 15 minutes. (Lasts 30 minutes)")
sound_play_all("shutdown_shutdown")
elseif minute == "25" then
minetest.chat_send_all("Rappel : Redémarrage journalier du serveur dans 5 minutes - Pensez à vous deconnecter !")
minetest.chat_send_all("Reminder : Daily reboot of the server in 5 minutes - Think about logout!")
sound_play_all("shutdown_shutdown")
elseif minute == "29" then
minetest.chat_send_all("=== ARRET DU SERVEUR - DE NOUVEAU EN LIGNE DANS 30 MIN ===")
minetest.chat_send_all("=== SERVER SHUTTING DOWN - ONLINE AGAIN IN 30 MIN ===")
sound_play_all("shutdown_shutdown")
-- minetest.request_shutdown()
end
end
end)