docs: Sphinx manuel joueur/admin/dev + build HTML
Manuel complet DauphinCraft v0.1.0 : 14 pages RST (joueur, admin, dev, annexes), conf.py rtd-theme, Makefile/make.bat, build HTML propre. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
79
docs/_build/html/_sources/admin/configuration.rst.txt
vendored
Normal file
79
docs/_build/html/_sources/admin/configuration.rst.txt
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
Configuration du serveur
|
||||
========================
|
||||
|
||||
Fichier de service systemd
|
||||
---------------------------
|
||||
|
||||
Le service est défini dans :
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
/etc/systemd/system/dauphincraft.service
|
||||
|
||||
Contenu type :
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[Unit]
|
||||
Description=DauphinCraft Game Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=dauphincraft
|
||||
WorkingDirectory=/opt/dauphincraft
|
||||
ExecStart=/opt/dauphincraft/DauphinCraft.x86_64 --headless --port 7777
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
StandardOutput=append:/var/log/dauphincraft.log
|
||||
StandardError=append:/var/log/dauphincraft.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
Modifier le port d'écoute
|
||||
--------------------------
|
||||
|
||||
1. Éditez le fichier service :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo nano /etc/systemd/system/dauphincraft.service
|
||||
|
||||
2. Modifiez la ligne ``ExecStart`` pour changer le port :
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
ExecStart=/opt/dauphincraft/DauphinCraft.x86_64 --headless --port 9999
|
||||
|
||||
3. Rechargez la configuration et redémarrez le service :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart dauphincraft
|
||||
|
||||
4. N'oubliez pas d'ouvrir le nouveau port dans le pare-feu (voir :doc:`installation_serveur`).
|
||||
|
||||
Nombre maximum de joueurs
|
||||
--------------------------
|
||||
|
||||
La limite de joueurs est définie à **16** par défaut dans le code source
|
||||
(``scripts/net/NetworkManager.gd``). Cette valeur sera exposée en paramètre
|
||||
de ligne de commande dans une version future.
|
||||
|
||||
Pour modifier temporairement la limite, il est actuellement nécessaire de recompiler
|
||||
le projet avec la valeur souhaitée.
|
||||
|
||||
.. note::
|
||||
|
||||
Une option ``--max-players <N>`` sera ajoutée dans la version 0.2.0.
|
||||
|
||||
Sauvegarde du monde
|
||||
-------------------
|
||||
|
||||
.. warning::
|
||||
|
||||
La sauvegarde persistante du monde n'est pas encore implémentée dans la version 0.1.0.
|
||||
Le monde est régénéré à chaque redémarrage du serveur.
|
||||
|
||||
Cette fonctionnalité est prévue pour une version future.
|
||||
96
docs/_build/html/_sources/admin/installation_serveur.rst.txt
vendored
Normal file
96
docs/_build/html/_sources/admin/installation_serveur.rst.txt
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
Installation du serveur
|
||||
=======================
|
||||
|
||||
Ce guide décrit l'installation du serveur dédié DauphinCraft sur une machine Linux.
|
||||
|
||||
Prérequis
|
||||
---------
|
||||
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Composant | Requis |
|
||||
+====================+===============================================+
|
||||
| Système | Debian 11+ ou Ubuntu 22.04 LTS (64 bits) |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| RAM | 1 Go minimum |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Stockage | 500 Mo libres |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Réseau | IP publique ou réseau local avec NAT |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Port | UDP 7777 ouvert en entrée |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Droits | Accès root ou sudo |
|
||||
+--------------------+-----------------------------------------------+
|
||||
|
||||
Extraction de l'archive
|
||||
-----------------------
|
||||
|
||||
Téléchargez l'archive serveur depuis le dépôt officiel :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget http://<gitea-host>/dauphincraft/releases/download/v0.1.0/DauphinCraft-Server-v0.1.tar.gz
|
||||
|
||||
Extrayez-la dans ``/opt`` :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo tar -xzf DauphinCraft-Server-v0.1.tar.gz -C /opt/
|
||||
sudo mv /opt/DauphinCraft-Server /opt/dauphincraft
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Lancez le script d'installation fourni en tant que root :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd /opt/dauphincraft
|
||||
sudo bash install.sh
|
||||
|
||||
Ce script :
|
||||
|
||||
1. Crée un utilisateur système ``dauphincraft``.
|
||||
2. Installe le fichier de service systemd dans ``/etc/systemd/system/dauphincraft.service``.
|
||||
3. Active et démarre le service automatiquement.
|
||||
|
||||
Vérification du service
|
||||
-----------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
systemctl status dauphincraft
|
||||
|
||||
Une sortie de type ``Active: active (running)`` confirme que le serveur tourne correctement.
|
||||
|
||||
Ouverture du port pare-feu
|
||||
---------------------------
|
||||
|
||||
Avec **ufw** (Ubuntu) :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo ufw allow 7777/udp
|
||||
sudo ufw reload
|
||||
|
||||
Avec **iptables** :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo iptables -A INPUT -p udp --dport 7777 -j ACCEPT
|
||||
sudo iptables-save > /etc/iptables/rules.v4
|
||||
|
||||
Consultation des logs
|
||||
---------------------
|
||||
|
||||
Via **journalctl** (en temps réel) :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
journalctl -u dauphincraft -f
|
||||
|
||||
Via le fichier de log :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
tail -f /var/log/dauphincraft.log
|
||||
96
docs/_build/html/_sources/admin/maintenance.rst.txt
vendored
Normal file
96
docs/_build/html/_sources/admin/maintenance.rst.txt
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
Maintenance du serveur
|
||||
======================
|
||||
|
||||
Mise à jour du serveur
|
||||
----------------------
|
||||
|
||||
Pour mettre à jour DauphinCraft vers une nouvelle version :
|
||||
|
||||
1. Téléchargez le nouveau tarball depuis le dépôt officiel :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget http://<gitea-host>/dauphincraft/releases/download/vX.Y.Z/DauphinCraft-Server-vX.Y.Z.tar.gz
|
||||
|
||||
2. Arrêtez le service :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl stop dauphincraft
|
||||
|
||||
3. Sauvegardez l'ancienne version (optionnel mais recommandé) :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo cp -r /opt/dauphincraft /opt/dauphincraft.bak
|
||||
|
||||
4. Extrayez la nouvelle version :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo tar -xzf DauphinCraft-Server-vX.Y.Z.tar.gz -C /opt/
|
||||
sudo rsync -a --exclude='logs' /opt/DauphinCraft-Server/ /opt/dauphincraft/
|
||||
|
||||
5. Relancez le service :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl start dauphincraft
|
||||
systemctl status dauphincraft
|
||||
|
||||
Surveillance et logs
|
||||
---------------------
|
||||
|
||||
**Consultation des logs en direct :**
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
journalctl -u dauphincraft -f
|
||||
|
||||
**Consultation des dernières lignes :**
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
tail -n 100 /var/log/dauphincraft.log
|
||||
|
||||
**Rotation des logs :** le service redirige stdout/stderr vers ``/var/log/dauphincraft.log``.
|
||||
Pour éviter que ce fichier grossisse indéfiniment, configurez ``logrotate`` :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo nano /etc/logrotate.d/dauphincraft
|
||||
|
||||
Contenu suggéré :
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
/var/log/dauphincraft.log {
|
||||
daily
|
||||
rotate 7
|
||||
compress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
|
||||
Vérification de l'état du serveur
|
||||
-----------------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
systemctl is-active dauphincraft
|
||||
|
||||
Retourne ``active`` si le serveur est opérationnel, ``failed`` sinon.
|
||||
|
||||
Redémarrage automatique
|
||||
------------------------
|
||||
|
||||
Le fichier de service inclut ``Restart=on-failure`` avec un délai de 5 secondes.
|
||||
Le serveur redémarre donc automatiquement en cas de crash.
|
||||
|
||||
Gestion des joueurs (Kick / Ban)
|
||||
----------------------------------
|
||||
|
||||
.. note::
|
||||
|
||||
Les commandes d'administration en jeu (kick, ban) sont prévues pour la version 0.2.0.
|
||||
Aucune interface d'administration n'est disponible dans la version actuelle.
|
||||
60
docs/_build/html/_sources/changelog.rst.txt
vendored
Normal file
60
docs/_build/html/_sources/changelog.rst.txt
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
Historique des versions
|
||||
=======================
|
||||
|
||||
Version 0.1.0 — Sortie initiale
|
||||
---------------------------------
|
||||
|
||||
*Avril 2026*
|
||||
|
||||
Première version publique de DauphinCraft. Cette version pose les bases du jeu :
|
||||
monde voxel procédural, gameplay dauphin, inventaire, mobs et multijoueur.
|
||||
|
||||
Nouvelles fonctionnalités
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- **Monde voxel procédural sous-marin**
|
||||
|
||||
- Génération par bruit de Perlin multi-octave.
|
||||
- Quatre biomes : récif corallien, forêt de kelp, abysses, épaves.
|
||||
- Chunks 16×16×16 chargés dynamiquement autour du joueur.
|
||||
- Six types de blocs : Corail Bleu, Corail Rouge, Kelp, Roche, Épave, Glace.
|
||||
|
||||
- **Dauphin contrôleur et HUD**
|
||||
|
||||
- Déplacement 6DOF (haut/bas/avant/arrière/strafes).
|
||||
- Jauges : oxygène, vie, faim.
|
||||
- Boost de nage et écholocation (révèle l'environnement dans un rayon de 20 unités).
|
||||
- Hotbar de 9 slots.
|
||||
|
||||
- **Inventaire et crafting**
|
||||
|
||||
- Inventaire de 27 slots.
|
||||
- 5 recettes de craft : Lampe bio, Harpon, Bulle d'air, Algue cuisinée, Armure écailles.
|
||||
|
||||
- **Mobs (3 types)**
|
||||
|
||||
- Bancs de poissons (boids, neutres).
|
||||
- Méduses (dégâts de contact passifs).
|
||||
- Requin (hostile, réagit à l'écholocation).
|
||||
- Spawner par biome avec limite de population.
|
||||
|
||||
- **Multijoueur ENet 16 joueurs**
|
||||
|
||||
- Architecture autorité serveur.
|
||||
- Synchronisation position, blocs, inventaire.
|
||||
- Chat textuel en jeu.
|
||||
- Serveur dédié headless pour Linux.
|
||||
|
||||
- **Ambiance visuelle et audio**
|
||||
|
||||
- Shaders sous-marins : fog volumétrique, diffusion lumineuse.
|
||||
- Particules de plancton lumineux.
|
||||
- Musique : *Underwater Theme* (Cleyton RX, CC-BY 3.0).
|
||||
- Effets sonores : ambiance, bulles, chant de baleine (CC0).
|
||||
|
||||
Limitations connues
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- La sauvegarde du monde n'est pas persistante (monde régénéré à chaque redémarrage).
|
||||
- Pas de commandes d'administration en jeu (kick/ban prévu en 0.2.0).
|
||||
- La limite de joueurs (16) n'est pas configurable en ligne de commande.
|
||||
50
docs/_build/html/_sources/credits.rst.txt
vendored
Normal file
50
docs/_build/html/_sources/credits.rst.txt
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
Crédits
|
||||
=======
|
||||
|
||||
Moteur
|
||||
------
|
||||
|
||||
- **Godot Engine 4.6.2** — Licence MIT — https://godotengine.org
|
||||
|
||||
Assets
|
||||
------
|
||||
|
||||
Tous les assets sont listés ci-dessous avec leur source et licence.
|
||||
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
| Asset | Source | Licence |
|
||||
+===================================+=======================================================+=============+
|
||||
| ``icon.svg`` | Créé manuellement | CC0 |
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
| ``audio/music/underwater_theme`` | Cleyton RX — https://opengameart.org/content/ | CC-BY 3.0 |
|
||||
| | underwater-theme | |
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
| ``audio/sfx/underwater_ambient`` | Zozzy — https://freesound.org/people/Zozzy/ | CC0 |
|
||||
| | sounds/56678/ | |
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
| ``audio/sfx/bubbles`` | ristooooo1 — https://freesound.org/people/ | CC0 |
|
||||
| | ristooooo1/sounds/539823/ | |
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
| ``audio/sfx/whale_call`` | taure — https://freesound.org/people/taure/ | CC0 |
|
||||
| | sounds/361423/ | |
|
||||
+-----------------------------------+-------------------------------------------------------+-------------+
|
||||
|
||||
Attribution requise
|
||||
-------------------
|
||||
|
||||
Conformément à la licence CC-BY 3.0, la musique de fond doit être créditée ainsi :
|
||||
|
||||
*"Underwater Theme" par Cleyton RX,*
|
||||
*https://opengameart.org/content/underwater-theme,*
|
||||
*sous licence Creative Commons Attribution 3.0.*
|
||||
|
||||
Auteur du jeu
|
||||
-------------
|
||||
|
||||
- **Baptiste Moulin** — Conception, développement, direction artistique
|
||||
|
||||
Remerciements
|
||||
-------------
|
||||
|
||||
- La communauté Godot Engine pour ses ressources et son support.
|
||||
- Les créateurs d'assets CC0 et CC-BY qui rendent les projets open source possibles.
|
||||
81
docs/_build/html/_sources/dev/architecture.rst.txt
vendored
Normal file
81
docs/_build/html/_sources/dev/architecture.rst.txt
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
Architecture technique
|
||||
=======================
|
||||
|
||||
Moteur et langage
|
||||
-----------------
|
||||
|
||||
+------------------+-----------------------------------------------+
|
||||
| Composant | Valeur |
|
||||
+==================+===============================================+
|
||||
| Moteur | Godot Engine 4.6.2 (Forward+) |
|
||||
+------------------+-----------------------------------------------+
|
||||
| Langage | GDScript (typage strict) |
|
||||
+------------------+-----------------------------------------------+
|
||||
| Rendu | Vulkan (Forward+) / Compatibility (fallback) |
|
||||
+------------------+-----------------------------------------------+
|
||||
| Réseau | ENet UDP, autorité serveur |
|
||||
+------------------+-----------------------------------------------+
|
||||
|
||||
Architecture réseau
|
||||
-------------------
|
||||
|
||||
DauphinCraft utilise un modèle **autorité serveur** :
|
||||
|
||||
- Le serveur est la source de vérité pour les positions, les blocs et les inventaires.
|
||||
- Les clients envoient leurs intentions (déplacement, action) et reçoivent l'état du monde.
|
||||
- La synchronisation est assurée par ``PlayerSyncComponent`` et ``WorldSyncComponent``.
|
||||
- Le protocole de transport est **ENet (UDP)** via la couche haut niveau Godot (``MultiplayerAPI``).
|
||||
- Port par défaut : **UDP 7777**.
|
||||
|
||||
Structure du projet
|
||||
-------------------
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
DauphinCraft/
|
||||
├── project.godot # Fichier de projet Godot
|
||||
├── icon.svg # Icône du jeu
|
||||
├── export_presets.cfg # Présets d'export (Windows, Linux serveur)
|
||||
├── assets/ # Ressources visuelles (textures, modèles)
|
||||
├── audio/ # Fichiers audio
|
||||
│ ├── music/ # Musiques de fond
|
||||
│ └── sfx/ # Effets sonores
|
||||
├── builds/ # Sorties d'export
|
||||
├── scenes/ # Scènes Godot (.tscn)
|
||||
│ ├── Main.tscn
|
||||
│ ├── MainMenu.tscn
|
||||
│ ├── LobbyMenu.tscn
|
||||
│ ├── World.tscn
|
||||
│ ├── Dolphin.tscn
|
||||
│ ├── InventoryUI.tscn
|
||||
│ ├── PauseMenu.tscn
|
||||
│ └── mobs/
|
||||
├── scripts/ # Scripts GDScript (.gd)
|
||||
│ ├── Main.gd
|
||||
│ ├── PauseMenu.gd
|
||||
│ ├── world/ # Gestion du monde voxel
|
||||
│ ├── dolphin/ # Contrôleur joueur + HUD
|
||||
│ ├── ambience/ # Environnement visuel et audio
|
||||
│ ├── inventory/ # Inventaire et crafting
|
||||
│ ├── mobs/ # Intelligence artificielle des mobs
|
||||
│ └── net/ # Réseau multijoueur
|
||||
├── shaders/ # Shaders GLSL/Godot
|
||||
└── docs/ # Documentation Sphinx (ce manuel)
|
||||
|
||||
Flux de démarrage
|
||||
-----------------
|
||||
|
||||
1. ``Main.tscn`` est la scène principale. Elle instancie ``MainMenu.tscn``.
|
||||
2. Le joueur choisit Solo / Héberger / Rejoindre dans ``LobbyMenu.tscn``.
|
||||
3. ``NetworkManager`` initialise ENet (serveur ou client).
|
||||
4. ``World.tscn`` est chargée : ``ChunkManager`` génère les premiers chunks.
|
||||
5. ``Dolphin.tscn`` est instanciée pour chaque joueur connecté.
|
||||
6. La boucle de jeu tourne : physique, synchronisation réseau, rendu.
|
||||
|
||||
Présets d'export
|
||||
----------------
|
||||
|
||||
Deux présets sont configurés dans ``export_presets.cfg`` :
|
||||
|
||||
- **Windows (64 bits)** : exécutable joueur pour Windows.
|
||||
- **Linux Server (64 bits)** : exécutable headless pour serveur dédié Linux.
|
||||
110
docs/_build/html/_sources/dev/contribuer.rst.txt
vendored
Normal file
110
docs/_build/html/_sources/dev/contribuer.rst.txt
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
Contribuer au projet
|
||||
====================
|
||||
|
||||
Outils nécessaires
|
||||
------------------
|
||||
|
||||
- **Godot Engine 4.6.2** : téléchargez depuis https://godotengine.org/download
|
||||
- **Git** : version 2.x ou supérieure
|
||||
- Accès au dépôt Gitea de DauphinCraft
|
||||
|
||||
Cloner le dépôt
|
||||
---------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone http://<gitea-host>/dauphincraft/dauphincraft.git
|
||||
cd dauphincraft
|
||||
|
||||
.. note::
|
||||
|
||||
Remplacez ``<gitea-host>`` par l'adresse du serveur Gitea communautaire.
|
||||
|
||||
Ouvrir le projet dans Godot
|
||||
-----------------------------
|
||||
|
||||
1. Lancez Godot Engine 4.6.2.
|
||||
2. Dans le gestionnaire de projets, cliquez sur **Import**.
|
||||
3. Naviguez jusqu'au dossier cloné et sélectionnez ``project.godot``.
|
||||
4. Cliquez sur **Import & Edit**.
|
||||
|
||||
Le projet s'ouvre directement dans l'éditeur. Appuyez sur **F5** pour lancer le jeu en mode éditeur.
|
||||
|
||||
Build et export
|
||||
---------------
|
||||
|
||||
Les présets d'export sont configurés dans ``export_presets.cfg``.
|
||||
|
||||
**Exporter pour Windows :**
|
||||
|
||||
1. Menu **Projet → Exporter**.
|
||||
2. Sélectionnez le préset **Windows Desktop**.
|
||||
3. Cliquez sur **Exporter le projet** et choisissez un dossier de sortie.
|
||||
|
||||
**Exporter le serveur Linux :**
|
||||
|
||||
1. Menu **Projet → Exporter**.
|
||||
2. Sélectionnez le préset **Linux Server**.
|
||||
3. Cliquez sur **Exporter le projet**.
|
||||
|
||||
.. note::
|
||||
|
||||
Pour exporter vers Linux, vous devez avoir installé le template d'export Linux dans Godot
|
||||
(**Éditeur → Gérer les modèles d'exportation**).
|
||||
|
||||
Style de code
|
||||
-------------
|
||||
|
||||
- **Typage strict** : déclarez toujours les types explicitement (``var x: int = 0``).
|
||||
- **Pas de TODO** laissé dans le code soumis — ouvrez une issue à la place.
|
||||
- **Nommage** : ``snake_case`` pour les variables et fonctions, ``PascalCase`` pour les classes.
|
||||
- **Commentaires** : en français, concis.
|
||||
- **Signals** : préfixez les signaux avec le nom du composant (``dolphin_died``, ``chunk_loaded``).
|
||||
|
||||
Exemple de code conforme :
|
||||
|
||||
.. code-block:: gdscript
|
||||
|
||||
class_name DolphinController
|
||||
extends CharacterBody3D
|
||||
|
||||
@export var speed: float = 5.0
|
||||
var _oxygen: float = 1.0
|
||||
|
||||
func take_damage(amount: int) -> void:
|
||||
# Réduit les PV et déclenche le signal si mort
|
||||
health -= amount
|
||||
if health <= 0:
|
||||
emit_signal("dolphin_died")
|
||||
|
||||
Soumettre une contribution
|
||||
---------------------------
|
||||
|
||||
1. Créez une branche depuis ``main`` :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git checkout -b feat/ma-fonctionnalite
|
||||
|
||||
2. Faites vos modifications et committez :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git add .
|
||||
git commit -m "feat: description courte"
|
||||
|
||||
3. Poussez votre branche :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git push origin feat/ma-fonctionnalite
|
||||
|
||||
4. Ouvrez une **Pull Request** sur le Gitea de DauphinCraft.
|
||||
|
||||
5. Un mainteneur relit et fusionne après validation.
|
||||
|
||||
Discussion et support
|
||||
----------------------
|
||||
|
||||
Rejoignez le serveur Discord communautaire et consultez le canal **#dauphincraft-dev**
|
||||
pour poser vos questions, proposer des idées ou signaler des bugs.
|
||||
129
docs/_build/html/_sources/dev/modules.rst.txt
vendored
Normal file
129
docs/_build/html/_sources/dev/modules.rst.txt
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
Modules du jeu
|
||||
==============
|
||||
|
||||
Le code source est organisé en six modules dans ``scripts/``.
|
||||
|
||||
Module Monde (``world/``)
|
||||
--------------------------
|
||||
|
||||
Responsable de la génération et de la gestion du monde voxel sous-marin.
|
||||
|
||||
**BlockDatabase.gd**
|
||||
Registre central de tous les types de blocs (id, nom, texture, propriétés physiques).
|
||||
API publique : ``get_block(id: int) -> BlockData``, ``get_id_by_name(name: String) -> int``.
|
||||
|
||||
**Chunk.gd**
|
||||
Représente un chunk 16×16×16 blocs. Gère son maillage 3D et son état de chargement.
|
||||
API publique : ``set_block(x, y, z, id)``, ``get_block(x, y, z) -> int``, ``rebuild_mesh()``.
|
||||
|
||||
**ChunkManager.gd**
|
||||
Orchestre le chargement/déchargement des chunks autour du joueur (rayon configurable).
|
||||
API publique : ``get_chunk(cx, cy, cz) -> Chunk``, ``request_chunk(pos: Vector3i)``.
|
||||
|
||||
**WorldGenerator.gd**
|
||||
Génère le contenu des chunks de façon procédurale (bruit de Perlin, biomes, structures).
|
||||
API publique : ``generate_chunk(cx, cy, cz) -> Array`` (tableau de 4096 block ids).
|
||||
|
||||
Module Dauphin (``dolphin/``)
|
||||
------------------------------
|
||||
|
||||
Contrôle du personnage joueur et interface utilisateur associée.
|
||||
|
||||
**DolphinController.gd**
|
||||
Gère les entrées clavier/souris, applique la physique de nage, envoie les actions au serveur.
|
||||
API publique : ``apply_input(input: Dictionary)``, ``take_damage(amount: int)``.
|
||||
|
||||
**HUD.gd**
|
||||
Affiche les jauges (oxygène, vie, faim), la hotbar et les notifications.
|
||||
API publique : ``update_oxygen(value: float)``, ``update_health(value: float)``,
|
||||
``update_hunger(value: float)``.
|
||||
|
||||
**EcholocationPulse.gd**
|
||||
Crée et anime l'impulsion sphérique d'écholocation. Détecte les mobs et blocs dans le rayon.
|
||||
API publique : ``emit_pulse(origin: Vector3, radius: float)``.
|
||||
|
||||
Module Ambiance (``ambience/``)
|
||||
--------------------------------
|
||||
|
||||
Environnement visuel et sonore sous-marin.
|
||||
|
||||
**UnderwaterEnvironment.gd**
|
||||
Configure le fog volumétrique, la lumière directionnelle atténuée et les effets de post-process
|
||||
selon la profondeur du joueur. API publique : ``set_depth(depth: float)``.
|
||||
|
||||
**AudioManager.gd**
|
||||
Singleton audio. Gère les pistes de musique et les effets sonores avec transitions douces.
|
||||
API publique : ``play_sfx(name: String)``, ``play_music(name: String)``, ``stop_music()``.
|
||||
|
||||
**PlanktonParticles.gd**
|
||||
Système de particules generant le plancton lumineux ambiant.
|
||||
API publique : ``set_density(density: float)``.
|
||||
|
||||
**MainMenu.gd**
|
||||
Logique du menu principal (navigation, transitions de scène).
|
||||
|
||||
Module Inventaire (``inventory/``)
|
||||
-----------------------------------
|
||||
|
||||
Gestion des ressources, recettes et interface d'inventaire.
|
||||
|
||||
**Inventory.gd**
|
||||
Stockage des items du joueur (tableau de slots). Synchronisé avec le serveur en multijoueur.
|
||||
API publique : ``add_item(id: int, qty: int) -> bool``, ``remove_item(id: int, qty: int) -> bool``,
|
||||
``has_item(id: int, qty: int) -> bool``.
|
||||
|
||||
**ItemDatabase.gd**
|
||||
Registre de tous les items (id, nom, icône, stack max).
|
||||
API publique : ``get_item(id: int) -> ItemData``.
|
||||
|
||||
**CraftingRecipes.gd**
|
||||
Définit les 5 recettes de craft et expose la logique de fabrication.
|
||||
API publique : ``get_available_recipes(inventory: Inventory) -> Array``,
|
||||
``craft(recipe_id: int, inventory: Inventory) -> bool``.
|
||||
|
||||
**InventoryUI.gd**
|
||||
Interface graphique de l'inventaire et du panneau de crafting.
|
||||
API publique : ``open()``, ``close()``, ``refresh()``.
|
||||
|
||||
Module Mobs (``mobs/``)
|
||||
------------------------
|
||||
|
||||
Intelligence artificielle des créatures marines.
|
||||
|
||||
**FishSchool.gd**
|
||||
Comportement de banc de poissons (alignment, cohesion, separation — boids simplifié).
|
||||
Fuit le joueur à proximité. API publique : ``set_school_size(n: int)``.
|
||||
|
||||
**Jellyfish.gd**
|
||||
Déplacement oscillant aléatoire. Inflige des dégâts de contact au joueur.
|
||||
API publique : ``get_damage() -> int``.
|
||||
|
||||
**Shark.gd**
|
||||
IA hostile : détection du joueur, poursuite, attaque, réaction à l'écholocation (fuite).
|
||||
API publique : ``stun(duration: float)``.
|
||||
|
||||
**MobSpawner.gd**
|
||||
Gère l'apparition des mobs selon le biome et la profondeur, avec limite de population.
|
||||
API publique : ``spawn_in_chunk(chunk_pos: Vector3i)``.
|
||||
|
||||
Module Réseau (``net/``)
|
||||
-------------------------
|
||||
|
||||
Infrastructure multijoueur ENet.
|
||||
|
||||
**NetworkManager.gd**
|
||||
Singleton réseau. Initialise ENet, gère les connexions/déconnexions joueurs, expose les RPCs.
|
||||
API publique : ``host_game(port: int)``, ``join_game(ip: String, port: int)``,
|
||||
``disconnect()``.
|
||||
|
||||
**PlayerSyncComponent.gd**
|
||||
Attaché à chaque ``Dolphin``. Synchronise position, rotation et état sur le réseau.
|
||||
API publique : ``sync_state(state: Dictionary)``.
|
||||
|
||||
**WorldSyncComponent.gd**
|
||||
Synchronise les modifications de blocs entre serveur et clients.
|
||||
API publique : ``broadcast_block_change(pos: Vector3i, block_id: int)``.
|
||||
|
||||
**ChatManager.gd**
|
||||
Gère l'envoi et la réception des messages de chat en multijoueur.
|
||||
API publique : ``send_message(text: String)``, ``on_message_received(sender: String, text: String)``.
|
||||
40
docs/_build/html/_sources/index.rst.txt
vendored
Normal file
40
docs/_build/html/_sources/index.rst.txt
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
DauphinCraft — Documentation
|
||||
============================
|
||||
|
||||
Bienvenue dans **DauphinCraft**, un jeu voxel sous-marin multijoueur où vous incarnez un dauphin.
|
||||
|
||||
Explorez les fonds marins, construisez des structures, craftez des outils et jouez avec vos amis
|
||||
jusqu'à 16 joueurs simultanés.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Joueur
|
||||
|
||||
joueur/installation
|
||||
joueur/controles
|
||||
joueur/mecaniques
|
||||
joueur/craft
|
||||
joueur/multijoueur
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Administrateur serveur
|
||||
|
||||
admin/installation_serveur
|
||||
admin/configuration
|
||||
admin/maintenance
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Développement
|
||||
|
||||
dev/architecture
|
||||
dev/modules
|
||||
dev/contribuer
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Annexes
|
||||
|
||||
credits
|
||||
changelog
|
||||
86
docs/_build/html/_sources/joueur/controles.rst.txt
vendored
Normal file
86
docs/_build/html/_sources/joueur/controles.rst.txt
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
Contrôles
|
||||
=========
|
||||
|
||||
Toutes les touches sont configurables dans les paramètres du jeu (**Échap → Paramètres → Touches**).
|
||||
Voici la configuration par défaut.
|
||||
|
||||
Déplacement
|
||||
-----------
|
||||
|
||||
+---------------------+------------------+
|
||||
| Action | Touche par défaut|
|
||||
+=====================+==================+
|
||||
| Nager en avant | W |
|
||||
+---------------------+------------------+
|
||||
| Reculer | S |
|
||||
+---------------------+------------------+
|
||||
| Strafe gauche | A |
|
||||
+---------------------+------------------+
|
||||
| Strafe droit | D |
|
||||
+---------------------+------------------+
|
||||
| Monter | Espace |
|
||||
+---------------------+------------------+
|
||||
| Descendre | Shift |
|
||||
+---------------------+------------------+
|
||||
| Boost de nage | Ctrl |
|
||||
+---------------------+------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
Le **boost** consomme de l'énergie (jauge bleue en bas à droite du HUD). Il se recharge
|
||||
automatiquement au repos.
|
||||
|
||||
Capacités spéciales
|
||||
-------------------
|
||||
|
||||
+-----------------------------+------------------+
|
||||
| Action | Touche par défaut|
|
||||
+=============================+==================+
|
||||
| Écholocation | E |
|
||||
+-----------------------------+------------------+
|
||||
| Activer / Désactiver la HUD | H |
|
||||
+-----------------------------+------------------+
|
||||
|
||||
L'**écholocation** envoie une impulsion sonore qui révèle les blocs et mobs environnants
|
||||
dans un rayon de 20 unités, même dans les zones sombres.
|
||||
|
||||
Interaction avec le monde
|
||||
--------------------------
|
||||
|
||||
+----------------------------+------------------+
|
||||
| Action | Touche par défaut|
|
||||
+============================+==================+
|
||||
| Casser un bloc | Clic gauche |
|
||||
+----------------------------+------------------+
|
||||
| Poser un bloc | Clic droit |
|
||||
+----------------------------+------------------+
|
||||
| Changer de slot (hotbar) | Molette souris |
|
||||
+----------------------------+------------------+
|
||||
| Ouvrir l'inventaire | Tab |
|
||||
+----------------------------+------------------+
|
||||
|
||||
Interface
|
||||
---------
|
||||
|
||||
+----------------------------+------------------+
|
||||
| Action | Touche par défaut|
|
||||
+============================+==================+
|
||||
| Ouvrir le chat | F2 |
|
||||
+----------------------------+------------------+
|
||||
| Menu pause | Échap |
|
||||
+----------------------------+------------------+
|
||||
|
||||
Chat
|
||||
----
|
||||
|
||||
En multijoueur, appuyez sur **F2** pour ouvrir la fenêtre de chat. Tapez votre message et
|
||||
validez avec **Entrée**. Appuyez sur **Échap** pour fermer le chat sans envoyer.
|
||||
|
||||
Menu pause
|
||||
----------
|
||||
|
||||
Appuyez sur **Échap** pour mettre le jeu en pause. Le menu propose :
|
||||
|
||||
- **Reprendre** : retour au jeu.
|
||||
- **Paramètres** : audio, vidéo, contrôles.
|
||||
- **Quitter** : retour au menu principal.
|
||||
112
docs/_build/html/_sources/joueur/craft.rst.txt
vendored
Normal file
112
docs/_build/html/_sources/joueur/craft.rst.txt
vendored
Normal file
@@ -0,0 +1,112 @@
|
||||
Crafting — Recettes
|
||||
===================
|
||||
|
||||
Le système de crafting permet de transformer des ressources collectées en objets utiles.
|
||||
Ouvrez l'inventaire (**Tab**), puis accédez à l'onglet **Crafting** pour voir les recettes disponibles.
|
||||
|
||||
Comment crafter
|
||||
---------------
|
||||
|
||||
1. Ouvrez l'inventaire avec **Tab**.
|
||||
2. Sélectionnez l'onglet **Crafting**.
|
||||
3. Les recettes disponibles (ingrédients présents en inventaire) s'affichent en surbrillance.
|
||||
4. Cliquez sur la recette souhaitée pour fabriquer l'objet.
|
||||
|
||||
Recettes disponibles
|
||||
--------------------
|
||||
|
||||
Lampe bio
|
||||
~~~~~~~~~
|
||||
|
||||
Éclaire une zone de 10 blocs de rayon. Indispensable dans les abysses.
|
||||
|
||||
+------------------+----------+----------------------+
|
||||
| Ingrédient | Quantité | Résultat |
|
||||
+==================+==========+======================+
|
||||
| Corail Bleu | 2 | Lampe bio × 1 |
|
||||
+------------------+----------+ |
|
||||
| Kelp | 1 | |
|
||||
+------------------+----------+----------------------+
|
||||
|
||||
Harpon
|
||||
~~~~~~
|
||||
|
||||
Arme à distance. Permet d'attaquer les mobs de loin (portée 12 unités, dégâts −4 PV).
|
||||
|
||||
+------------------+----------+----------------------+
|
||||
| Ingrédient | Quantité | Résultat |
|
||||
+==================+==========+======================+
|
||||
| Roche | 2 | Harpon × 1 |
|
||||
+------------------+----------+ |
|
||||
| Épave | 2 | |
|
||||
+------------------+----------+----------------------+
|
||||
|
||||
Bulle d'air
|
||||
~~~~~~~~~~~
|
||||
|
||||
Consommable d'urgence. Recharge instantanément 50 % de la jauge d'oxygène.
|
||||
|
||||
+------------------+----------+----------------------+
|
||||
| Ingrédient | Quantité | Résultat |
|
||||
+==================+==========+======================+
|
||||
| Kelp | 3 | Bulle d'air × 1 |
|
||||
+------------------+----------+ |
|
||||
| Glace | 1 | |
|
||||
+------------------+----------+----------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
La **Glace** se trouve uniquement dans les zones profondes (abysses, 80 m+).
|
||||
|
||||
Algue cuisinée
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Nourriture. Restaure 30 % de la jauge de faim.
|
||||
|
||||
+------------------+----------+----------------------+
|
||||
| Ingrédient | Quantité | Résultat |
|
||||
+==================+==========+======================+
|
||||
| Kelp | 2 | Algue cuisinée × 2 |
|
||||
+------------------+----------+----------------------+
|
||||
|
||||
.. tip::
|
||||
|
||||
Recette très accessible dès le début. La forêt de kelp est le meilleur endroit pour
|
||||
farmer le Kelp.
|
||||
|
||||
Armure écailles
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Protection passive. Réduit les dégâts reçus de 25 % (toutes sources).
|
||||
|
||||
+------------------+----------+----------------------+
|
||||
| Ingrédient | Quantité | Résultat |
|
||||
+==================+==========+======================+
|
||||
| Corail Rouge | 4 | Armure écailles × 1 |
|
||||
+------------------+----------+ |
|
||||
| Épave | 2 | |
|
||||
+------------------+----------+----------------------+
|
||||
|
||||
.. warning::
|
||||
|
||||
L'armure se casse après 50 impacts. Craftez-en une de rechange avant de partir
|
||||
explorer les épaves ou les abysses.
|
||||
|
||||
Ressources et où les trouver
|
||||
----------------------------
|
||||
|
||||
+-------------------+---------------------------+
|
||||
| Ressource | Biome / Source |
|
||||
+===================+===========================+
|
||||
| Corail Bleu | Récif corallien |
|
||||
+-------------------+---------------------------+
|
||||
| Corail Rouge | Récif corallien |
|
||||
+-------------------+---------------------------+
|
||||
| Kelp | Forêt de kelp |
|
||||
+-------------------+---------------------------+
|
||||
| Roche | Épaves, fond marin |
|
||||
+-------------------+---------------------------+
|
||||
| Épave | Zones d'épaves |
|
||||
+-------------------+---------------------------+
|
||||
| Glace | Abysses (80 m+) |
|
||||
+-------------------+---------------------------+
|
||||
74
docs/_build/html/_sources/joueur/installation.rst.txt
vendored
Normal file
74
docs/_build/html/_sources/joueur/installation.rst.txt
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
Installation — Guide joueur
|
||||
===========================
|
||||
|
||||
Configuration minimale requise
|
||||
-------------------------------
|
||||
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Composant | Minimum requis |
|
||||
+====================+===============================================+
|
||||
| Système | Windows 10 / Windows 11 (64 bits) |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| RAM | 4 Go |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| GPU | Compatible Vulkan 1.0 ou DirectX 12 |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Stockage | 500 Mo d'espace libre |
|
||||
+--------------------+-----------------------------------------------+
|
||||
| Réseau | Connexion Internet (multijoueur uniquement) |
|
||||
+--------------------+-----------------------------------------------+
|
||||
|
||||
Téléchargement
|
||||
--------------
|
||||
|
||||
La dernière version de DauphinCraft est disponible sur le dépôt officiel :
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
http://<gitea-host>/dauphincraft/releases
|
||||
|
||||
Téléchargez l'archive ``DauphinCraft-v0.1.0-windows.zip`` correspondant à votre système.
|
||||
|
||||
.. note::
|
||||
|
||||
Remplacez ``<gitea-host>`` par l'adresse fournie par votre administrateur ou la communauté.
|
||||
|
||||
Procédure d'installation
|
||||
------------------------
|
||||
|
||||
1. Décompressez l'archive ``DauphinCraft-v0.1.0-windows.zip`` dans le dossier de votre choix.
|
||||
2. Ouvrez le dossier extrait.
|
||||
3. Double-cliquez sur ``DauphinCraft.exe`` pour lancer le jeu.
|
||||
|
||||
Aucune installation supplémentaire n'est nécessaire. Le jeu est autonome (portable).
|
||||
|
||||
Dépannage antivirus
|
||||
-------------------
|
||||
|
||||
Windows Defender ou votre antivirus peut bloquer le lancement car l'exécutable n'est pas signé.
|
||||
|
||||
**Solution :**
|
||||
|
||||
1. Clic droit sur ``DauphinCraft.exe`` → **Propriétés**.
|
||||
2. En bas de l'onglet *Général*, cochez **Débloquer** si la case est présente.
|
||||
3. Cliquez sur **Appliquer**, puis **OK**.
|
||||
4. Relancez ``DauphinCraft.exe``.
|
||||
|
||||
Si votre antivirus met en quarantaine le fichier, ajoutez une exception pour le dossier
|
||||
d'installation de DauphinCraft.
|
||||
|
||||
.. warning::
|
||||
|
||||
Téléchargez toujours DauphinCraft depuis le dépôt officiel. Ne faites pas confiance à des
|
||||
sources tierces inconnues.
|
||||
|
||||
Première connexion
|
||||
------------------
|
||||
|
||||
Au premier lancement, le jeu vous propose trois modes :
|
||||
|
||||
- **Solo** : jouer seul en monde local.
|
||||
- **Héberger** : créer une partie multijoueur sur votre machine.
|
||||
- **Rejoindre** : rejoindre une partie existante avec une IP et un port.
|
||||
|
||||
Voir :doc:`multijoueur` pour les détails réseau.
|
||||
86
docs/_build/html/_sources/joueur/mecaniques.rst.txt
vendored
Normal file
86
docs/_build/html/_sources/joueur/mecaniques.rst.txt
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
Mécaniques de jeu
|
||||
=================
|
||||
|
||||
Jauges du joueur
|
||||
----------------
|
||||
|
||||
Trois jauges sont visibles en permanence dans le HUD (en bas de l'écran) :
|
||||
|
||||
**Oxygène (jauge bleue)**
|
||||
Représente l'air restant dans les poumons du dauphin. Elle diminue lorsque vous évoluez
|
||||
sous l'eau sans remonter à la surface. À zéro, vous perdez de la vie rapidement.
|
||||
Remontez à la surface pour la recharger instantanément.
|
||||
|
||||
**Vie (jauge rouge)**
|
||||
Points de vie du dauphin. Diminue en cas d'attaque par un mob hostile ou de manque
|
||||
d'oxygène prolongé. Se régénère lentement en nageant sans contrainte, ou plus vite
|
||||
en consommant de la nourriture.
|
||||
|
||||
**Faim (jauge orange)**
|
||||
Représente la satiété. Diminue au fil du temps et lors d'actions intenses (boost, écholocation).
|
||||
Si la jauge de faim atteint zéro, la régénération de vie s'arrête.
|
||||
|
||||
Gestion de l'oxygène
|
||||
--------------------
|
||||
|
||||
Votre dauphin a besoin de respirer. La surface de l'eau correspond à la limite supérieure
|
||||
du monde. Remontez régulièrement pour éviter de vous noyer.
|
||||
|
||||
- Sous **50 % d'oxygène** : la jauge clignote doucement.
|
||||
- Sous **20 % d'oxygène** : la jauge clignote rapidement et un son d'alerte retentit.
|
||||
- À **0 %** : vous perdez 1 PV par seconde jusqu'à la remontée.
|
||||
|
||||
.. tip::
|
||||
|
||||
Craftez une **Bulle d'air** (voir :doc:`craft`) pour obtenir une réserve d'oxygène
|
||||
supplémentaire d'urgence.
|
||||
|
||||
Biomes sous-marins
|
||||
------------------
|
||||
|
||||
Le monde est généré de façon procédurale et comporte quatre biomes principaux :
|
||||
|
||||
**Récif corallien**
|
||||
Zone peu profonde (0–30 m), lumineuse, riche en coraux et poissons. Idéal pour débuter.
|
||||
On y trouve du **Corail Bleu** et du **Corail Rouge**.
|
||||
|
||||
**Forêt de kelp**
|
||||
Zone intermédiaire (20–60 m). Grandes algues offrant une visibilité réduite.
|
||||
Source principale de **Kelp** et de **Kelp_Food**.
|
||||
|
||||
**Abysses**
|
||||
Zone profonde (80 m et plus). Obscurité totale sans lampe bio. Ressources rares
|
||||
mais mobs dangereux (Requins).
|
||||
|
||||
**Épaves**
|
||||
Zones ponctuelles à toutes profondeurs. Recèlent de la **Roche** et de l'**Épave**
|
||||
(matériaux pour recettes avancées). Attention aux Requins patrouillant les épaves.
|
||||
|
||||
Mobs
|
||||
----
|
||||
|
||||
Trois types de créatures peuplent les océans de DauphinCraft :
|
||||
|
||||
**Bancs de poissons (FishSchool)**
|
||||
Neutres. Nagent en groupe de manière aléatoire. Source de nourriture si attaqués.
|
||||
Comportement de fuite à l'approche du joueur.
|
||||
|
||||
**Méduses (Jellyfish)**
|
||||
Passives mais infligent des dégâts de contact si on les touche (−1 PV par contact).
|
||||
Lumineuses, elles sont utiles comme repères dans les abysses.
|
||||
|
||||
**Requin (Shark)**
|
||||
Hostile. Attaque le joueur à vue dans un rayon de 15 unités. Inflige −3 PV par morsure.
|
||||
Peut être repoussé avec une **impulsion d'écholocation** (touche E).
|
||||
|
||||
Mort et respawn
|
||||
---------------
|
||||
|
||||
Quand vos points de vie atteignent zéro, vous mourez. Un écran de mort s'affiche.
|
||||
|
||||
- Vos blocs posés dans le monde restent en place.
|
||||
- Votre inventaire est conservé.
|
||||
- Vous réapparaissez au point de spawn initial (centre du monde, en surface).
|
||||
|
||||
En multijoueur, les autres joueurs continuent de jouer pendant votre respawn. Le délai
|
||||
de respawn est de **3 secondes**.
|
||||
78
docs/_build/html/_sources/joueur/multijoueur.rst.txt
vendored
Normal file
78
docs/_build/html/_sources/joueur/multijoueur.rst.txt
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
Multijoueur
|
||||
===========
|
||||
|
||||
DauphinCraft supporte jusqu'à **16 joueurs simultanés** via une architecture réseau ENet UDP.
|
||||
|
||||
Modes de jeu
|
||||
------------
|
||||
|
||||
**Solo**
|
||||
Jouer seul en monde local. Aucune connexion réseau requise. La partie n'est pas accessible
|
||||
aux autres joueurs.
|
||||
|
||||
**Héberger une partie**
|
||||
Lancez un serveur depuis votre propre machine. Les joueurs de votre réseau local (ou Internet
|
||||
si vous configurez votre routeur) peuvent vous rejoindre.
|
||||
|
||||
**Rejoindre une partie**
|
||||
Entrez l'adresse IP et le port d'une partie existante pour la rejoindre.
|
||||
|
||||
Port réseau
|
||||
-----------
|
||||
|
||||
DauphinCraft utilise le port **UDP 7777** par défaut.
|
||||
|
||||
Pour héberger une partie accessible depuis Internet :
|
||||
|
||||
1. Ouvrez les paramètres de votre box/routeur.
|
||||
2. Créez une règle de redirection de port (NAT/PAT) :
|
||||
- **Port externe** : 7777 (UDP)
|
||||
- **Port interne** : 7777 (UDP)
|
||||
- **IP locale cible** : l'adresse IP locale de votre machine (ex. 192.168.1.10)
|
||||
3. Communiquez votre **IP publique** et le port **7777** à vos amis.
|
||||
|
||||
.. tip::
|
||||
|
||||
Pour trouver votre IP publique, allez sur ``https://ifconfig.me`` dans un navigateur.
|
||||
|
||||
Rejoindre une partie
|
||||
--------------------
|
||||
|
||||
Dans le menu principal, choisissez **Rejoindre**, puis entrez :
|
||||
|
||||
- **Adresse IP** : l'IP fournie par l'hôte (ex. ``203.0.113.42``).
|
||||
- **Port** : ``7777`` (ou le port personnalisé communiqué par l'hôte).
|
||||
|
||||
Cliquez sur **Connexion**. Si le serveur est disponible, vous rejoindrez la partie en quelques
|
||||
secondes.
|
||||
|
||||
Héberger depuis le jeu
|
||||
-----------------------
|
||||
|
||||
Choisissez **Héberger** dans le menu principal. Le jeu démarre un serveur intégré (écoute sur
|
||||
le port 7777 UDP) tout en vous permettant de jouer simultanément.
|
||||
|
||||
.. note::
|
||||
|
||||
L'hébergement intégré est pratique pour des sessions entre amis. Pour un serveur permanent
|
||||
24h/24, consultez :doc:`../admin/installation_serveur`.
|
||||
|
||||
Serveur public officiel
|
||||
------------------------
|
||||
|
||||
Un serveur public de démonstration est disponible à l'adresse :
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
http://example.invalid (à remplacer lors du déploiement)
|
||||
|
||||
.. warning::
|
||||
|
||||
Ce serveur est fourni à titre de démonstration. Il peut être indisponible ou réinitialisé
|
||||
sans préavis.
|
||||
|
||||
Limite de joueurs
|
||||
-----------------
|
||||
|
||||
La limite par défaut est **16 joueurs** par session. Elle peut être modifiée par l'administrateur
|
||||
du serveur (voir :doc:`../admin/configuration`).
|
||||
Reference in New Issue
Block a user