U3Games

Lineage II | Desarrollo & Soporte => Desarrollo de Servidores => Implementaciones => Mensaje iniciado por: Swarlog en Sep 01, 2022, 12:34 AM

Título: Script arranque automático en linux
Publicado por: Swarlog en Sep 01, 2022, 12:34 AM
Edito éste primer post por ver que efectivamente no está muy claro lo que he tratado de compartir. Bien, se trata de un script (VALIDO SOLO PARA LINUX, para windows no sirve) que permite arrancar, parar o reiniciar el login y el gameserver con tan solo un comando.

Es tan buenísimo éste script que ustedes si tienen la máquina parada y la arrancan no tienen que hacer nada, puesto que el script se encarga por sí mismo de ponerles el server online.

En su consola de linux, ustedes escriben:

Para iniciar.  Inicia el LoginServer y el GameServer y sus procesos java asociados, mirando que antes no lo estén ya. sudo /etc/init.d/l2jserver start o sudo service l2jserver stopPara parar. Para el LoginServer y el GameServer y los procesos java asociados. sudo /etc/init.d/l2jserver stop o sudo service l2jserver stopPara reiniciar. Primero para el LoginServer y el GameServer y los procesos java asociados y después los inicia de nuevo.sudo /etc/init.d/l2jserver restart o sudo service l2jsever restart
La guia de instalación es ésta y perdonen que esté en inglés, pero es que no la he traducido de mi snippet.
sudo chmod 775 l2jserversudo chown root:root l2jserversudo mv ~/l2jserver /etc/init.d/l2jserversudo update-rc.d l2jserver defaults
El nombre del fichero ha de ser l2jserver (tal cual, sin extensión) y deberá estar en formato UNIX. El contenido del fichero será éste:
#!/bin/sh
### BEGIN INIT INFO
# Provides: L2J_Server
# Required-Start: $syslog mysql
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script to start/stop/restart L2J_Server
### END INIT INFO
# Change xxxx with your home directory server. Absolute path.
base=/home/xxxx/l2jserver
start_l2j() {
if [ -n "$(pgrep -f GameServer_loop.sh)" -o "$(pgrep -f l2jserver.gameserver)" -o "$(pgrep -f LoginServer_loop.sh)" -o "$(pgrep -f l2jserver.loginserver)" ]; then
echo ============================================================
echo Try first to stop all L2J server scripts and java processes.
echo Use stop/restart command.
echo ============================================================
else
cd ${base}/login
./startLoginServer.sh
cd ${base}/game
./startGameServer.sh
echo =======================================================
echo Game Server processes started.
echo You have to wait about 100 sec or more to be operable.
echo Give next command to see progress:
echo tail -f ${base}/game/log/stdout.log
echo Stop tail command with CTRL-C
echo =======================================================
fi
}
stop_l2j() {
#Stop Game Server script and java
if [ -n "$(pgrep -f GameServer_loop.sh)" ]; then
pkill -f GameServer_loop.sh
echo Game Server Script stopped
else
echo ==================================
echo Game Server Script is not running!
echo ==================================
fi
if [ -n "$(pgrep -f gameserver)" ]; then
pkill -f gameserver
echo Waiting for Game Java Server to exit...
i=1
while [ -n "$(pgrep -f gameserver)" ]
do
sleep 1
i=$((i+1))
done
echo Game java server stopped in $i sec
else
echo ================================
echo Game java server is not running!
echo ================================
fi
#Stop login server script and java
if [ -n "$(pgrep -f LoginServer_loop.sh)" ]; then
pkill -f LoginServer_loop.sh
echo Login Server Script stopped
else
echo ===================================
echo Login Server Script is not running!
echo ===================================
fi
if [ -n "$(pgrep -f loginserver)" ]; then
pkill -f loginserver
echo Waiting for Login Java Server to exit...
i=1
while [ -n "$(pgrep -f loginserver)" ]
do
sleep 1
i=$((i+1))
done
echo Login java server stopped in $i sec
else
echo =================================
echo Login Java Server is not running!
echo =================================
fi
}
case "$1" in
start)
start_l2j
;;
stop)
stop_l2j
;;
restart)
stop_l2j
start_l2j
;;
*)
echo "Usage: $0 start|stop|restart" >&2
exit 3
;;
esac