Files
WebNationsGlory_ServeurBuil…/MAINTENANCE.md
y.campiontrebouta@innotexnas.ovh abb51904d7 initial commit
2026-02-04 19:04:46 +01:00

6.1 KiB

🔧 Maintenance et Administration

Commandes de Base

Démarrer l'application

cd WebNationsGlory_ServeurBuild_Red
./start.sh

Arrêter l'application

# Ctrl+C dans le terminal

Redémarrer l'application

# 1. Arrêtez avec Ctrl+C
# 2. Relancez avec ./start.sh

Dépannage

Vérifier l'état de RCON

# Test simple
echo "status" | timeout 2 bash -c 'exec 3<>/dev/tcp/localhost/25575; cat >&3; cat <&3' 2>/dev/null || echo "RCON non accessible"

# Avec nc (netcat)
nc -w 2 localhost 25575 < /dev/null && echo "RCON OK" || echo "RCON KO"

# Avec telnet
telnet localhost 25575

Vérifier les logs du serveur MC

# Dernières 50 lignes
tail -50 /path/to/mc-server/latest.log

# Rechercher les erreurs
grep ERROR /path/to/mc-server/latest.log

# Suivre en temps réel
tail -f /path/to/mc-server/latest.log

Vérifier si le port 3000 est utilisé

# Linux/Mac
lsof -i :3000

# Windows PowerShell
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess

# Tuer le processus (Linux/Mac)
kill -9 $(lsof -t -i :3000)

Réinitialiser Node.js

cd backend

# Supprimer node_modules
rm -rf node_modules
rm package-lock.json

# Réinstaller
npm install

# Redémarrer
npm start

Gestion des OPs

Ajouter un OP sur le serveur MC

/op NomdujoueurMC

Vérifier les OPs

# Fichier ops.txt
cat /path/to/mc-server/ops.txt

# Ou ops.json (Minecraft 1.8+)
cat /path/to/mc-server/ops.json

Backups

Créer un backup manuel

cd /path/to/mc-server

# Créer un tar.gz du serveur
tar -czf ../backup-$(date +%Y%m%d-%H%M%S).tar.gz .

# Avec exclusion de certains fichiers
tar -czf ../backup-$(date +%Y%m%d-%H%M%S).tar.gz \
  --exclude='*.log' \
  --exclude='cache' \
  --exclude='.web-admin' \
  .

Restaurer un backup

# Arrêter le serveur d'abord!
./stop.sh

# Restaurer
cd /backup/location
tar -xzf backup-file.tar.gz -C /path/to/mc-server

# Redémarrer
cd /path/to/mc-server
./start.sh

Logs et Monitoring

Voir les logs backend en temps réel

cd backend
npm start

Voir les logs RCON (historique des commandes)

cat /path/to/mc-server/.web-admin/rcon-history.json

Nettoyer les vieux logs

# Supprimer les logs de plus de 30 jours
find /path/to/mc-server -name "*.log" -mtime +30 -delete

Variables d'Environnement

Changer le port

# backend/.env
PORT=8080

Changer le répertoire du serveur

# backend/.env
SERVER_DIR=/path/to/other/mc-server

Changer les identifiants RCON

# backend/.env
RCON_HOST=192.168.1.100
RCON_PORT=25576

Mise à Jour des Dépendances

Vérifier les mises à jour disponibles

cd backend
npm outdated

Mettre à jour les dépendances

cd backend
npm update

Mettre à jour une dépendance spécifique

cd backend
npm install express@latest

Sécurité

Changer le SESSION_SECRET

# Générer une nouvelle clé
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

# Mettre à jour dans backend/.env
SESSION_SECRET=<nouvelle-cle-generee>

# Redémarrer l'application

Changer le mot de passe RCON

# Via l'interface web: Dashboard → Changer RCON
# Ou éditer manuellement server.properties:
rcon.password=NewPassword123

# Redémarrer le serveur MC

Performance

Vérifier l'utilisation mémoire Node.js

ps aux | grep node

# Linux avec plus de détails
ps -eo pid,vsz,rss,comm | grep node

Nettoyer les fichiers temporaires

cd backend
rm -rf node_modules
npm install

Troubleshooting

L'application démarre mais l'interface ne charge pas

# Vérifier que le frontend est bien servi
curl http://localhost:3000/
# Doit retourner l'HTML

# Vérifier la console du navigateur (F12) pour les erreurs

Les commandes RCON n'exécutent pas

# Vérifier que RCON est activé
grep "enable-rcon" /path/to/mc-server/server.properties
# Doit être: enable-rcon=true

# Vérifier le mot de passe RCON
grep "rcon.password" /path/to/mc-server/server.properties

# Tester RCON directement
echo "say Test" | nc localhost 25575

Base de données de sessions corruptée

# Supprimer les sessions
rm -rf backend/sessions/*

# Redémarrer l'application
./start.sh

Commandes Minecraft Utiles

Via la console web

/list                       # Liste les joueurs
/say @a Message            # Message à tous
/tp @p @s                  # Téléporter
/weather clear             # Météo
/time set day              # Heure
/gamerule <règle>          # Game rules
/difficulty 3              # Difficulté
/seed                      # Seed du monde
/spawnpoint @p 0 100 0    # Spawnpoint

Scripts Automatisés

Script de backup automatique

#!/bin/bash
# save-mc-backup.sh

SERVER_DIR="/path/to/mc-server"
BACKUP_DIR="$SERVER_DIR/backups"

mkdir -p "$BACKUP_DIR"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/backup_$DATE.tar.gz"

cd "$SERVER_DIR"
tar -czf "$BACKUP_FILE" \
  --exclude='*.log' \
  --exclude='cache' \
  --exclude='.web-admin' \
  .

echo "Backup créé: $BACKUP_FILE"

# À ajouter à crontab:
# 0 2 * * * /path/to/save-mc-backup.sh

Script de redémarrage programmé

#!/bin/bash
# restart-mc-server.sh

echo "Redémarrage du serveur MC dans 1 minute..."

# Via RCON
echo "say Redémarrage dans 1 minute!" | nc localhost 25575
sleep 30
echo "say 30 secondes!" | nc localhost 25575
sleep 20
echo "say 10 secondes!" | nc localhost 25575
sleep 10
echo "stop" | nc localhost 25575

sleep 5

# Redémarrer
cd /path/to/mc-server
./start.sh

Monitoring

Vérifier l'espace disque

# Espace utilisé par le serveur
du -sh /path/to/mc-server

# Espace libre
df -h /path/to/mc-server

Vérifier les processus Node.js

ps aux | grep node
# Ou
ps aux | grep npm

Vérifier les ports en écoute

netstat -tlnp | grep 3000  # Node.js
netstat -tlnp | grep 25575 # RCON
netstat -tlnp | grep 25565 # Serveur MC

💡 Astuce: Sauvegardez ces commandes pour un accès rapide!