rozštěpen z mtcontrib/serverguide
187 řádky
7.6 KiB
Lua
187 řádky
7.6 KiB
Lua
local serverguide_Book_title="The server guide"
|
|
|
|
local serverguide_Tab_Text_1=[[
|
|
### DESCRIPTION DU SERVEUR ###
|
|
Bienvenue sur "Notre Ami Le Cube" ! (ou NALC)
|
|
Ce serveur Minetest hautement moddé est conçu pour être équilibré et vous offre de multiples
|
|
possibilités dans votre façon de jouer.
|
|
Soyez un constructeur, un ingénieur, un guerrier, un magicien ou même un trader.
|
|
Les possibilités sont presque infinies.
|
|
Mais attention, survivre sera un vrai défi.
|
|
-Ce serveur est hébergé/maintenue par Sys4-
|
|
### SERVEUR IRC ###
|
|
irc.sys4.fr:6697 - Canal #NALC
|
|
### Codes Sources ###
|
|
- Scripts Serveur : https://sys4.fr/gitea/nalc/nalc-server.git
|
|
- Mods du serveur : https://sys4.fr/gitea/nalc/nalc-server-mods.git
|
|
- Jeux nalc_game : https://sys4.fr/gitea/nalc/nalc_game.git
|
|
- Minetest : https://gitlab.com/minetest/minetest.git
|
|
### Spécifications du serveur ###
|
|
- Débit Internet : 42MB Down / 9MB Up
|
|
- CPU : AMD FX-8370 - RAM : 8GO - SE : Gentoo Linux
|
|
- Map & Players Backend : Postgresql - Auth Backend : SQLite3
|
|
- Générateur de terrain : Valleys Mapgen - Graine : 1681440164076556961
|
|
]]
|
|
local serverguide_Tab_Text_2= [[
|
|
### Règles en Français ###
|
|
Tapez la commande /rules
|
|
Pour montrer les règles de l'irc, tapez la commande /irc.
|
|
|
|
### Rules in English ###
|
|
Type the command /rules
|
|
To show irc rules, type the command /irc.
|
|
]]
|
|
local serverguide_Tab_Text_3= [[
|
|
Rulers info (moderator or admins)
|
|
- Administrateur/Administrator : sys4
|
|
- Moderators/Moderateurs : Cyberpangolin, farfadet46, Grossam, Getsuga
|
|
|
|
* Si vous voulez devenir modérateur, donc pour obtenir des droits spéciaux et pouvoir
|
|
en délivrer à d'autres joueurs, il faudra bien sûr que vous ayez fais vos preuves sur le serveur.
|
|
La décision m'appartiendra exclusivement de délivrer les droits de modération aux personnes
|
|
que je jugerai comme compétentes pour les obtenir.
|
|
]]
|
|
local serverguide_Tab_Text_4=[[
|
|
### Commandes ###
|
|
- /guide : Montrer ce guide / show this guide
|
|
- /help [all|command] : Obtenir l'aide complète ou d'une commande / Get complete help or help on
|
|
a command
|
|
- /hotbar <n> : Changer la taille de la barre d'inventaire (23 Max).
|
|
- /volume : Modifier les volumes sonores de la musique ou des effets
|
|
- /report : Laisser un message aux modérateurs (rapporter un bug, faire une demande, informer sur
|
|
le comportement d'un joueur, etc.)
|
|
- /mail <player> : Envoyer un courriel à quelqu'un
|
|
- /inbox : Lire ses courriels
|
|
- /news : Voir les news du serveur
|
|
]]
|
|
local serverguide_Tab_Text_5=[[
|
|
### Informations Diverses ###
|
|
- Suivre l'évolution du serveur : https://sys4.fr/gitea/nalc-server-mods/issues
|
|
- Vous souhaitez participer à l'évolution du serveur ? Contactez l'administrateur par mail, ou
|
|
venez sur l'irc.
|
|
### Histoire du serveur ###
|
|
Ce serveur à l'origine a été créé avec l'intention première de réaliser une série de vidéos Minetest
|
|
sur Youtube co-animée par moi (sys4) https://www.youtube.com/channel/UCGPpNs57nKiGlK24hPvq2Ig
|
|
et Cyberpangolin https://www.youtube.com/user/CyberPangolin
|
|
Comme il a fallu faire vite pour débuter, nous avons décidé de forker le serveur MFF Classic
|
|
et de lui rajouter les quelques mods dont nous avions besoins pour nos vidéos.
|
|
Puis, avec l'expérience acquise dans l'administration du serveur et le développement de mods, j'ai continué à faire évoluer le serveur sur sa propre voie.
|
|
Le serveur n'était toujours pas public et pourtant grâce au bouche à oreille, quelques joueurs
|
|
confirmés sont venus s'installer petit à petit et y viennent régulièrement encore aujourd'hui.
|
|
Aujourd'hui le serveur a pris un tournant important, car son code source n'est plus rattaché
|
|
à la plate-forme GitHub depuis son rachat par "$vous savez qui$".
|
|
Du coup j'en ai profité pour le reprendre depuis le début.
|
|
Il ne reste plus grand chose de l'original, je n'ai gardé que quelques codes sources de l'original de MFF.
|
|
De ce fait je ne sais pas si je peux encore parler d'un fork à ce stade, mais en tout cas il
|
|
en garde certaine traces.
|
|
]]
|
|
|
|
local serverguide_Tab_1="Server"
|
|
local serverguide_Tab_2="Règles/Rules"
|
|
local serverguide_Tab_3="Staff"
|
|
local serverguide_Tab_4="Commands"
|
|
local serverguide_Tab_5="Divers"
|
|
|
|
local function serverguide_guide(user,text_to_show)
|
|
local text=""
|
|
if text_to_show==1 then text=serverguide_Tab_Text_1 end
|
|
if text_to_show==2 then text=serverguide_Tab_Text_2 end
|
|
if text_to_show==3 then text=serverguide_Tab_Text_3 end
|
|
if text_to_show==4 then text=serverguide_Tab_Text_4 end
|
|
if text_to_show==5 then text=serverguide_Tab_Text_5 end
|
|
|
|
local form="size[8.5,9]" ..default.gui_bg..default.gui_bg_img..
|
|
"button[0,0;1.5,1;tab1;" .. serverguide_Tab_1 .. "]" ..
|
|
"button[1.5,0;1.5,1;tab2;" .. serverguide_Tab_2 .. "]" ..
|
|
"button[3,0;1.5,1;tab3;" .. serverguide_Tab_3 .. "]" ..
|
|
"button[4.5,0;1.5,1;tab4;" .. serverguide_Tab_4 .. "]" ..
|
|
"button[6,0;1.5,1;tab5;" .. serverguide_Tab_5 .. "]" ..
|
|
"button_exit[7.5,0; 1,1;tab6;X]" ..
|
|
"label[0,1;"..text .."]"
|
|
minetest.show_formspec(user:get_player_name(), "serverguide",form)
|
|
end
|
|
|
|
minetest.register_on_player_receive_fields(function(player, form, pressed)
|
|
if form=="serverguide" then
|
|
if pressed.tab1 then serverguide_guide(player,1) end
|
|
if pressed.tab2 then serverguide_guide(player,2) end
|
|
if pressed.tab3 then serverguide_guide(player,3) end
|
|
if pressed.tab4 then serverguide_guide(player,4) end
|
|
if pressed.tab5 then serverguide_guide(player,5) end
|
|
end
|
|
end)
|
|
|
|
|
|
minetest.register_tool("serverguide:book", {
|
|
description = serverguide_Book_title,
|
|
inventory_image = "default_book.png",
|
|
on_use = function(itemstack, user, pointed_thing)
|
|
serverguide_guide(user,1)
|
|
return itemstack
|
|
end,
|
|
on_place = function(itemstack, placer, pointed_thing)
|
|
local pos = pointed_thing.under
|
|
local node = minetest.get_node_or_nil(pos)
|
|
local def = node and minetest.registered_nodes[node.name]
|
|
if not def or not def.buildable_to then
|
|
pos = pointed_thing.above
|
|
node = minetest.get_node_or_nil(pos)
|
|
def = node and minetest.registered_nodes[node.name]
|
|
if not def or not def.buildable_to then return itemstack end
|
|
end
|
|
if minetest.is_protected(pos, placer:get_player_name()) then return itemstack end
|
|
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
|
minetest.set_node(pos, {name = "serverguide:guide",param2 = fdir,})
|
|
itemstack:take_item()
|
|
return itemstack
|
|
end
|
|
})
|
|
minetest.register_alias("guide", "serverguide:book")
|
|
minetest.register_craft({output = "serverguide:book",recipe = {{"default:stick","default:stick"},}})
|
|
|
|
|
|
minetest.register_node("serverguide:guide", {
|
|
description = serverguide_Book_title,
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
is_ground_content = false,
|
|
drop="serverguide:book",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {0.35,-0.3,0.45,-0.35,-0.5,-0.45},
|
|
},
|
|
tiles = {
|
|
"default_gold_block.png^default_book.png",
|
|
"default_gold_block.png",
|
|
"default_gold_block.png",
|
|
"default_gold_block.png",
|
|
"default_gold_block.png",
|
|
"default_gold_block.png",},
|
|
groups = {cracky=1,oddly_breakable_by_hand=3},
|
|
sounds=default.node_sound_wood_defaults(),
|
|
on_construct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("infotext", serverguide_Book_title)
|
|
end,
|
|
on_rightclick = function(pos, node, clicker)
|
|
serverguide_guide(clicker,1)
|
|
end
|
|
|
|
})
|
|
|
|
minetest.register_on_newplayer(function(player)
|
|
player:get_inventory():add_item("main", "serverguide:book")
|
|
end)
|
|
|
|
minetest.register_chatcommand("guide", {
|
|
params = "",
|
|
description = serverguide_Book_title,
|
|
func = function(name, param)
|
|
serverguide_guide(minetest.get_player_by_name(name),1)
|
|
return true
|
|
end
|
|
})
|
|
|
|
minetest.log("action", "[serverguide] loaded.")
|