Téléverser les fichiers vers "/"
This commit is contained in:
parent
7ad39b6d84
commit
3ed4c0bae9
80
datacentersim-server.service
Normal file
80
datacentersim-server.service
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# /etc/systemd/system/datacentersim-server.service
|
||||||
|
#
|
||||||
|
# Service systemd pour le serveur dedie DatacenterSim
|
||||||
|
# Apres modification : sudo systemctl daemon-reload
|
||||||
|
#
|
||||||
|
# Usage :
|
||||||
|
# sudo cp datacentersim-server.service /etc/systemd/system/
|
||||||
|
# sudo systemctl daemon-reload
|
||||||
|
# sudo systemctl enable datacentersim-server
|
||||||
|
# sudo systemctl start datacentersim-server
|
||||||
|
# sudo systemctl status datacentersim-server
|
||||||
|
# sudo journalctl -u datacentersim-server -f
|
||||||
|
#
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=DatacenterSim Dedicated Server
|
||||||
|
Documentation=https://github.com/YOUR_REPO/datacentersim
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
|
||||||
|
# Utilisateur et groupe dedies (a creer : sudo useradd -r -s /bin/false dcsim)
|
||||||
|
User=dcsim
|
||||||
|
Group=dcsim
|
||||||
|
|
||||||
|
# Repertoire de travail du serveur
|
||||||
|
WorkingDirectory=/opt/datacentersim-server
|
||||||
|
|
||||||
|
# Commande de lancement : adapte les arguments selon ton besoin
|
||||||
|
ExecStart=/opt/datacentersim-server/DatacenterSim-Server.x86_64 \
|
||||||
|
-server \
|
||||||
|
-port 7777 \
|
||||||
|
-servername "DC Dedicated Prod" \
|
||||||
|
-maxplayers 8 \
|
||||||
|
-mode sandbox \
|
||||||
|
-langue FR \
|
||||||
|
-masterurl https://dcsim.yeagerdan.com \
|
||||||
|
-batchmode \
|
||||||
|
-nographics \
|
||||||
|
-logFile /var/log/datacentersim-server.log
|
||||||
|
|
||||||
|
# Redemarrage automatique en cas de crash
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10s
|
||||||
|
|
||||||
|
# Timeout pour Stop : le serveur a besoin de temps pour se desenregistrer du master
|
||||||
|
TimeoutStopSec=15s
|
||||||
|
|
||||||
|
# Limitation ressources (optionnel, ajuste selon ta machine)
|
||||||
|
# CPUQuota=200% # max 2 coeurs
|
||||||
|
# MemoryMax=2G # max 2 Go RAM
|
||||||
|
# TasksMax=500
|
||||||
|
|
||||||
|
# Securite
|
||||||
|
NoNewPrivileges=true
|
||||||
|
ProtectSystem=strict
|
||||||
|
ProtectHome=true
|
||||||
|
ReadWritePaths=/opt/datacentersim-server /var/log
|
||||||
|
PrivateTmp=true
|
||||||
|
PrivateDevices=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
RestrictAddressFamilies=AF_INET AF_INET6
|
||||||
|
RestrictNamespaces=true
|
||||||
|
LockPersonality=true
|
||||||
|
RestrictRealtime=true
|
||||||
|
RestrictSUIDSGID=true
|
||||||
|
CapabilityBoundingSet=
|
||||||
|
AmbientCapabilities=
|
||||||
|
|
||||||
|
# Logs redirigees vers journald en plus du fichier
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
SyslogIdentifier=datacentersim
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
56
datacentersim-server@.service
Normal file
56
datacentersim-server@.service
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# /etc/systemd/system/datacentersim-server@.service
|
||||||
|
#
|
||||||
|
# Template pour lancer PLUSIEURS instances du serveur dedie sur la meme machine.
|
||||||
|
# Le parametre apres le @ est utilise comme nom d'instance ET comme port.
|
||||||
|
#
|
||||||
|
# Usage :
|
||||||
|
# sudo systemctl start datacentersim-server@7777
|
||||||
|
# sudo systemctl start datacentersim-server@7778
|
||||||
|
# sudo systemctl start datacentersim-server@7779
|
||||||
|
#
|
||||||
|
# sudo systemctl enable datacentersim-server@7777 # au boot
|
||||||
|
#
|
||||||
|
# sudo journalctl -u datacentersim-server@7777 -f # logs d'une instance
|
||||||
|
#
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=DatacenterSim Dedicated Server (port %i)
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=dcsim
|
||||||
|
Group=dcsim
|
||||||
|
WorkingDirectory=/opt/datacentersim-server
|
||||||
|
|
||||||
|
# %i est remplace par ce qu'on met apres le @
|
||||||
|
# Exemple : "systemctl start datacentersim-server@7778" -> %i = "7778"
|
||||||
|
ExecStart=/opt/datacentersim-server/DatacenterSim-Server.x86_64 \
|
||||||
|
-server \
|
||||||
|
-port %i \
|
||||||
|
-servername "DC Server #%i" \
|
||||||
|
-maxplayers 8 \
|
||||||
|
-mode sandbox \
|
||||||
|
-langue FR \
|
||||||
|
-masterurl https://dcsim.yeagerdan.com \
|
||||||
|
-batchmode \
|
||||||
|
-nographics \
|
||||||
|
-logFile /var/log/datacentersim-server-%i.log
|
||||||
|
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10s
|
||||||
|
TimeoutStopSec=15s
|
||||||
|
|
||||||
|
NoNewPrivileges=true
|
||||||
|
ProtectSystem=strict
|
||||||
|
ProtectHome=true
|
||||||
|
ReadWritePaths=/opt/datacentersim-server /var/log
|
||||||
|
PrivateTmp=true
|
||||||
|
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
SyslogIdentifier=datacentersim-%i
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
152
install-dedicated-server.sh
Normal file
152
install-dedicated-server.sh
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# install-dedicated-server.sh
|
||||||
|
# Script d'installation automatique du serveur dedie DatacenterSim sur Debian 13 / Ubuntu 22+
|
||||||
|
#
|
||||||
|
# Usage :
|
||||||
|
# sudo bash install-dedicated-server.sh [chemin-du-build]
|
||||||
|
#
|
||||||
|
# Exemple :
|
||||||
|
# sudo bash install-dedicated-server.sh ./DatacenterSim-Server-Linux/
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# CONFIGURATION
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
INSTALL_DIR="/opt/datacentersim-server"
|
||||||
|
SERVICE_USER="dcsim"
|
||||||
|
SERVICE_FILE="datacentersim-server.service"
|
||||||
|
TEMPLATE_FILE="datacentersim-server@.service"
|
||||||
|
LOG_DIR="/var/log"
|
||||||
|
BUILD_DIR="${1:-./DatacenterSim-Server-Linux}"
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# VERIFICATIONS
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
if [ "$EUID" -ne 0 ]; then
|
||||||
|
echo "Ce script doit etre lance avec sudo"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$BUILD_DIR" ]; then
|
||||||
|
echo "Erreur : dossier de build introuvable : $BUILD_DIR"
|
||||||
|
echo "Usage : sudo bash $0 [chemin-du-build]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$BUILD_DIR/DatacenterSim-Server.x86_64" ]; then
|
||||||
|
echo "Erreur : binaire DatacenterSim-Server.x86_64 introuvable dans $BUILD_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "════════════════════════════════════════════════════"
|
||||||
|
echo " Installation DatacenterSim Dedicated Server"
|
||||||
|
echo "════════════════════════════════════════════════════"
|
||||||
|
echo "Build source : $BUILD_DIR"
|
||||||
|
echo "Installation : $INSTALL_DIR"
|
||||||
|
echo "Utilisateur : $SERVICE_USER"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 1. DEPENDANCES
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[1/6] Installation des dependances runtime..."
|
||||||
|
apt-get update -qq
|
||||||
|
apt-get install -y libstdc++6 libgcc-s1 ca-certificates ufw
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 2. UTILISATEUR DEDIE
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[2/6] Creation de l'utilisateur $SERVICE_USER..."
|
||||||
|
if ! id "$SERVICE_USER" &>/dev/null; then
|
||||||
|
useradd -r -s /bin/false -d "$INSTALL_DIR" "$SERVICE_USER"
|
||||||
|
echo " ✓ Utilisateur $SERVICE_USER cree"
|
||||||
|
else
|
||||||
|
echo " ✓ Utilisateur $SERVICE_USER existe deja"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 3. COPIE DES FICHIERS
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[3/6] Copie du build vers $INSTALL_DIR..."
|
||||||
|
mkdir -p "$INSTALL_DIR"
|
||||||
|
|
||||||
|
# Si une install existe deja, backup
|
||||||
|
if [ -f "$INSTALL_DIR/DatacenterSim-Server.x86_64" ]; then
|
||||||
|
BACKUP="$INSTALL_DIR.backup-$(date +%Y%m%d-%H%M%S)"
|
||||||
|
echo " Une install existe deja, backup vers $BACKUP"
|
||||||
|
mv "$INSTALL_DIR" "$BACKUP"
|
||||||
|
mkdir -p "$INSTALL_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -r "$BUILD_DIR"/* "$INSTALL_DIR/"
|
||||||
|
chmod +x "$INSTALL_DIR/DatacenterSim-Server.x86_64"
|
||||||
|
chown -R "$SERVICE_USER:$SERVICE_USER" "$INSTALL_DIR"
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 4. SERVICE SYSTEMD
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[4/6] Installation du service systemd..."
|
||||||
|
|
||||||
|
if [ -f "$SERVICE_FILE" ]; then
|
||||||
|
cp "$SERVICE_FILE" /etc/systemd/system/
|
||||||
|
echo " ✓ $SERVICE_FILE installe"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$TEMPLATE_FILE" ]; then
|
||||||
|
cp "$TEMPLATE_FILE" /etc/systemd/system/
|
||||||
|
echo " ✓ $TEMPLATE_FILE installe"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Creation du fichier log avec bons droits
|
||||||
|
touch /var/log/datacentersim-server.log
|
||||||
|
chown "$SERVICE_USER:$SERVICE_USER" /var/log/datacentersim-server.log
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 5. FIREWALL
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[5/6] Configuration du firewall..."
|
||||||
|
if ufw status | grep -q "Status: active"; then
|
||||||
|
ufw allow 7777/udp comment "DatacenterSim"
|
||||||
|
echo " ✓ Port 7777/udp autorise"
|
||||||
|
else
|
||||||
|
echo " - UFW non actif, aucune regle ajoutee"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
# 6. RECAP
|
||||||
|
# ═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
echo "[6/6] Installation terminee !"
|
||||||
|
echo ""
|
||||||
|
echo "════════════════════════════════════════════════════"
|
||||||
|
echo " PROCHAINES ETAPES"
|
||||||
|
echo "════════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
echo "1. Verifier / editer la configuration :"
|
||||||
|
echo " sudo nano /etc/systemd/system/$SERVICE_FILE"
|
||||||
|
echo ""
|
||||||
|
echo "2. Activer le service au boot :"
|
||||||
|
echo " sudo systemctl enable datacentersim-server"
|
||||||
|
echo ""
|
||||||
|
echo "3. Demarrer le serveur :"
|
||||||
|
echo " sudo systemctl start datacentersim-server"
|
||||||
|
echo ""
|
||||||
|
echo "4. Suivre les logs en direct :"
|
||||||
|
echo " sudo journalctl -u datacentersim-server -f"
|
||||||
|
echo ""
|
||||||
|
echo "5. Verifier le status :"
|
||||||
|
echo " sudo systemctl status datacentersim-server"
|
||||||
|
echo ""
|
||||||
|
echo "Bon jeu ! 🚀"
|
||||||
Loading…
x
Reference in New Issue
Block a user