zlh-agent/scripts/install-agent.sh
2025-12-13 20:54:18 +00:00

68 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "==============================="
echo " Installing ZeroLagHub Agent"
echo "==============================="
AGENT_DIR="/opt/zlh-agent"
BIN_PATH="$AGENT_DIR/zlh-agent"
SERVICE_PATH="/etc/systemd/system/zlh-agent.service"
echo "[1/6] Creating folders..."
mkdir -p $AGENT_DIR
mkdir -p /opt/zlh/server
mkdir -p /opt/zlh/java
echo "[2/6] Copying agent binary..."
if [ ! -f ./zlh-agent ]; then
echo "ERROR: No zlh-agent binary found in current directory!"
exit 1
fi
cp ./zlh-agent $BIN_PATH
chmod +x $BIN_PATH
echo "[3/6] Installing systemd service..."
cat <<EOF > $SERVICE_PATH
[Unit]
Description=ZeroLagHub Game Provisioning Agent
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=$AGENT_DIR
ExecStart=$BIN_PATH
Restart=always
RestartSec=2
Environment=ZLH_AGENT_PORT=18888
Environment=ZLH_AGENT_ENV=production
LimitNPROC=infinity
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
echo "[4/6] Reloading systemd..."
systemctl daemon-reload
echo "[5/6] Enabling & starting service..."
systemctl enable zlh-agent
systemctl restart zlh-agent
echo "[6/6] Verifying agent..."
sleep 1
if systemctl is-active --quiet zlh-agent; then
echo "✔ Agent is running"
else
echo "✖ Agent failed to start"
journalctl -u zlh-agent --no-pager
exit 1
fi
echo "Agent installation complete!"
echo "==============================="