mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-06-28 06:11:47 +02:00
Add _misc and u_skins
- Backup de u_skins pas update (ne pas l’update pour l’instant) - ajout d’un _misc à jour
This commit is contained in:
19
mods/_misc/aliases.lua
Normal file
19
mods/_misc/aliases.lua
Normal file
@ -0,0 +1,19 @@
|
||||
-- Remove stone_with_tin from default carbone subgame => virer doublon minerais brutes
|
||||
minetest.register_alias("default:stone_with_tin", "default:stone")
|
||||
minetest.register_alias("default:stone_with_silver", "default:stone")
|
||||
|
||||
-- Remove lump from default carbone subgame => virer doublon minerais
|
||||
minetest.register_alias("default:tin_lump", "default:stone")
|
||||
minetest.register_alias("default:silver_lump", "default:stone")
|
||||
|
||||
-- Remove ingot from default carbone subgame => virer doublon lingots
|
||||
minetest.register_alias("default:tin_ingot", "default:stone")
|
||||
minetest.register_alias("default:silver_ingot", "default:stone")
|
||||
|
||||
-- Remove torch from torches => remise des torches par défaut
|
||||
minetest.register_alias("torches:floor", "default:torch")
|
||||
minetest.register_alias("torches:wand", "default:torch")
|
||||
|
||||
-- Remove copper_rail from moreores => utilisation des rail_copper du mod carts
|
||||
minetest.register_alias("moreores:copper_rail", "carts:rail_copper")
|
||||
|
136
mods/_misc/chatcommands.lua
Normal file
136
mods/_misc/chatcommands.lua
Normal file
@ -0,0 +1,136 @@
|
||||
--
|
||||
-- Edited chat commands from core
|
||||
--
|
||||
|
||||
-- /me
|
||||
-- /help
|
||||
-- /privs
|
||||
-- /grant
|
||||
-- /revoke
|
||||
-- /setpassword
|
||||
-- /clearpassword
|
||||
-- /auth_reload
|
||||
-- /teleport
|
||||
-- /set
|
||||
-- /mods
|
||||
-- /give
|
||||
-- /giveme
|
||||
-- /spawnentity
|
||||
-- /pulverize
|
||||
-- /rollback_check
|
||||
-- /rollback
|
||||
-- /status
|
||||
|
||||
minetest.register_chatcommand("time", {
|
||||
params = "<0...24000>",
|
||||
description = "set time of day",
|
||||
privs = {settime=true},
|
||||
func = function(name, param)
|
||||
if param == "" then
|
||||
return false, "Missing time."
|
||||
end
|
||||
local newtime = tonumber(param)
|
||||
if newtime == nil then
|
||||
return false, "Invalid time."
|
||||
end
|
||||
minetest.set_timeofday((newtime % 24000) / 24000)
|
||||
minetest.log("action", name .. " sets time " .. newtime)
|
||||
minetest.chat_send_all(name .. " changed the time of day.")
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("shutdown", {
|
||||
description = "shutdown server",
|
||||
privs = {server=true},
|
||||
func = function(name, param)
|
||||
minetest.log("action", name .. " shuts down server")
|
||||
minetest.request_shutdown()
|
||||
minetest.chat_send_all(name .. " just shut down the server.")
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("ban", {
|
||||
params = "<name>",
|
||||
description = "Ban IP of player",
|
||||
privs = {ban=true},
|
||||
func = function(name, param)
|
||||
if param == "" then
|
||||
return true, "Ban list: " .. minetest.get_ban_list()
|
||||
end
|
||||
if not minetest.get_player_by_name(param) then
|
||||
return false, "This player is not online at the moment. Use a /future_ban instead."
|
||||
end
|
||||
if not minetest.ban_player(param) then
|
||||
return false, "Failed to ban player."
|
||||
end
|
||||
local desc = minetest.get_ban_description(param)
|
||||
minetest.log("action", name .. " bans " .. desc .. ".")
|
||||
return true, "Banned " .. desc .. "."
|
||||
end,
|
||||
})
|
||||
|
||||
-- /unban
|
||||
-- /kick
|
||||
-- /clearobjects
|
||||
-- /msg
|
||||
|
||||
--
|
||||
-- Other chat commands
|
||||
--
|
||||
|
||||
-- Spawn command
|
||||
--minetest.register_chatcommand("spawn", {
|
||||
-- params = "",
|
||||
-- description = "Teleport to the spawn location.",
|
||||
-- privs = {shout=true},
|
||||
-- func = function(name, param)
|
||||
-- local player = minetest.env:get_player_by_name(name)
|
||||
-- minetest.chat_send_player(name, "Teleported to spawn!")
|
||||
-- player:setpos({x=0.0, y=5.0, z=0.0})
|
||||
-- return true
|
||||
-- end,
|
||||
--})
|
||||
--[[
|
||||
-- Sethome command
|
||||
minetest.register_chatcommand("sethome", {
|
||||
params = "",
|
||||
description = "Set your home location.",
|
||||
privs = {shout=true},
|
||||
func = function(name, param)
|
||||
player = minetest.env:get_player_by_name(name)
|
||||
test = player:getpos()
|
||||
local file = io.open(minetest.get_worldpath().."/home/"..player:get_player_name().."_home", "w")
|
||||
if not file then
|
||||
minetest.chat_send_player(name, "Il y a eut une erreur, s'il vous plait contactez le detenteur du serveur.")
|
||||
return
|
||||
end
|
||||
file:write(minetest.pos_to_string(test))
|
||||
file:close()
|
||||
minetest.chat_send_player(name, "Votre emplacement 'home' est definit ! Tapez /home pour vous y teleporter.")
|
||||
end
|
||||
})
|
||||
|
||||
-- Home command
|
||||
minetest.register_chatcommand("home", {
|
||||
params = "",
|
||||
description = "Vous teleporte a l'emplacement de votre 'home'.",
|
||||
privs = {shout=true},
|
||||
func = function(name, param)
|
||||
player = minetest.env:get_player_by_name(name)
|
||||
local file = io.open(minetest.get_worldpath().."/home/"..player:get_player_name().."_home", "r")
|
||||
if not file then
|
||||
minetest.chat_send_player(name, "Vous devez definir votre emplacement 'home' ! Pour ce faire, utilisez la commande /sethome.")
|
||||
return
|
||||
end
|
||||
local line = file:read("*line")
|
||||
file:close()
|
||||
local pos = minetest.string_to_pos(string.sub(line, 1, string.find(line, ")")))
|
||||
if not pos or type(pos) ~= "table" then
|
||||
minetest.chat_send_player(name, "Il y a eut une erreur, s'il vous plait contactez le detenteur du serveur.")
|
||||
return
|
||||
end
|
||||
minetest.env:get_player_by_name(name):setpos(pos)
|
||||
minetest.chat_send_player(name, "Vous voil<69> chez vous.")
|
||||
end
|
||||
})
|
||||
--]]
|
10
mods/_misc/craft_obsidian.lua
Normal file
10
mods/_misc/craft_obsidian.lua
Normal file
@ -0,0 +1,10 @@
|
||||
-- Craft obsidian
|
||||
minetest.register_craft({
|
||||
output = "default:obsidian",
|
||||
recipe = {
|
||||
{"bucket:bucket_lava"},
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_lava", "bucket:bucket_empty"}
|
||||
},
|
||||
})
|
10
mods/_misc/give_initial_stuff.lua
Normal file
10
mods/_misc/give_initial_stuff.lua
Normal file
@ -0,0 +1,10 @@
|
||||
minetest.register_on_newplayer(function(player)
|
||||
print("Un nouveau joueur vient de nous rejoindre !")
|
||||
if minetest.setting_getbool("give_initial_stuff") then
|
||||
print("Equipement de depart transmis")
|
||||
player:get_inventory():add_item("main", "default:axe_wood")
|
||||
player:get_inventory():add_item("main", "default:torch 10")
|
||||
player:get_inventory():add_item("main", "default:sapling 2")
|
||||
player:get_inventory():add_item("main", "default:apple 5")
|
||||
end
|
||||
end)
|
28
mods/_misc/init.lua
Normal file
28
mods/_misc/init.lua
Normal file
@ -0,0 +1,28 @@
|
||||
---------------------
|
||||
-- Server Misc Mod --
|
||||
---------------------
|
||||
|
||||
-- Give initial stuff
|
||||
dofile(minetest.get_modpath("_misc").."/give_initial_stuff.lua")
|
||||
|
||||
-- Chat Commands
|
||||
dofile(minetest.get_modpath("_misc").."/chatcommands.lua")
|
||||
|
||||
-- Rules
|
||||
dofile(minetest.get_modpath("_misc").."/rules.lua")
|
||||
-- No Interact Messages
|
||||
dofile(minetest.get_modpath("_misc").."/nointeract_messages.lua")
|
||||
|
||||
-- irc
|
||||
--dofile(minetest.get_modpath("_misc").."/irc.lua")
|
||||
-- No Shout Messages
|
||||
--dofile(minetest.get_modpath("_misc").."/noshout_messages.lua")
|
||||
|
||||
-- Aliases
|
||||
dofile(minetest.get_modpath("_misc").."/aliases.lua")
|
||||
|
||||
-- Craft Obsidian
|
||||
dofile(minetest.get_modpath("_misc").."/craft_obsidian.lua")
|
||||
|
||||
-- UnCraft Woll
|
||||
dofile(minetest.get_modpath("_misc").."/uncraft_woll.lua")
|
81
mods/_misc/irc.lua
Normal file
81
mods/_misc/irc.lua
Normal file
@ -0,0 +1,81 @@
|
||||
# Based on https://github.com/ChaosWormz/mt_terms_of_use
|
||||
|
||||
local IRC = [[
|
||||
-~= Règles du salon de chat IRC #minetestforfun@irc.inchra.net =~-
|
||||
(Ces règles ont été établies le 1er Novembre 2014 par les opérateurs du canal Mg et MinetestForFun)
|
||||
|
||||
1) Il ne sera toléré aucune transgressions aux règles du réseau InchraNet, sous peine de la sanction prévue par les administrateurs du réseau.
|
||||
2) Il ne sera toléré aucune forme de violation des lois en vigueur dans les pays de résidence des participants, ainsi que ceux des hébergeurs des serveurs.
|
||||
3) Il ne sera toléré aucune sorte d'insulte, de provocation gratuite, d'incitation à la haine, au meurtre, au suicide, ou toute autre forme d'atteinte au respect mutuel des utilisateurs de l'IRC.
|
||||
4) Il ne sera toléré aucune forme de flood ainsi que de spam. Rappelez-vous qu'il est préférable d'utiliser un site de téléversion de texte (aussi nommé "pastebin"), tel que "pastebin.ubuntu.com" à chaque fois que vous désirez transmettre du code ou un long texte.
|
||||
Le flood est l'action de saturer le chat de messages répétitifs, inutiles, y compris les join/part, grossiers, sans aucun rapport avec la conversation et au détriment des participants
|
||||
Le spam est l'action de faire de la publicité pour quelque chose que ce soit sans l'accord d'un ayant droit ou d'un opérateur de canal.
|
||||
5) Il ne sera toléré aucun pseudonyme à caractère sexuel, haineux, contenant des termes ou propos indésirables sur le salon.
|
||||
6) Il ne sera toléré aucune forme d'harcèlement moral ou à caractère sexuel, y compris par messages privés.
|
||||
7) Il ne sera toléré aucun type de discrimination contre quelque participant que ce soit, ni aucune forme d'insulte envers les opérateurs, semi-opérateurs et administrateurs d'InchraNet.
|
||||
|
||||
Voici les sanctions prévues pour les infractions aux règles ci-dessus.
|
||||
+-----------------------+-----------------------------------+---------------------------------------+
|
||||
| Niveau d'infraction : | Infraction(s) commise(s) : | Sanctions appliquées : |
|
||||
| | Manque de respect enver autrui | Devoice une demi-journée |
|
||||
| Niveau DIRT | Provocation envers autrui | Devoie une journée |
|
||||
| | Insultes envers autrui | Kick + devoice une journée |
|
||||
+-----------------------+-----------------------------------+---------------------------------------+
|
||||
| | Récidive d'infraction niveau dirt | Kick + Ban 1/2 journée |
|
||||
| Niveau STONE | Flood, Discrimination | Kick + devoice deux heures |
|
||||
| | Spam | Kick + devoice 1 jour + ban 1/2 journée |
|
||||
+-----------------------+-----------------------------------+---------------------------------------+
|
||||
| | Récidive d'infraction niveau stone | Kick + Ban 4 jours + devoice 5 jours |
|
||||
| Niveau MESE | Contenu à caractère sexuel | Kick + Ban 1 semaine + devoice 5 jours |
|
||||
| | Irrespect envers l'équipe | Kick + Ban 10 jours + devoice 8 jours |
|
||||
+-----------------------+-----------------------------------+---------------------------------------+
|
||||
| | Récidive d'infraction niveau mese | Kick + Ban 1 mois + devoice 2 semaines |
|
||||
| Niveau OBSIDIAN | Violation des lois en vigueur | Kick + Ban définitif + Gline |
|
||||
| | Violation des règles d'InchraNet | Kick + Ban définitif + Gline |
|
||||
+-----------------------+-----------------------------------+---------------------------------------+
|
||||
|
||||
Autres règles de bienséances :
|
||||
- Ne demandez pas à faire partie des opérateurs/semi-opérateurs du canal.
|
||||
- Attention, l'abus de query et msg est dangereux pour la santé.
|
||||
- Inutile de faire étalage de votre vie privée si c'est hors contexte ou si personne n'est intéressé par celle ci.
|
||||
- Nous ne sanctionnons bien évidemment pas le hors-sujet, toutefois, s'il est évitable ça ne peut qu’être toujours un plus !
|
||||
- Le respect d'autrui est important à nos yeux.
|
||||
- En cas de problème, n'hésitez pas à contacter le staff.
|
||||
]]
|
||||
|
||||
local function make_formspec()
|
||||
local size = { "size[10,8]" }
|
||||
table.insert(size, "textarea[0.5,0.5;9.5,8;TOS;Voici les regles, cliquez sur Accepter si vous etes d'accord avec;"..minetest.formspec_escape(IRC).."]")
|
||||
table.insert(size, "button_exit[6,7.4;1.5,0.5;accept;J'accepte]")
|
||||
table.insert(size, "button[7.5,7.4;1.5,0.5;decline;Je refuse]")
|
||||
return table.concat(size)
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
if formname ~= "irc" then return end
|
||||
local name = player:get_player_name()
|
||||
if fields.accept then
|
||||
minetest.chat_send_player(name, "Merci d'avoir accepte les regles, vous etes maintenant capable de parler.")
|
||||
minetest.chat_send_player(name, "Pour plus d'informations tapez /news")
|
||||
local privs = minetest.get_player_privs(name)
|
||||
privs.shout = true
|
||||
minetest.set_player_privs(name, privs)
|
||||
end
|
||||
return
|
||||
elseif fields.decline then
|
||||
minetest.kick_player(name, "Aurevoir ! Vous devez accepter les règles de l'irc pour jouer sur le serveur (revennez si vous changez d'avis).")
|
||||
return
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_chatcommand("irc",{
|
||||
params = "",
|
||||
description = "Montre les regles de l'irc",
|
||||
privs = {spawn=true},
|
||||
func = function (name,params)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
minetest.after(1, function()
|
||||
minetest.show_formspec(name, "irc", make_formspec())
|
||||
end)
|
||||
end
|
||||
})
|
12
mods/_misc/nointeract_messages.lua
Normal file
12
mods/_misc/nointeract_messages.lua
Normal file
@ -0,0 +1,12 @@
|
||||
local TIMER = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
TIMER = TIMER + dtime
|
||||
if TIMER < 20 then return end
|
||||
TIMER = 0
|
||||
for _,player in ipairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
if not minetest.check_player_privs(name, {interact=true}) then
|
||||
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir construire et intéragir sur ce serveur, tu dois lire les règles du serveur et les accepter. Tape /rules.")
|
||||
end
|
||||
end
|
||||
end)
|
12
mods/_misc/noshout_messages.lua
Normal file
12
mods/_misc/noshout_messages.lua
Normal file
@ -0,0 +1,12 @@
|
||||
local TIMER = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
TIMER = TIMER + dtime
|
||||
if TIMER < 25 then return end
|
||||
TIMER = 0
|
||||
for _,player in ipairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
if not minetest.check_player_privs(name, {interact=true}) then
|
||||
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir communiquer avec les autres joueurs sur ce serveur, tu dois lire les règles de l'irc et les accepter. Tape /irc.")
|
||||
end
|
||||
end
|
||||
end)
|
55
mods/_misc/rules.lua
Normal file
55
mods/_misc/rules.lua
Normal file
@ -0,0 +1,55 @@
|
||||
# Based on https://github.com/ChaosWormz/mt_terms_of_use
|
||||
|
||||
local RULES = [[
|
||||
Voici les règles :
|
||||
|
||||
1) Aucune atteinte intentionnelle au bon fonctionnement du serveur ne sera admise. (lag, crash, exploit de bug, etc...)
|
||||
2) La triche (hack, client modifié, etc...) n'est pas tolérée sur le serveur. Soyez fair-play et apprenez à jouer selon les règles.
|
||||
3) Sur le serveur, le PVP est autorisé, le vole/grief est aussi autorisé. (pensez au mod areas pour protéger vos biens)
|
||||
4) Merci de ne pas spammer ou flooder.
|
||||
5) Chaque joueur à l'entière responsabilité de son compte, nous ne sommes en aucun cas responsable d'une utilisation frauduleuse de votre compte dans le jeu.
|
||||
6) Si possible, évitez les constructions de tours en 1x1 et, poser des blocs gâchant le décor n'importe ou. Ceci pour que le serveur reste le plus beau, sauvage et naturel possibe.
|
||||
7) Ne demandez pas à être membre de l'equipe du serveur.
|
||||
8) Aucune forme d'insulte ou de racisme n'est admise.
|
||||
|
||||
Cliquez sur le bouton "Accepter" pour pouvoir construire et intéragir sur le serveur.
|
||||
]]
|
||||
|
||||
local function make_formspec()
|
||||
local size = { "size[10,8]" }
|
||||
table.insert(size, "textarea[0.5,0.5;9.5,8;TOS;Voici les regles, cliquez sur Accepter si vous etes d'accord avec;"..RULES.."]")
|
||||
table.insert(size, "button_exit[6,7.4;1.5,0.5;accept;J'accepte]")
|
||||
table.insert(size, "button[7.5,7.4;1.5,0.5;decline;Je refuse]")
|
||||
return table.concat(size)
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
if formname ~= "rules" then return end
|
||||
local name = player:get_player_name()
|
||||
if fields.accept then
|
||||
if minetest.check_player_privs(name, {shout=true}) then
|
||||
minetest.chat_send_player(name, "Merci d'avoir accepte les regles, vous etes maintenant capable de construire et d'interagir avec le serveur.")
|
||||
minetest.chat_send_player(name, "Amusez vous bien a survivre et construire !")
|
||||
minetest.chat_send_player(name, "Pour plus d'informations tapez /news")
|
||||
local privs = minetest.get_player_privs(name)
|
||||
privs.interact = true
|
||||
minetest.set_player_privs(name, privs)
|
||||
end
|
||||
return
|
||||
elseif fields.decline then
|
||||
minetest.kick_player(name, "Aurevoir ! Vous devez accepter les règles pour jouer sur le serveur (revennez si vous changez d'avis).")
|
||||
return
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_chatcommand("rules",{
|
||||
params = "",
|
||||
description = "Montre les regles du serveur",
|
||||
privs = {shout=true},
|
||||
func = function (name,params)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
minetest.after(1, function()
|
||||
minetest.show_formspec(name, "rules", make_formspec())
|
||||
end)
|
||||
end
|
||||
})
|
119
mods/_misc/uncraft_woll.lua
Normal file
119
mods/_misc/uncraft_woll.lua
Normal file
@ -0,0 +1,119 @@
|
||||
-- récupéré les "cotton" des "wool" faite (récupère 3 aulieu de 4 et perte du colorant)
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:black"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:white"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:grey"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:dark_grey"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:blue"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:brown"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:cyan"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:green"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:dark_green"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:dark_grey"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:dark_grey"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:magenta"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:orange"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:pink"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:red"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:violet"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"wool:yellow"},
|
||||
},
|
||||
})
|
Reference in New Issue
Block a user