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