#!/bin/sh
#
#  install.sh - Neoria serverfiles
#  FreeBSD 12.4 i386 / MySQL 5.7 / MartySama (start.sh, 4 channels + game99)
#  Rulat de svfile. Variabile primite: BASE_URL, PACK_ID, PACK_NAME
#
set -e
BASE_URL="${BASE_URL:-http://files.enixserver.ro/metin2/neoria}"
GAMEDIR="/usr/game"
TS=$(date +%s 2>/dev/null || echo bak)

echo ">> [Neoria] 1/5 Descarc fisierele..."
cd /root
fetch -q -o game.tar.gz  "$BASE_URL/game.tar.gz"
fetch -q -o mysql.tar.gz "$BASE_URL/mysql.tar.gz"

echo ">> [Neoria] 2/5 Configurez baza de date (MySQL)..."
service mysql-server stop 2>/dev/null || service mysql-server onestop 2>/dev/null || true
pkill -9 mysqld 2>/dev/null || true
sleep 2
if [ -d /var/db/mysql ]; then mv /var/db/mysql "/var/db/mysql.old.$TS"; fi
mkdir -p /var/db/mysql
rm -rf /root/mysql
tar xzf /root/mysql.tar.gz -C /root
mv /root/mysql/* /var/db/mysql/
chown -R mysql:mysql /var/db/mysql
sysrc mysql_enable=YES >/dev/null 2>&1
service mysql-server start
sleep 6

echo ">> [Neoria] 3/5 Extrag server files in $GAMEDIR..."
if [ -d "$GAMEDIR" ]; then mv "$GAMEDIR" "${GAMEDIR}.old.$TS"; fi
cd /usr
tar xzf /root/game.tar.gz
chmod -R 755 "$GAMEDIR"

echo ">> [Neoria] 4/5 Configurez IP-ul serverului..."
IP=$(ifconfig vtnet0 2>/dev/null | grep 'inet ' | awk '{print $2}' | head -1)
[ -z "$IP" ] && IP=$(ifconfig 2>/dev/null | grep 'inet ' | grep -v '127.0.0.1' | head -1 | awk '{print $2}')
CNT=0
for f in $(find "$GAMEDIR" -type f -name '*CONFIG' 2>/dev/null; find "$GAMEDIR" -type f -name 'CONFIG' 2>/dev/null); do
    if grep -q '^PUBLIC_IP:' "$f" 2>/dev/null; then
        sed -i '' "s/^PUBLIC_IP:.*/PUBLIC_IP: $IP/" "$f"
        CNT=$((CNT+1))
    fi
done
echo "   IP setat: $IP  ($CNT fisiere config actualizate)"

echo ">> [Neoria] 5/5 Curatenie..."
rm -f /root/game.tar.gz /root/mysql.tar.gz
rm -rf /root/mysql

echo ""
echo "  ============================================================"
echo "   Neoria instalat cu succes!"
echo "   IP server : $IP"
echo "   MySQL     : user=kasyro (baza vine preconfigurata)"
echo ""
echo "   Porneste serverul:"
echo "     cd $GAMEDIR && ./start.sh"
echo "   (alege cate channel-uri deschizi: 1-4)"
echo "  ============================================================"
echo ""
