forked from nalc/nalc-server
Ajout settings moretrees (dev) + guide serveur (loin d'être terminé)
This commit is contained in:
parent
76ed01631c
commit
c03108539c
BIN
doc/Guide/architecture.png
Normal file
BIN
doc/Guide/architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 87 KiB |
887
doc/Guide/index.html
Normal file
887
doc/Guide/index.html
Normal file
|
@ -0,0 +1,887 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2019-12-08 dim. 18:38 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>‎</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga5f75cf">1. Guide détaillé de l'utilisation du serveur NALC</a>
|
||||
<ul>
|
||||
<li><a href="#org05bc941">1.1. Architecture et fichiers principaux du serveur</a></li>
|
||||
<li><a href="#orgbbeab62">1.2. Installation</a>
|
||||
<ul>
|
||||
<li><a href="#org8fb7c66">1.2.1. Pré-requis</a></li>
|
||||
<li><a href="#orga304b05">1.2.2. Ce que je recommande pour avoir de bonnes performances</a></li>
|
||||
<li><a href="#org1e0d563">1.2.3. Créer un utilisateur dédié</a></li>
|
||||
<li><a href="#org58b0a15">1.2.4. Télécharger les sources du serveur</a></li>
|
||||
<li><a href="#orgeef8acb">1.2.5. Installer le serveur</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga5f75cf" class="outline-2">
|
||||
<h2 id="orga5f75cf"><span class="section-number-2">1</span> Guide détaillé de l'utilisation du serveur NALC</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Ce guide explique comment installer et utiliser les scripts du serveur NALC pour sa gestion au quotidien par les administrateurs du serveur.
|
||||
En dernière partie le guide explique les bonnes pratiques à adopter pour contribuer au développement du serveur NALC.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org05bc941" class="outline-3">
|
||||
<h3 id="org05bc941"><span class="section-number-3">1.1</span> Architecture et fichiers principaux du serveur</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Avant de commencer, voici une illustration de l'architecture du serveur une fois installé.
|
||||
</p>
|
||||
|
||||
|
||||
<div class="figure">
|
||||
<p><img src="architecture.png" alt="architecture.png" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Ne prenez pas peur par la complexité apparente du schéma, la pluspart des opérations que vous aurez à gérer se feront à travers les scripts qui vous faciliterons la tâche.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Nous reviendrons plus en détail sur certaines parties au moment opportun.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbbeab62" class="outline-3">
|
||||
<h3 id="orgbbeab62"><span class="section-number-3">1.2</span> Installation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
</div>
|
||||
<div id="outline-container-org8fb7c66" class="outline-4">
|
||||
<h4 id="org8fb7c66"><span class="section-number-4">1.2.1</span> Pré-requis</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<ul class="org-ul">
|
||||
<li>Système d'exploitation : GNU/Linux avec interpréteur BASH,</li>
|
||||
<li>git,</li>
|
||||
<li>Librairies et dépendances de Minetest :
|
||||
Consulter les pré-requis sur cette page : <a href="https://github.com/minetest/minetest/blob/master/README.md">https://github.com/minetest/minetest/blob/master/README.md</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga304b05" class="outline-4">
|
||||
<h4 id="orga304b05"><span class="section-number-4">1.2.2</span> Ce que je recommande pour avoir de bonnes performances</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<ul class="org-ul">
|
||||
<li><b>PostgreSQL</b> pour le backend de la MAP et des Utilisateurs.</li>
|
||||
<li><b>Redis</b> pour le backend de la MAP est une bonne alternative, mais elle ne sera pas traitée dans ce guide. Cependant j'avais fait une vidéo d'installation d'un serveur Minetest avec le backend Redis disponible ici : <a href="https://www.youtube.com/watch?v=cz_-Q0Uct1c">https://www.youtube.com/watch?v=cz_-Q0Uct1c</a></li>
|
||||
<li>Utiliser les librairies fournis par le système plûtot que celle incluse avec Minetest, comme Luajit par exemple.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1e0d563" class="outline-4">
|
||||
<h4 id="org1e0d563"><span class="section-number-4">1.2.3</span> Créer un utilisateur dédié</h4>
|
||||
<div class="outline-text-4" id="text-1-2-3">
|
||||
<p>
|
||||
Je recommande de créer un utilisateur dédié que nous nommerons "minetest" dans ce guide. Cela permettra une meilleure organisation ; et du point de vue sécurité c'est pas mal aussi.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Lancez un Terminal en root et entrez les commandes suivantes :
|
||||
</p>
|
||||
<pre class="example">
|
||||
# useradd -m -U minetest -s /bin/bash minetest
|
||||
# passwd minetest
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Maintenant vous pouvez suivre le reste du guide avec l'utilisateur minetest.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org58b0a15" class="outline-4">
|
||||
<h4 id="org58b0a15"><span class="section-number-4">1.2.4</span> Télécharger les sources du serveur</h4>
|
||||
<div class="outline-text-4" id="text-1-2-4">
|
||||
<p>
|
||||
Depuis un terminal nous allons rapatrier le code source du serveur avec git :
|
||||
</p>
|
||||
<pre class="example">
|
||||
cd ~
|
||||
git clone --depth 1 https://sys4.fr/gitea/nalc/nalc-server.git
|
||||
</pre>
|
||||
<p>
|
||||
Après un court laps de temps, vous devriez avoir le répertoire /home/minetest/nalc-server créé dont le contenue est le suivant :
|
||||
</p>
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">total</td>
|
||||
<td class="org-right">136</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">1101</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">backup.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:14</td>
|
||||
<td class="org-left">doc</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">9650</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">01:14</td>
|
||||
<td class="org-left">install.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">34570</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">LICENSE</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10388</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">minetest-1.0.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10509</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">minetest-1.1.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10579</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">minetest-dev.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10509</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">minetest-stable.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">261</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">README.md</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">1468</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">shutdown.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">691</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">start.sh.example</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">7589</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">01:14</td>
|
||||
<td class="org-left">upgrade.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">world</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">62</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">worldmt-1.0.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">85</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">14:33</td>
|
||||
<td class="org-left">worldmt-1.1.conf</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeef8acb" class="outline-4">
|
||||
<h4 id="orgeef8acb"><span class="section-number-4">1.2.5</span> Installer le serveur</h4>
|
||||
<div class="outline-text-4" id="text-1-2-5">
|
||||
<p>
|
||||
Maintenant il nous faut mettre en place tout le nécessaires pour avoir un serveur fonctionnel comme illustré dans l'image 1 et dont le contenu doit ressembler à ça :
|
||||
</p>
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">total</td>
|
||||
<td class="org-right">172</td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-right"> </td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">1101</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">backup.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">doc</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">11301</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:30</td>
|
||||
<td class="org-left">install.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">34570</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">LICENSE</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:51</td>
|
||||
<td class="org-left">logs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">23</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:31</td>
|
||||
<td class="org-left">minetest</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10388</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">minetest-1.0.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10509</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">minetest-1.1.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10579</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">minetest-dev.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">10515</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:46</td>
|
||||
<td class="org-left">minetest-stable.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">5</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">23:48</td>
|
||||
<td class="org-left">nalc<sub>game</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">144</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">23:49</td>
|
||||
<td class="org-left">nalc-server-mods</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">261</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">README.md</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">1498</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:35</td>
|
||||
<td class="org-left">shutdown.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">729</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">18:08</td>
|
||||
<td class="org-left">start.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">722</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:53</td>
|
||||
<td class="org-left">start.sh~</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">691</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">start.sh.example</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rwxr-xr-x</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">7589</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:12</td>
|
||||
<td class="org-left">upgrade.sh</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">drwxr-xr-x</td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">4096</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">world</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">8028</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:41</td>
|
||||
<td class="org-left">world.mt</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">62</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">worldmt-1.0.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">85</td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">17:25</td>
|
||||
<td class="org-left">worldmt-1.1.conf</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">-rw-r–r--</td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-left">sys4</td>
|
||||
<td class="org-right">85</td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">déc.</td>
|
||||
<td class="org-right">00:41</td>
|
||||
<td class="org-left">world.mt.bak</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2019-12-08 dim. 18:38</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
167
doc/Guide/index.org
Normal file
167
doc/Guide/index.org
Normal file
|
@ -0,0 +1,167 @@
|
|||
* Guide détaillé de l'utilisation du serveur NALC
|
||||
Ce guide explique comment installer et utiliser les scripts du serveur NALC pour sa gestion au quotidien par les administrateurs du serveur.
|
||||
En dernière partie le guide explique les bonnes pratiques à adopter pour contribuer au développement du serveur NALC.
|
||||
** Architecture et fichiers principaux du serveur
|
||||
Avant de commencer, voici une illustration de l'architecture du serveur une fois installé.
|
||||
|
||||
#+begin_src plantuml :file architecture.png
|
||||
folder "nalc-server" as nalcserver {
|
||||
Component install.sh
|
||||
Component upgrade.sh
|
||||
Component start.sh
|
||||
Component shutdown.sh
|
||||
Component backup.sh
|
||||
Component "worldmt-$version.conf" as wmtver
|
||||
Component "<&flag>world.mt" as worldmt
|
||||
Component "minetest-$version.conf" as mtver
|
||||
folder doc
|
||||
folder logs
|
||||
folder backup
|
||||
folder world
|
||||
folder "<&flag>nalc_game" as nalc_game
|
||||
folder "nalc-server-mods" as nalcservermods {
|
||||
folder "<&flag>mod1" as mod1
|
||||
folder "<&flag>mod2" as mod2
|
||||
folder "<&flag>modN..." as modn
|
||||
}
|
||||
folder minetest {
|
||||
Component "minetest.conf" as mtconf
|
||||
folder games {
|
||||
Component "<&people>nalc_game" as nalcgamelink
|
||||
}
|
||||
folder worlds {
|
||||
folder "nalc-$version" as nalc_world {
|
||||
Component "<&people>world.mt" as worldmtlink
|
||||
}
|
||||
}
|
||||
folder mods {
|
||||
Component "<&people>mod1" as mod1l
|
||||
Component "<&people>mod2" as mod2l
|
||||
Component "<&people>modn..." as modnl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
worldmtlink ..> worldmt :<<Lien symbolique>>
|
||||
nalcgamelink ..> nalc_game :<<Lien symbolique>>
|
||||
mod1l ..> mod1 :<<Lien symbolique>>
|
||||
mod2l ..> mod2 :<<Lien symbolique>>
|
||||
modnl ..> modn :<<Lien symbolique>>
|
||||
|
||||
wmtver --> worldmt : Copie
|
||||
mtver --> mtconf : Copie
|
||||
world --> nalc_world : Copie du contenue
|
||||
|
||||
legend right
|
||||
<&flag> Dossier ou fichier source
|
||||
<&people> Lien symbolique vers <&flag>
|
||||
endlegend
|
||||
|
||||
node "Serveur Gitea Sys4" as gitea {
|
||||
Component "Dépôt nalc-server-mods" as depot_nalc
|
||||
Component "Dépôt nalc_game" as depot_nalc_game
|
||||
Component "Dépôt nalc-serveur" as depot_nalc_serveur
|
||||
}
|
||||
node "Serveur Gitlab de Minetest" as gitlab {
|
||||
Component "Dépôt minetest" as depot_minetest
|
||||
}
|
||||
|
||||
interface "https ou ssh" as intergitea
|
||||
interface "https" as intergitlab
|
||||
|
||||
nalcserver ..> intergitea : utilise
|
||||
nalcservermods ..> intergitea : utilise
|
||||
nalc_game ..> intergitea : utilise
|
||||
|
||||
minetest ..> intergitlab : utilise
|
||||
|
||||
intergitea - gitea
|
||||
intergitlab - gitlab
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:architecture.png]]
|
||||
|
||||
Ne prenez pas peur par la complexité apparente du schéma, la pluspart des opérations que vous aurez à gérer se feront à travers les scripts qui vous faciliterons la tâche.
|
||||
|
||||
Nous reviendrons plus en détail sur certaines parties au moment opportun.
|
||||
** Installation
|
||||
*** Pré-requis
|
||||
- Système d'exploitation : GNU/Linux avec interpréteur BASH,
|
||||
- git,
|
||||
- Librairies et dépendances de Minetest :
|
||||
Consulter les pré-requis sur cette page : [[https://github.com/minetest/minetest/blob/master/README.md]]
|
||||
*** Ce que je recommande pour avoir de bonnes performances
|
||||
- *PostgreSQL* pour le backend de la MAP et des Utilisateurs.
|
||||
- *Redis* pour le backend de la MAP est une bonne alternative, mais elle ne sera pas traitée dans ce guide. Cependant j'avais fait une vidéo d'installation d'un serveur Minetest avec le backend Redis disponible ici : [[https://www.youtube.com/watch?v=cz_-Q0Uct1c]]
|
||||
- Utiliser les librairies fournis par le système plûtot que celle incluse avec Minetest, comme Luajit par exemple.
|
||||
*** Créer un utilisateur dédié
|
||||
Je recommande de créer un utilisateur dédié que nous nommerons "minetest" dans ce guide. Cela permettra une meilleure organisation ; et du point de vue sécurité c'est pas mal aussi.
|
||||
|
||||
Lancez un Terminal en root et entrez les commandes suivantes :
|
||||
#+begin_example :src shell
|
||||
# useradd -m -U minetest -s /bin/bash minetest
|
||||
# passwd minetest
|
||||
#+end_example
|
||||
|
||||
Maintenant vous pouvez suivre le reste du guide avec l'utilisateur minetest.
|
||||
*** Télécharger les sources du serveur
|
||||
Depuis un terminal nous allons rapatrier le code source du serveur avec git :
|
||||
#+begin_example :src shell
|
||||
cd ~
|
||||
git clone --depth 1 https://sys4.fr/gitea/nalc/nalc-server.git
|
||||
#+end_example
|
||||
Après un court laps de temps, vous devriez avoir le répertoire /home/minetest/nalc-server créé dont le contenue est le suivant :
|
||||
#+begin_src sh :exports results
|
||||
ls -l ../..
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| total | 136 | | | | | | | |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 1101 | 7 | déc. | 14:33 | backup.sh |
|
||||
| drwxr-xr-x | 3 | sys4 | sys4 | 4096 | 8 | déc. | 14:14 | doc |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 9650 | 8 | déc. | 01:14 | install.sh |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 34570 | 7 | déc. | 14:33 | LICENSE |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10388 | 7 | déc. | 14:33 | minetest-1.0.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10509 | 7 | déc. | 14:33 | minetest-1.1.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10579 | 7 | déc. | 14:33 | minetest-dev.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10509 | 7 | déc. | 14:33 | minetest-stable.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 261 | 7 | déc. | 14:33 | README.md |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 1468 | 7 | déc. | 14:33 | shutdown.sh |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 691 | 7 | déc. | 14:33 | start.sh.example |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 7589 | 8 | déc. | 01:14 | upgrade.sh |
|
||||
| drwxr-xr-x | 2 | sys4 | sys4 | 4096 | 7 | déc. | 14:33 | world |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 62 | 7 | déc. | 14:33 | worldmt-1.0.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 85 | 7 | déc. | 14:33 | worldmt-1.1.conf |
|
||||
|
||||
*** Installer le serveur
|
||||
Maintenant il nous faut mettre en place tout le nécessaires pour avoir un serveur fonctionnel comme illustré dans l'image 1 et dont le contenu doit ressembler à ça :
|
||||
#+begin_src sh :exports results
|
||||
ls -l ../../../tests/nalc-server
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| total | 172 | | | | | | | |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 1101 | 7 | déc. | 17:25 | backup.sh |
|
||||
| drwxr-xr-x | 2 | sys4 | sys4 | 4096 | 7 | déc. | 17:25 | doc |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 11301 | 8 | déc. | 00:30 | install.sh |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 34570 | 7 | déc. | 17:25 | LICENSE |
|
||||
| drwxr-xr-x | 2 | sys4 | sys4 | 4096 | 7 | déc. | 17:51 | logs |
|
||||
| drwxr-xr-x | 23 | sys4 | sys4 | 4096 | 8 | déc. | 00:31 | minetest |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10388 | 7 | déc. | 17:25 | minetest-1.0.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10509 | 7 | déc. | 17:25 | minetest-1.1.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10579 | 7 | déc. | 17:25 | minetest-dev.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 10515 | 8 | déc. | 00:46 | minetest-stable.conf |
|
||||
| drwxr-xr-x | 5 | sys4 | sys4 | 4096 | 7 | déc. | 23:48 | nalc_game |
|
||||
| drwxr-xr-x | 144 | sys4 | sys4 | 4096 | 7 | déc. | 23:49 | nalc-server-mods |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 261 | 7 | déc. | 17:25 | README.md |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 1498 | 7 | déc. | 17:35 | shutdown.sh |
|
||||
| -rwxr--r-- | 1 | sys4 | sys4 | 729 | 7 | déc. | 18:08 | start.sh |
|
||||
| -rwxr--r-- | 1 | sys4 | sys4 | 722 | 7 | déc. | 17:53 | start.sh~ |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 691 | 7 | déc. | 17:25 | start.sh.example |
|
||||
| -rwxr-xr-x | 1 | sys4 | sys4 | 7589 | 8 | déc. | 00:12 | upgrade.sh |
|
||||
| drwxr-xr-x | 2 | sys4 | sys4 | 4096 | 7 | déc. | 17:25 | world |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 8028 | 8 | déc. | 00:41 | world.mt |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 62 | 7 | déc. | 17:25 | worldmt-1.0.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 85 | 7 | déc. | 17:25 | worldmt-1.1.conf |
|
||||
| -rw-r--r-- | 1 | sys4 | sys4 | 85 | 8 | déc. | 00:41 | world.mt.bak |
|
16
doc/Guide/out.txt
Normal file
16
doc/Guide/out.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
total 136
|
||||
-rwxr-xr-x 1 sys4 sys4 1101 7 déc. 14:33 backup.sh
|
||||
drwxr-xr-x 3 sys4 sys4 4096 8 déc. 14:14 doc
|
||||
-rwxr-xr-x 1 sys4 sys4 9650 8 déc. 01:14 install.sh
|
||||
-rw-r--r-- 1 sys4 sys4 34570 7 déc. 14:33 LICENSE
|
||||
-rw-r--r-- 1 sys4 sys4 10388 7 déc. 14:33 minetest-1.0.conf
|
||||
-rw-r--r-- 1 sys4 sys4 10509 7 déc. 14:33 minetest-1.1.conf
|
||||
-rw-r--r-- 1 sys4 sys4 10579 7 déc. 14:33 minetest-dev.conf
|
||||
-rw-r--r-- 1 sys4 sys4 10509 7 déc. 14:33 minetest-stable.conf
|
||||
-rw-r--r-- 1 sys4 sys4 261 7 déc. 14:33 README.md
|
||||
-rwxr-xr-x 1 sys4 sys4 1468 7 déc. 14:33 shutdown.sh
|
||||
-rw-r--r-- 1 sys4 sys4 691 7 déc. 14:33 start.sh.example
|
||||
-rwxr-xr-x 1 sys4 sys4 7589 8 déc. 01:14 upgrade.sh
|
||||
drwxr-xr-x 2 sys4 sys4 4096 7 déc. 14:33 world
|
||||
-rw-r--r-- 1 sys4 sys4 62 7 déc. 14:33 worldmt-1.0.conf
|
||||
-rw-r--r-- 1 sys4 sys4 85 7 déc. 14:33 worldmt-1.1.conf
|
60
doc/vegetation_gen.org
Normal file
60
doc/vegetation_gen.org
Normal file
|
@ -0,0 +1,60 @@
|
|||
| Nom arbre | Températures | Humidité | Altitude | Biome |
|
||||
|----------------+--------------+----------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Apple tree | 5 - 32°C | 60-100 | 48-200 | *Tempéré froid humide, deciduous_forest, mixed_mushroom_cold, coniferous_forest |
|
||||
| Oak | | | | *Méditéranéen, deciduous_forest, rainforest, savanna, mixed_mushroom_hot, mixed_mushroom_deciduous, mixed_mushroom_cold, coniferous_forest, grassland |
|
||||
| sequoia | | | 150-210 | Coniferous_forest |
|
||||
| palm | 75 | | | Desert_Ocean, Sandstone_desert_ocean, *Méditeranean_shore, Deciduous_forest_shore, |
|
||||
| date | 75 | | | Desert_Ocean, Sandstone_desert_ocean, *Méditeranean_shore, Deciduous_forest_shore, |
|
||||
| Cedar | | | 70-100 | coniferous_forest, mediterranean |
|
||||
| rubber | | | | rainforest, mixed_mushroom_hot, savanna_shore |
|
||||
| willow | | | | Grassland, deciduous_forest, coniferous_forest, mixed_mushroom_cold |
|
||||
| birch | | | | Grassland, deciduous_forest, coniferous_forest, mixed_mushroom_cold |
|
||||
| spruce | | | 40-200(tempéré) | Taiga, coniferous_forest, mixed_mushroom_cold, pine_forest, snow_biome_forest, snow_biome_lush |
|
||||
| jungletree | | | | À supprimer. |
|
||||
| fir | | | 40-200(tempéré) | Taiga, coniferous_forest, mixed_mushroom_cold, pine_forest, snow_biome_forest |
|
||||
| poplar(_small) | | | | Grassland, deciduous_forest, coniferous_forest, mixed_mushroom_cold, |
|
||||
|
||||
| Biome | Arbres |
|
||||
|--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| snow_biome_alpine | - |
|
||||
| snow_biome_forest | spruce, fir(SPWN; très rare) |
|
||||
| taiga | spruce, fir(SPWN; très rare) |
|
||||
| snow_biome_lush | spruce, fir(ALT: 0-31000) |
|
||||
| pine_forest | Cedar,spruce,fir |
|
||||
| mixed_mushroom_hot | rubber |
|
||||
| Mushroom_forest | - |
|
||||
| Mixed Mushroom Deciduous | AppleTree(ALT:48-200,SPAWN:rare); Oak; Cedar(ALT:100 SPAWN:rare); willow(SPAWN: rare); birch(SPAWN: rare); Spruce&fir(ALT: 40-200, SPAWM: rare) Poplar_small(SPWN: rare) |
|
||||
| deciduous Forest | AppleTree(ALT:48-200,SPAWN:rare); Oak; Cedar(ALT:100 SPAWN:rare); willow(SPAWN: rare); birch(SPAWN: rare); Spruce&fir(ALT: 40-200, SPAWM: rare) Poplar_small(SPWN: rare) |
|
||||
| Mixed Mushroom Cold | AppleTree(ALT:48-200,SPAWN:très rare); Oak(SPWN: rare); Cedar(ALT:50 SPAWN:rare); birch; Spruce&fir |
|
||||
| Coniferous_Forest | AppleTree(ALT:48-200,SPAWN:très rare); Oak(SPWN: rare); Cedar(ALT:50 SPAWN:rare); birch; Spruce&fir |
|
||||
| Grassland | Birch(SPAWN: rare), oak,apple(SPAWN: tres rare) |
|
||||
| Desert | Palm,Date(ALT:0-3) |
|
||||
| Desert sandstone | Palm,Date(ALT:0-3) |
|
||||
| Desert ocean | Palm,Date |
|
||||
| Sandstone desert ocean | Palm,Date |
|
||||
| Savanna | rubber(SPWN: Rare ALT: 0-5) |
|
||||
| Savanna Shore | Datier, rubber(SPWN: Rare ALT: 0-5) |
|
||||
| Rainforest | Rubber |
|
||||
| Rainforest_swamp | Palm, rubber |
|
||||
| Mediterranean | Cedar(ALT: 100), oak(ALT: 10-80: SPAWN: rare mais par paquets) |
|
||||
| Mediterranean shore | Datier |
|
||||
| Deciduous Cold | Poplar,poplar_small,willow |
|
||||
| Deciduous Cold Humid | Poplar,poplar_small(SPAWN: dense), willow |
|
||||
|
||||
|
||||
* Nouveaux biomes
|
||||
- Biome méditéranéen
|
||||
- Température : 77
|
||||
- Humidité : 50
|
||||
- Altitude : 3-50
|
||||
- Biome méditéranéen plage
|
||||
- Température : 77
|
||||
- Humidité : 50
|
||||
- Altitude : 0-3
|
||||
- deciduous_cold
|
||||
- Température : 55
|
||||
- Humidité : 69
|
||||
- 3-300
|
||||
- deciduous_cold_humid
|
||||
- Température : 55
|
||||
- Humidité : 111
|
67
upgrade.sh
67
upgrade.sh
|
@ -170,7 +170,7 @@ update_world() {
|
|||
fi
|
||||
|
||||
if [[ $WORLD_FILE == "all" ]]; then
|
||||
WORLD_FILE="news technic fbn fbnp bitchange christmas randommsg worldmt"
|
||||
WORLD_FILE="moretrees news technic fbn fbnp bitchange christmas randommsg worldmt"
|
||||
fi
|
||||
|
||||
for w_file in $WORLD_FILE; do
|
||||
|
@ -178,37 +178,40 @@ update_world() {
|
|||
local file_dest=""
|
||||
local do_copy=1
|
||||
case $w_file in
|
||||
news)
|
||||
file_dest=$world_dest/news.txt
|
||||
file=$world_repos/news-$BRANCH.txt;;
|
||||
technic)
|
||||
file_dest=$world_dest/technic.conf
|
||||
file=$world_repos/technic-$BRANCH.conf;;
|
||||
fbn)
|
||||
file_dest=$world_dest/forbidden_names.txt
|
||||
file=$world_repos/forbidden_names-$BRANCH.txt;;
|
||||
fbnp)
|
||||
file_dest=$world_dest/forbidden_names_patterns.txt
|
||||
file=$world_repos/forbidden_names_patterns-$BRANCH.txt;;
|
||||
bitchange)
|
||||
file_dest=$world_dest/bitchange_config.txt
|
||||
file=$world_repos/bitchange_config-$BRANCH.txt;;
|
||||
christmas)
|
||||
file_dest=$world_dest/christmas_craft.conf
|
||||
file=$world_repos/christmas_craft-$BRANCH.conf;;
|
||||
randommsg)
|
||||
file_dest=$world_dest/random_messages
|
||||
file=$world_repos/random_messages-$BRANCH;;
|
||||
worldmt)
|
||||
do_copy=0
|
||||
regen_worldmt
|
||||
rm -f $world_dest/world.mt
|
||||
ln -s $serverpath/world.mt $world_dest/world.mt;;
|
||||
mtconf) # Exception ici car n'est pas un fichier world. Doit être appelé seul.
|
||||
file_dest=$serverpath/minetest/minetest.conf
|
||||
file=$serverpath/minetest-$BRANCH.conf;;
|
||||
*)
|
||||
error;;
|
||||
moretrees)
|
||||
file_dest=$world_dest/moretrees_settings.txt
|
||||
file=$world_repos/moretrees_settings-$BRANCH.txt;;
|
||||
news)
|
||||
file_dest=$world_dest/news.txt
|
||||
file=$world_repos/news-$BRANCH.txt;;
|
||||
technic)
|
||||
file_dest=$world_dest/technic.conf
|
||||
file=$world_repos/technic-$BRANCH.conf;;
|
||||
fbn)
|
||||
file_dest=$world_dest/forbidden_names.txt
|
||||
file=$world_repos/forbidden_names-$BRANCH.txt;;
|
||||
fbnp)
|
||||
file_dest=$world_dest/forbidden_names_patterns.txt
|
||||
file=$world_repos/forbidden_names_patterns-$BRANCH.txt;;
|
||||
bitchange)
|
||||
file_dest=$world_dest/bitchange_config.txt
|
||||
file=$world_repos/bitchange_config-$BRANCH.txt;;
|
||||
christmas)
|
||||
file_dest=$world_dest/christmas_craft.conf
|
||||
file=$world_repos/christmas_craft-$BRANCH.conf;;
|
||||
randommsg)
|
||||
file_dest=$world_dest/random_messages
|
||||
file=$world_repos/random_messages-$BRANCH;;
|
||||
worldmt)
|
||||
do_copy=0
|
||||
regen_worldmt
|
||||
rm -f $world_dest/world.mt
|
||||
ln -s $serverpath/world.mt $world_dest/world.mt;;
|
||||
mtconf) # Exception ici car n'est pas un fichier world. Doit être appelé seul.
|
||||
file_dest=$serverpath/minetest/minetest.conf
|
||||
file=$serverpath/minetest-$BRANCH.conf;;
|
||||
*)
|
||||
error;;
|
||||
esac
|
||||
|
||||
if [[ $do_copy -eq 1 ]]; then
|
||||
|
|
135
world/moretrees_settings-dev.txt
Normal file
135
world/moretrees_settings-dev.txt
Normal file
|
@ -0,0 +1,135 @@
|
|||
-- Global configuration variables
|
||||
|
||||
-- Enable the various kinds of trees.
|
||||
|
||||
moretrees.enable_apple_tree = false
|
||||
moretrees.enable_oak = false
|
||||
moretrees.enable_sequoia = false
|
||||
moretrees.enable_palm = false
|
||||
moretrees.enable_date_palm = false
|
||||
moretrees.enable_cedar = false
|
||||
moretrees.enable_rubber_tree = false
|
||||
moretrees.enable_willow = false
|
||||
moretrees.enable_birch = false
|
||||
moretrees.enable_spruce = false
|
||||
moretrees.enable_jungle_tree = false
|
||||
moretrees.enable_fir = false
|
||||
moretrees.enable_poplar = false
|
||||
moretrees.enable_beech = false
|
||||
|
||||
-- set this to true to make moretrees spawn saplings at mapgen time instead
|
||||
-- of fully-grown trees, which will grow into full trees after a very short
|
||||
-- delay. This reduces mapgen lag in some situations, and fixes situations
|
||||
-- where the mapgen conflicts with the tree generator.
|
||||
|
||||
moretrees.spawn_saplings = true
|
||||
|
||||
-- Set this to true to allow defining stairs/slabs/etc. If Moreblocks is
|
||||
-- installed, this will use that mod's Stairs Plus component. Otherwise, it
|
||||
-- will use the default stairs mod in minetest_game, if present
|
||||
|
||||
moretrees.enable_stairs = true
|
||||
|
||||
-- If this variable is set to true, register fences for moretrees wood
|
||||
|
||||
moretrees.enable_fences = true
|
||||
|
||||
-- Set this to true if you want the plantlike drawtype for leaves, which
|
||||
-- improves some peoples' framerates without resorting to making leaf nodes opaque.
|
||||
-- Affects default leaves and default jungle leaves also.
|
||||
|
||||
moretrees.plantlike_leaves = true
|
||||
|
||||
-- Enable this if you want moretrees to redefine default apples so that they
|
||||
-- fall when leaves decay/are dug.
|
||||
|
||||
moretrees.enable_redefine_apple = true
|
||||
|
||||
-- Set this to true to enable leaf decay of all trees except the default ones.
|
||||
|
||||
moretrees.enable_leafdecay = true
|
||||
|
||||
-- various related settings to configure leaf decay.
|
||||
|
||||
moretrees.leafdecay_delay = 2
|
||||
moretrees.leafdecay_chance = 5
|
||||
moretrees.leafdecay_radius = 5
|
||||
moretrees.palm_leafdecay_radius = 10
|
||||
|
||||
-- Change these settings if you want default trees to be gradually cut down
|
||||
-- above the elevation where firs normally generate.
|
||||
|
||||
moretrees.firs_remove_default_trees = false
|
||||
moretrees.firs_remove_interval = 2
|
||||
moretrees.firs_remove_chance = 150
|
||||
|
||||
-- Cocos palm settings
|
||||
|
||||
moretrees.coconuts_regrow = true
|
||||
moretrees.coconuts_convert_existing_palms = true -- Converting existing palm trees will make coconuts regrow on them as well
|
||||
-- Else, they will only regrow on newly-spawned palms
|
||||
-- However, conversion is not an exact science, and although an attempt is
|
||||
-- made to detect whether a trunk belongs to an actual palm, some coconut trunks
|
||||
-- and some coconuts may be incorrectly converted.
|
||||
moretrees.coconut_flower_interval = 59
|
||||
moretrees.coconut_flower_chance = 67
|
||||
moretrees.coconut_grow_interval = 2 * moretrees.coconut_flower_interval * moretrees.coconut_flower_chance
|
||||
-- Actual interval will randomly vary between 67% and 133% of this value
|
||||
-- 2 * 59 * 67 ~ 2 hours. So flowers become coconuts in about 6 hours
|
||||
moretrees.coconut_item_drop_ichance = 10 -- inverse probability of ripe coconuts dropping as items (instead of disappearing)
|
||||
|
||||
-- Date palm settings
|
||||
|
||||
-- Suggested configuration alternatives:
|
||||
-- - Dates grow only when pollinated:
|
||||
-- - Set dates_regrow_pollinated to true
|
||||
-- - Set dates_regrow_unpollinated_percent to 0
|
||||
-- - Dates grow without pollination. Pollination disabled:
|
||||
-- - Set dates_regrow_pollinated to false
|
||||
-- - Set dates_regrow_unpollinated_percent to some larger positive value, e.g. 95
|
||||
-- - Dates grow, but more and faster if male flowers are nearby
|
||||
-- - Set dates_regrow_pollinated to true
|
||||
-- - Set dates_regrow_unpollinated_percent to some small positive value, e.g. 33
|
||||
-- - Optional but recommended: Reduce the pollination distance, e.g. to 30
|
||||
|
||||
-- Note that it should not be necessary to disable pollination for performance
|
||||
-- reasons. A lot of effort has gone into ensuring that date growing will not cause lag.
|
||||
--
|
||||
-- If lag is suspected, use the chat command '/dates_stats' to obtain the male dates
|
||||
-- search time, as well as the counts of total number of searches requested and the
|
||||
-- number of searches actually performed.
|
||||
|
||||
moretrees.dates_regrow_pollinated = true -- Enable pollination. If enabled, male trees are required for dates to grow.
|
||||
-- If disabled, dates_regrow_unpollinated_percent must be non-zero for dates to regrow.
|
||||
moretrees.dates_regrow_unpollinated_percent = 0 -- Percentage of female dates becoming dates without being pollinated.
|
||||
-- If 0, dates_regrow_pollinated must be enabled for dates to grow.
|
||||
moretrees.dates_female_percent = 57 -- Ratio of female to male trees - tune this to improve # of generated trees that actually bear fruit
|
||||
-- ~57% gives near optimal results for groups of 3 random trees, while it is only slightly suboptimal
|
||||
-- for groups of 2 and 4 random trees (~2% less fruit than optimal).
|
||||
-- Optimal values per group size: 2: 50%, 3: 57.78%, 4: 63%, 5: 66.9%, 6: 69.9%, [...], 12: 79.8%
|
||||
-- So 57% is optimal for small groups of trees. As larger groups have more female palms anyway, a
|
||||
-- less than optimal proportion of female to male trees is not a problem.
|
||||
moretrees.dates_pollination_distance = 120
|
||||
moretrees.dates_blossom_search_time_treshold = 1000 -- If average male blossom search time (in microseconds) exceeds this, start limiting the search load.
|
||||
moretrees.dates_blossom_search_iload = 10 -- Inverse fraction of CPU time that male blossom searching search may consume.
|
||||
-- As searching a large area (radius: dates_pollination_distance/3 per attempt) can cause lag,
|
||||
-- this limits the search frequency server-wide so that the impact on server lag is minimised
|
||||
-- For personal servers, this can be set lower, or even to 1 or 0 (0 disables load limiting).
|
||||
-- Obtain the current average search time using /dates_stats
|
||||
moretrees.dates_flower_interval = 59
|
||||
moretrees.dates_flower_chance = 181
|
||||
moretrees.dates_grow_interval = 2 * moretrees.dates_flower_interval * moretrees.dates_flower_chance
|
||||
-- As date palms have a high yield, don't grow dates too fast
|
||||
-- The actual interval will vary randomly between 67% and 133% of this value.
|
||||
-- 2 * 59 * 181 ~ 6 hours. So by default flowers become dates in about one (human) day.
|
||||
moretrees.dates_item_drop_ichance = 10 -- inverse probability of ripe dates dropping as items (instead of disappearing)
|
||||
|
||||
-- Sapling settings
|
||||
|
||||
moretrees.sapling_interval = 100
|
||||
moretrees.sapling_chance = 5
|
||||
|
||||
-- If this variable is set to true, drop leaves out as entities during leaf
|
||||
-- decay, rather than just disappearing them.
|
||||
|
||||
moretrees.decay_leaves_as_items = false
|
Loading…
Reference in New Issue
Block a user