Selaa lähdekoodia

BETA: Converting line endings in database_installer.sh from windows to UNIX format.

Nos 11 vuotta sitten
vanhempi
sitoutus
e4d93de820
1 muutettua tiedostoa jossa 540 lisäystä ja 540 poistoa
  1. 540 540
      L2J_DataPack_BETA/dist/tools/database_installer.sh

+ 540 - 540
L2J_DataPack_BETA/dist/tools/database_installer.sh

@@ -1,541 +1,541 @@
-#!/bin/bash
-##########################################################################
-## Copyright (C) 2004-2013 L2J DataPack                                 ##
-##                                                                      ##
-## This file is part of L2J DataPack.                                   ##
-##                                                                      ##
-## L2J DataPack is free software: you can redistribute it and/or modify ##
-## it under the terms of the GNU General Public License as published by ##
-## the Free Software Foundation, either version 3 of the License, or    ##
-## (at your option) any later version.                                  ##
-##                                                                      ##
-## L2J DataPack is distributed in the hope that it will be useful,      ##
-## but WITHOUT ANY WARRANTY; without even the implied warranty of       ##
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     ##
-## General Public License for more details.                             ##
-##                                                                      ##
-## You should have received a copy of the GNU General Public License    ##
-## along with this program. If not, see <http://www.gnu.org/licenses/>. ##
-##########################################################################
-## WARNING!  WARNING!  WARNING!  WARNING! ##
-##                                        ##
-## DON'T USE NOTEPAD TO CHANGE THIS FILE  ##
-## INSTEAD USE SOME DECENT TEXT EDITOR.   ##
-## NEWLINE CHARACTERS DIFFER BETWEEN DOS/ ##
-## WINDOWS AND UNIX.                      ##
-##                                        ##
-## USING NOTEPAD TO SAVE THIS FILE WILL   ##
-## LEAVE IT IN A BROKEN STATE!!!          ##
-############################################
-## Writen by DrLecter                     ##
-## License: GNU GPL                       ##
-## Based on Tiago Tagliaferri's script    ##
-## E-mail: tiago_tagliaferri@msn.com      ##
-## From "L2J-DataPack"                    ##
-## Bug reports: http://trac.l2jdp.com/    ##
-############################################
-trap finish 2
-
-configure() {
-echo "#############################################"
-echo "# You entered script configuration area     #"
-echo "# No change will be performed in your DB    #"
-echo "# I will just ask you some questions about  #"
-echo "# your hosts and DB.                        #"
-echo "#############################################"
-MYSQLDUMPPATH=`which -a mysqldump 2>/dev/null`
-MYSQLPATH=`which -a mysql 2>/dev/null`
-if [ $? -ne 0 ]; then
-echo "We were unable to find MySQL binaries on your path"
-while :
- do
-  echo -ne "\nPlease enter MySQL binaries directory (no trailing slash): "
-  read MYSQLBINPATH
-    if [ -e "$MYSQLBINPATH" ] && [ -d "$MYSQLBINPATH" ] && \
-       [ -e "$MYSQLBINPATH/mysqldump" ] && [ -e "$MYSQLBINPATH/mysql" ]; then
-       MYSQLDUMPPATH="$MYSQLBINPATH/mysqldump"
-       MYSQLPATH="$MYSQLBINPATH/mysql"
-       break
-    else
-       echo "The data you entered is invalid. Please verify and try again."
-       exit 1
-    fi
- done
-fi
-#LS
-echo -ne "\nPlease enter MySQL Login Server hostname (default localhost): "
-read LSDBHOST
-if [ -z "$LSDBHOST" ]; then
-  LSDBHOST="localhost"
-fi
-echo -ne "\nPlease enter MySQL Login Server database name (default l2jls): "
-read LSDB
-if [ -z "$LSDB" ]; then
-  LSDB="l2jls"
-fi
-echo -ne "\nPlease enter MySQL Login Server user (default root): "
-read LSUSER
-if [ -z "$LSUSER" ]; then
-  LSUSER="root"
-fi
-echo -ne "\nPlease enter MySQL Login Server $LSUSER's password (won't be displayed) :"
-stty -echo
-read LSPASS
-stty echo
-echo ""
-if [ -z "$LSPASS" ]; then
-  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
-elif [ "$LSUSER" == "$LSPASS" ]; then
-  echo "You're not too brilliant choosing passwords huh?"
-fi
-#CB
-echo -ne "\nPlease enter MySQL Community Server hostname (default localhost): "
-read CBDBHOST
-if [ -z "$CBDBHOST" ]; then
-  CBDBHOST="localhost"
-fi
-echo -ne "\nPlease enter MySQL Community Server database name (default l2jcs): "
-read CBDB
-if [ -z "$CBDB" ]; then
-  CBDB="l2jcs"
-fi
-echo -ne "\nPlease enter MySQL Community Server user (default root): "
-read CBUSER
-if [ -z "$CBUSER" ]; then
-  CBUSER="root"
-fi
-echo -ne "\nPlease enter MySQL Community Server $CBUSER's password (won't be displayed) :"
-stty -echo
-read CBPASS
-stty echo
-echo ""
-if [ -z "$CBPASS" ]; then
-  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
-elif [ "$CBUSER" == "$CBPASS" ]; then
-  echo "You're not too brilliant choosing passwords huh?"
-fi
-#GS
-echo -ne "\nPlease enter MySQL Game Server hostname (default $LSDBHOST): "
-read GSDBHOST
-if [ -z "$GSDBHOST" ]; then
-  GSDBHOST="localhost"
-fi
-echo -ne "\nPlease enter MySQL Game Server database name (default l2jgs): "
-read GSDB
-if [ -z "$GSDB" ]; then
-  GSDB="l2jgs"
-fi
-echo -ne "\nPlease enter MySQL Game Server user (default $LSUSER): "
-read GSUSER
-if [ -z "$GSUSER" ]; then
-  GSUSER="root"
-fi
-echo -ne "\nPlease enter MySQL Game Server $GSUSER's password (won't be displayed): "
-stty -echo
-read GSPASS
-stty echo
-echo ""
-if [ -z "$GSPASS" ]; then
-  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
-elif [ "$GSUSER" == "$GSPASS" ]; then
-  echo "You're not too brilliant choosing passwords huh?"
-fi
-save_config $1
-}
-
-save_config() {
-if [ -n "$1" ]; then
-CONF="$1"
-else 
-CONF="database_installer.rc"
-fi
-echo ""
-echo "With these data I can generate a configuration file which can be read"
-echo "on future updates. WARNING: this file will contain clear text passwords!"
-echo -ne "Shall I generate config file $CONF? (Y/n):"
-read SAVE
-if [ "$SAVE" == "y" -o "$SAVE" == "Y" -o "$SAVE" == "" ];then 
-cat <<EOF>$CONF
-#Configuration settings for L2J-Datapack database installer script
-MYSQLDUMPPATH=$MYSQLDUMPPATH
-MYSQLPATH=$MYSQLPATH
-LSDBHOST=$LSDBHOST
-LSDB=$LSDB
-LSUSER=$LSUSER
-LSPASS=$LSPASS
-CBDBHOST=$CBDBHOST
-CBDB=$CBDB
-CBUSER=$CBUSER
-CBPASS=$CBPASS
-GSDBHOST=$GSDBHOST
-GSDB=$GSDB
-GSUSER=$GSUSER
-GSPASS=$GSPASS
-EOF
-chmod 600 $CONF
-echo "Configuration saved as $CONF"
-echo "Permissions changed to 600 (rw- --- ---)"
-elif [ "$SAVE" != "n" -a "$SAVE" != "N" ]; then
-  save_config
-fi
-}
-
-load_config() {
-if [ -n "$1" ]; then
-CONF="$1"
-else 
-CONF="database_installer.rc"
-fi
-if [ -e "$CONF" ] && [ -f "$CONF" ]; then
-. $CONF
-else
-echo "Settings file not found: $CONF"
-echo "You can specify an alternate settings filename:"
-echo $0 config_filename
-echo ""
-echo "If file doesn't exist it can be created"
-echo "If nothing is specified script will try to work with ./database_installer.rc"
-echo ""
-configure $CONF
-fi
-}
-
-ls_backup(){
-while :
-  do
-   clear
-   echo ""
-   echo -ne "Do you want to make a backup copy of your LSDB? (y/n): "
-   read LSB
-   if [ "$LSB" == "Y" -o "$LSB" == "y" ]; then
-     echo "Trying to make a backup of your Login Server DataBase."
-     $MYSQLDUMPPATH --add-drop-table -h $LSDBHOST -u $LSUSER --password=$LSPASS $LSDB > ls_backup.sql
-     if [ $? -ne 0 ];then
-        clear
-		echo ""
-        echo "There was a problem accesing your LS database, either it wasnt created or authentication data is incorrect."
-        exit 1
-     fi
-     break
-   elif [ "$LSB" == "n" -o "$LSB" == "N" ]; then 
-     break
-   fi
-  done 
-ls_ask
-}
-
-ls_ask(){
-clear
-echo ""
-echo "LOGINSERVER DATABASE install type:"
-echo ""
-echo "(f) Full: WARNING! I'll destroy ALL of your existing login"
-echo "    data."
-echo ""
-echo "(u) Upgrade: I'll do my best to preserve all login data."
-echo ""
-echo "(s) Skip: I'll take you to the communityserver database"
-echo "    installation and upgrade options."
-echo ""
-echo "(q) Quit"
-echo ""
-echo -ne "LOGINSERVER DB install type: "
-read LSASK
-case "$LSASK" in
-	"f"|"F") ls_cleanup I;;
-	"u"|"U") ls_upgrade U;;
-	"s"|"S") cs_backup;;
-	"q"|"Q") finish;;
-	*) ls_ask;;
-esac
-}
-
-ls_cleanup(){
-clear
-echo "Deleting Login Server tables for new content."
-$MYL < ls_cleanup.sql
-ls_install
-}
-
-ls_upgrade(){
-clear
-echo ""
-echo "Upgrading structure of Login Server tables."
-echo ""
-for file in $(ls ../sql/login/updates/*.sql);do
-	$MYL --force < $file 2>> ls_error.log
-done
-ls_install
-}
-
-ls_install(){
-clear
-if [ "$1" == "I" ]; then 
-echo ""
-echo "Installing new Login Server content."
-echo ""
-else
-echo ""
-echo "Upgrading Login Server content."
-echo ""
-fi
-for login in $(ls ../sql/login/*.sql);do
-	echo "Installing loginserver table : $login"
-	$MYL < $login
-done
-cs_ask
-}
-
-cs_backup(){
-while :
-  do
-   clear
-   echo ""
-   echo -ne "Do you want to make a backup copy of your CBDB? (y/n): "
-   read CSB
-   if [ "$CSB" == "Y" -o "$CSB" == "y" ]; then
-     echo "Trying to make a backup of your Community Server DataBase."
-     $MYSQLDUMPPATH --add-drop-table -h $CBDBHOST -u $CBUSER --password=$CBPASS $CBDB > cs_backup.sql
-     if [ $? -ne 0 ];then
-     clear
-	 echo ""
-     echo "There was a problem accesing your CB database, either it wasnt created or authentication data is incorrect."
-     exit 1
-     fi
-     break
-   elif [ "$CSB" == "n" -o "$CSB" == "N" ]; then 
-     break
-   fi
-  done 
-cs_ask
-}
-
-cs_ask(){
-clear
-echo ""
-echo "COMMUNITY SERVER DATABASE install type:"
-echo ""
-echo "(f) Full: WARNING! I'll destroy ALL of your existing community"
-echo "    data (i really mean it: mail, forum, memo.. ALL)"
-echo ""
-echo "(u) Upgrade: I'll do my best to preserve all of your community"
-echo "    data."
-echo ""
-echo "(s) Skip: I'll take you to the gameserver database"
-echo "    installation and upgrade options."
-echo ""
-echo "(q) Quit"
-echo ""
-echo -ne "COMMUNITYSERVER DB install type: "
-read CSASK
-case "$CSASK" in
-	"f"|"F") cs_cleanup I;;
-	"u"|"U") cs_upgrade U;;
-	"s"|"S") gs_backup;;
-	"q"|"Q") finish;;
-	*) cs_ask;;
-esac
-}
-
-cs_cleanup(){
-clear
-echo "Deleting Community Server tables for new content."
-$MYC < cs_cleanup.sql
-cs_install
-}
-
-cs_upgrade(){
-clear
-echo ""
-echo "Upgrading structure of Community Server tables."
-echo ""
-for file in $(ls ../sql/community/updates/*sql);do
-	$MYC --force < $file 2>> cs_error.log
-done
-cs_install
-}
-
-cs_install(){
-clear
-if [ "$1" == "I" ]; then 
-echo ""
-echo "Installing new Community Server content."
-echo ""
-else
-echo ""
-echo "Upgrading Community Server content."
-echo ""
-fi
-for cb in $(ls ../sql/community/*.sql);do
-	echo "Installing Communityserver table : $cb"
-	$MYC < $cb
-done
-gs_ask
-}
-
-gs_backup(){
-while :
-  do
-   clear
-   echo ""
-   echo -ne "Do you want to make a backup copy of your GSDB? (y/n): "
-   read GSB
-   if [ "$GSB" == "Y" -o "$GSB" == "y" ]; then
-     echo "Trying to create a Game Server DataBase."
-     $MYSQLDUMPPATH --add-drop-table -h $GSDBHOST -u $GSUSER --password=$GSPASS $GSDB > gs_backup.sql
-     if [ $? -ne 0 ];then
-	 clear
-     echo ""
-     echo "There was a problem accesing your GS database, either it wasnt created or authentication data is incorrect."
-     exit 1
-     fi
-     break
-   elif [ "$GSB" == "n" -o "$GSB" == "N" ]; then 
-     break
-   fi
-  done 
-gs_ask
-}
-
-gs_ask(){
-clear
-echo ""
-echo "GAME SERVER DATABASE install:"
-echo ""
-echo "(f) Full: WARNING! I'll destroy ALL of your existing character"
-echo "    data (i really mean it: items, pets.. ALL)"
-echo ""
-echo "(u) Upgrade: I'll do my best to preserve all of your character"
-echo "    data."
-echo ""
-echo "(s) Skip: We'll get into the last set of questions (cummulative"
-echo "    updates, custom stuff...)"
-echo ""
-echo "(q) Quit"
-echo ""
-echo -ne "GAMESERVER DB install type: "
-read GSASK
-case "$GSASK" in
-	"f"|"F") gs_cleanup I;;
-	"u"|"U") gs_upgrade U;;
-	"s"|"S") custom_ask;;
-	"q"|"Q") finish;;
-	*) gs_ask;;
-esac
-}
-
-gs_cleanup(){
-clear
-echo "Deleting all Game Server tables for new content."
-$MYG < gs_cleanup.sql
-gs_install
-}
-
-gs_upgrade(){
-clear
-echo ""
-echo "Upgrading structure of Game Server tables (this could take awhile, be patient)"
-echo ""
-for file in $(ls ../sql/game/updates/*.sql);do
-	$MYG --force < $file 2>> gs_error.log
-done
-gs_install
-}
-
-gs_install(){
-clear
-if [ "$1" == "I" ]; then 
-echo ""
-echo "Installing new Game Server content."
-echo ""
-else
-echo ""
-echo "Upgrading Game Server content."
-echo ""
-fi
-for gs in $(ls ../sql/game/*.sql);do
-	echo "Installing GameServer table : $gs"
-	$MYG < $gs
-done
-custom_ask
-}
-
-custom_ask(){
-clear
-echo ""
-echo "L2J provides some Custom Server Tables for non-retail modifications"
-echo "in order to avoid override the original Server Tables."
-echo ""
-echo "Remember that in order to get these additions actually working"
-echo "you need to edit your configuration files."
-echo ""
-echo -ne "Install Custom Server Tables: (y) yes or (n) no ?"
-read CSASK
-case "$CSASK" in
-	"y"|"Y") custom_install;;
-	"n"|"N") mod_ask;;
-	*) custom_ask;;
-esac
-}
-
-custom_install(){
-clear
-echo ""
-echo "Installing Custom content."
-for custom in $(ls ../sql/game/custom/*.sql);do 
-	echo "Installing custom table: $custom"
-	$MYG < $custom
-done
-clear
-mod_ask
-}
-
-mod_ask(){
-clear
-echo ""
-echo "L2J provides a basic infraestructure for some non-retail features"
-echo "(aka L2J mods) to get enabled with a minimum of changes."
-echo ""
-echo "Some of these mods would require extra tables in order to work"
-echo "and those tables could be created now if you wanted to."
-echo ""
-echo "Remember that in order to get these additions actually working"
-echo "you need to edit your configuration files."
-echo ""
-echo -ne "Install Mod Server Tables: (y) yes or (n) no ?"
-read MDASK
-case "$MDASK" in
-	"y"|"Y") mod_install;;
-	"n"|"N") finish;;
-	*) mod_ask;;
-esac
-}
-
-mod_install(){
-clear
-echo ""
-echo "Installing Mods content."
-for mod in $(ls ../sql/game/mods/*.sql);do
-	echo "Installing custom mod table : $mod"
-	$MYG < $mod
-done
-clear
-finish
-}
-
-finish(){
-clear
-echo "L2JDP Database Installer"
-echo ""
-echo "Thanks for using our software."
-echo "visit http://www.l2jdp.com for more info about"
-echo "the L2J DataPack Project."
-exit 0
-}
-
-clear
-load_config $1
-MYL="$MYSQLPATH -h $LSDBHOST -u $LSUSER --password=$LSPASS -D $LSDB"
-MYG="$MYSQLPATH -h $GSDBHOST -u $GSUSER --password=$GSPASS -D $GSDB"
-MYC="$MYSQLPATH -h $CBDBHOST -u $CBUSER --password=$CBPASS -D $CBDB"
+#!/bin/bash
+##########################################################################
+## Copyright (C) 2004-2013 L2J DataPack                                 ##
+##                                                                      ##
+## This file is part of L2J DataPack.                                   ##
+##                                                                      ##
+## L2J DataPack is free software: you can redistribute it and/or modify ##
+## it under the terms of the GNU General Public License as published by ##
+## the Free Software Foundation, either version 3 of the License, or    ##
+## (at your option) any later version.                                  ##
+##                                                                      ##
+## L2J DataPack is distributed in the hope that it will be useful,      ##
+## but WITHOUT ANY WARRANTY; without even the implied warranty of       ##
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     ##
+## General Public License for more details.                             ##
+##                                                                      ##
+## You should have received a copy of the GNU General Public License    ##
+## along with this program. If not, see <http://www.gnu.org/licenses/>. ##
+##########################################################################
+## WARNING!  WARNING!  WARNING!  WARNING! ##
+##                                        ##
+## DON'T USE NOTEPAD TO CHANGE THIS FILE  ##
+## INSTEAD USE SOME DECENT TEXT EDITOR.   ##
+## NEWLINE CHARACTERS DIFFER BETWEEN DOS/ ##
+## WINDOWS AND UNIX.                      ##
+##                                        ##
+## USING NOTEPAD TO SAVE THIS FILE WILL   ##
+## LEAVE IT IN A BROKEN STATE!!!          ##
+############################################
+## Writen by DrLecter                     ##
+## License: GNU GPL                       ##
+## Based on Tiago Tagliaferri's script    ##
+## E-mail: tiago_tagliaferri@msn.com      ##
+## From "L2J-DataPack"                    ##
+## Bug reports: http://trac.l2jdp.com/    ##
+############################################
+trap finish 2
+
+configure() {
+echo "#############################################"
+echo "# You entered script configuration area     #"
+echo "# No change will be performed in your DB    #"
+echo "# I will just ask you some questions about  #"
+echo "# your hosts and DB.                        #"
+echo "#############################################"
+MYSQLDUMPPATH=`which -a mysqldump 2>/dev/null`
+MYSQLPATH=`which -a mysql 2>/dev/null`
+if [ $? -ne 0 ]; then
+echo "We were unable to find MySQL binaries on your path"
+while :
+ do
+  echo -ne "\nPlease enter MySQL binaries directory (no trailing slash): "
+  read MYSQLBINPATH
+    if [ -e "$MYSQLBINPATH" ] && [ -d "$MYSQLBINPATH" ] && \
+       [ -e "$MYSQLBINPATH/mysqldump" ] && [ -e "$MYSQLBINPATH/mysql" ]; then
+       MYSQLDUMPPATH="$MYSQLBINPATH/mysqldump"
+       MYSQLPATH="$MYSQLBINPATH/mysql"
+       break
+    else
+       echo "The data you entered is invalid. Please verify and try again."
+       exit 1
+    fi
+ done
+fi
+#LS
+echo -ne "\nPlease enter MySQL Login Server hostname (default localhost): "
+read LSDBHOST
+if [ -z "$LSDBHOST" ]; then
+  LSDBHOST="localhost"
+fi
+echo -ne "\nPlease enter MySQL Login Server database name (default l2jls): "
+read LSDB
+if [ -z "$LSDB" ]; then
+  LSDB="l2jls"
+fi
+echo -ne "\nPlease enter MySQL Login Server user (default root): "
+read LSUSER
+if [ -z "$LSUSER" ]; then
+  LSUSER="root"
+fi
+echo -ne "\nPlease enter MySQL Login Server $LSUSER's password (won't be displayed) :"
+stty -echo
+read LSPASS
+stty echo
+echo ""
+if [ -z "$LSPASS" ]; then
+  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
+elif [ "$LSUSER" == "$LSPASS" ]; then
+  echo "You're not too brilliant choosing passwords huh?"
+fi
+#CB
+echo -ne "\nPlease enter MySQL Community Server hostname (default localhost): "
+read CBDBHOST
+if [ -z "$CBDBHOST" ]; then
+  CBDBHOST="localhost"
+fi
+echo -ne "\nPlease enter MySQL Community Server database name (default l2jcs): "
+read CBDB
+if [ -z "$CBDB" ]; then
+  CBDB="l2jcs"
+fi
+echo -ne "\nPlease enter MySQL Community Server user (default root): "
+read CBUSER
+if [ -z "$CBUSER" ]; then
+  CBUSER="root"
+fi
+echo -ne "\nPlease enter MySQL Community Server $CBUSER's password (won't be displayed) :"
+stty -echo
+read CBPASS
+stty echo
+echo ""
+if [ -z "$CBPASS" ]; then
+  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
+elif [ "$CBUSER" == "$CBPASS" ]; then
+  echo "You're not too brilliant choosing passwords huh?"
+fi
+#GS
+echo -ne "\nPlease enter MySQL Game Server hostname (default $LSDBHOST): "
+read GSDBHOST
+if [ -z "$GSDBHOST" ]; then
+  GSDBHOST="localhost"
+fi
+echo -ne "\nPlease enter MySQL Game Server database name (default l2jgs): "
+read GSDB
+if [ -z "$GSDB" ]; then
+  GSDB="l2jgs"
+fi
+echo -ne "\nPlease enter MySQL Game Server user (default $LSUSER): "
+read GSUSER
+if [ -z "$GSUSER" ]; then
+  GSUSER="root"
+fi
+echo -ne "\nPlease enter MySQL Game Server $GSUSER's password (won't be displayed): "
+stty -echo
+read GSPASS
+stty echo
+echo ""
+if [ -z "$GSPASS" ]; then
+  echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
+elif [ "$GSUSER" == "$GSPASS" ]; then
+  echo "You're not too brilliant choosing passwords huh?"
+fi
+save_config $1
+}
+
+save_config() {
+if [ -n "$1" ]; then
+CONF="$1"
+else 
+CONF="database_installer.rc"
+fi
+echo ""
+echo "With these data I can generate a configuration file which can be read"
+echo "on future updates. WARNING: this file will contain clear text passwords!"
+echo -ne "Shall I generate config file $CONF? (Y/n):"
+read SAVE
+if [ "$SAVE" == "y" -o "$SAVE" == "Y" -o "$SAVE" == "" ];then 
+cat <<EOF>$CONF
+#Configuration settings for L2J-Datapack database installer script
+MYSQLDUMPPATH=$MYSQLDUMPPATH
+MYSQLPATH=$MYSQLPATH
+LSDBHOST=$LSDBHOST
+LSDB=$LSDB
+LSUSER=$LSUSER
+LSPASS=$LSPASS
+CBDBHOST=$CBDBHOST
+CBDB=$CBDB
+CBUSER=$CBUSER
+CBPASS=$CBPASS
+GSDBHOST=$GSDBHOST
+GSDB=$GSDB
+GSUSER=$GSUSER
+GSPASS=$GSPASS
+EOF
+chmod 600 $CONF
+echo "Configuration saved as $CONF"
+echo "Permissions changed to 600 (rw- --- ---)"
+elif [ "$SAVE" != "n" -a "$SAVE" != "N" ]; then
+  save_config
+fi
+}
+
+load_config() {
+if [ -n "$1" ]; then
+CONF="$1"
+else 
+CONF="database_installer.rc"
+fi
+if [ -e "$CONF" ] && [ -f "$CONF" ]; then
+. $CONF
+else
+echo "Settings file not found: $CONF"
+echo "You can specify an alternate settings filename:"
+echo $0 config_filename
+echo ""
+echo "If file doesn't exist it can be created"
+echo "If nothing is specified script will try to work with ./database_installer.rc"
+echo ""
+configure $CONF
+fi
+}
+
+ls_backup(){
+while :
+  do
+   clear
+   echo ""
+   echo -ne "Do you want to make a backup copy of your LSDB? (y/n): "
+   read LSB
+   if [ "$LSB" == "Y" -o "$LSB" == "y" ]; then
+     echo "Trying to make a backup of your Login Server DataBase."
+     $MYSQLDUMPPATH --add-drop-table -h $LSDBHOST -u $LSUSER --password=$LSPASS $LSDB > ls_backup.sql
+     if [ $? -ne 0 ];then
+        clear
+		echo ""
+        echo "There was a problem accesing your LS database, either it wasnt created or authentication data is incorrect."
+        exit 1
+     fi
+     break
+   elif [ "$LSB" == "n" -o "$LSB" == "N" ]; then 
+     break
+   fi
+  done 
+ls_ask
+}
+
+ls_ask(){
+clear
+echo ""
+echo "LOGINSERVER DATABASE install type:"
+echo ""
+echo "(f) Full: WARNING! I'll destroy ALL of your existing login"
+echo "    data."
+echo ""
+echo "(u) Upgrade: I'll do my best to preserve all login data."
+echo ""
+echo "(s) Skip: I'll take you to the communityserver database"
+echo "    installation and upgrade options."
+echo ""
+echo "(q) Quit"
+echo ""
+echo -ne "LOGINSERVER DB install type: "
+read LSASK
+case "$LSASK" in
+	"f"|"F") ls_cleanup I;;
+	"u"|"U") ls_upgrade U;;
+	"s"|"S") cs_backup;;
+	"q"|"Q") finish;;
+	*) ls_ask;;
+esac
+}
+
+ls_cleanup(){
+clear
+echo "Deleting Login Server tables for new content."
+$MYL < ls_cleanup.sql
+ls_install
+}
+
+ls_upgrade(){
+clear
+echo ""
+echo "Upgrading structure of Login Server tables."
+echo ""
+for file in $(ls ../sql/login/updates/*.sql);do
+	$MYL --force < $file 2>> ls_error.log
+done
+ls_install
+}
+
+ls_install(){
+clear
+if [ "$1" == "I" ]; then 
+echo ""
+echo "Installing new Login Server content."
+echo ""
+else
+echo ""
+echo "Upgrading Login Server content."
+echo ""
+fi
+for login in $(ls ../sql/login/*.sql);do
+	echo "Installing loginserver table : $login"
+	$MYL < $login
+done
+cs_ask
+}
+
+cs_backup(){
+while :
+  do
+   clear
+   echo ""
+   echo -ne "Do you want to make a backup copy of your CBDB? (y/n): "
+   read CSB
+   if [ "$CSB" == "Y" -o "$CSB" == "y" ]; then
+     echo "Trying to make a backup of your Community Server DataBase."
+     $MYSQLDUMPPATH --add-drop-table -h $CBDBHOST -u $CBUSER --password=$CBPASS $CBDB > cs_backup.sql
+     if [ $? -ne 0 ];then
+     clear
+	 echo ""
+     echo "There was a problem accesing your CB database, either it wasnt created or authentication data is incorrect."
+     exit 1
+     fi
+     break
+   elif [ "$CSB" == "n" -o "$CSB" == "N" ]; then 
+     break
+   fi
+  done 
+cs_ask
+}
+
+cs_ask(){
+clear
+echo ""
+echo "COMMUNITY SERVER DATABASE install type:"
+echo ""
+echo "(f) Full: WARNING! I'll destroy ALL of your existing community"
+echo "    data (i really mean it: mail, forum, memo.. ALL)"
+echo ""
+echo "(u) Upgrade: I'll do my best to preserve all of your community"
+echo "    data."
+echo ""
+echo "(s) Skip: I'll take you to the gameserver database"
+echo "    installation and upgrade options."
+echo ""
+echo "(q) Quit"
+echo ""
+echo -ne "COMMUNITYSERVER DB install type: "
+read CSASK
+case "$CSASK" in
+	"f"|"F") cs_cleanup I;;
+	"u"|"U") cs_upgrade U;;
+	"s"|"S") gs_backup;;
+	"q"|"Q") finish;;
+	*) cs_ask;;
+esac
+}
+
+cs_cleanup(){
+clear
+echo "Deleting Community Server tables for new content."
+$MYC < cs_cleanup.sql
+cs_install
+}
+
+cs_upgrade(){
+clear
+echo ""
+echo "Upgrading structure of Community Server tables."
+echo ""
+for file in $(ls ../sql/community/updates/*sql);do
+	$MYC --force < $file 2>> cs_error.log
+done
+cs_install
+}
+
+cs_install(){
+clear
+if [ "$1" == "I" ]; then 
+echo ""
+echo "Installing new Community Server content."
+echo ""
+else
+echo ""
+echo "Upgrading Community Server content."
+echo ""
+fi
+for cb in $(ls ../sql/community/*.sql);do
+	echo "Installing Communityserver table : $cb"
+	$MYC < $cb
+done
+gs_ask
+}
+
+gs_backup(){
+while :
+  do
+   clear
+   echo ""
+   echo -ne "Do you want to make a backup copy of your GSDB? (y/n): "
+   read GSB
+   if [ "$GSB" == "Y" -o "$GSB" == "y" ]; then
+     echo "Trying to create a Game Server DataBase."
+     $MYSQLDUMPPATH --add-drop-table -h $GSDBHOST -u $GSUSER --password=$GSPASS $GSDB > gs_backup.sql
+     if [ $? -ne 0 ];then
+	 clear
+     echo ""
+     echo "There was a problem accesing your GS database, either it wasnt created or authentication data is incorrect."
+     exit 1
+     fi
+     break
+   elif [ "$GSB" == "n" -o "$GSB" == "N" ]; then 
+     break
+   fi
+  done 
+gs_ask
+}
+
+gs_ask(){
+clear
+echo ""
+echo "GAME SERVER DATABASE install:"
+echo ""
+echo "(f) Full: WARNING! I'll destroy ALL of your existing character"
+echo "    data (i really mean it: items, pets.. ALL)"
+echo ""
+echo "(u) Upgrade: I'll do my best to preserve all of your character"
+echo "    data."
+echo ""
+echo "(s) Skip: We'll get into the last set of questions (cummulative"
+echo "    updates, custom stuff...)"
+echo ""
+echo "(q) Quit"
+echo ""
+echo -ne "GAMESERVER DB install type: "
+read GSASK
+case "$GSASK" in
+	"f"|"F") gs_cleanup I;;
+	"u"|"U") gs_upgrade U;;
+	"s"|"S") custom_ask;;
+	"q"|"Q") finish;;
+	*) gs_ask;;
+esac
+}
+
+gs_cleanup(){
+clear
+echo "Deleting all Game Server tables for new content."
+$MYG < gs_cleanup.sql
+gs_install
+}
+
+gs_upgrade(){
+clear
+echo ""
+echo "Upgrading structure of Game Server tables (this could take awhile, be patient)"
+echo ""
+for file in $(ls ../sql/game/updates/*.sql);do
+	$MYG --force < $file 2>> gs_error.log
+done
+gs_install
+}
+
+gs_install(){
+clear
+if [ "$1" == "I" ]; then 
+echo ""
+echo "Installing new Game Server content."
+echo ""
+else
+echo ""
+echo "Upgrading Game Server content."
+echo ""
+fi
+for gs in $(ls ../sql/game/*.sql);do
+	echo "Installing GameServer table : $gs"
+	$MYG < $gs
+done
+custom_ask
+}
+
+custom_ask(){
+clear
+echo ""
+echo "L2J provides some Custom Server Tables for non-retail modifications"
+echo "in order to avoid override the original Server Tables."
+echo ""
+echo "Remember that in order to get these additions actually working"
+echo "you need to edit your configuration files."
+echo ""
+echo -ne "Install Custom Server Tables: (y) yes or (n) no ?"
+read CSASK
+case "$CSASK" in
+	"y"|"Y") custom_install;;
+	"n"|"N") mod_ask;;
+	*) custom_ask;;
+esac
+}
+
+custom_install(){
+clear
+echo ""
+echo "Installing Custom content."
+for custom in $(ls ../sql/game/custom/*.sql);do 
+	echo "Installing custom table: $custom"
+	$MYG < $custom
+done
+clear
+mod_ask
+}
+
+mod_ask(){
+clear
+echo ""
+echo "L2J provides a basic infraestructure for some non-retail features"
+echo "(aka L2J mods) to get enabled with a minimum of changes."
+echo ""
+echo "Some of these mods would require extra tables in order to work"
+echo "and those tables could be created now if you wanted to."
+echo ""
+echo "Remember that in order to get these additions actually working"
+echo "you need to edit your configuration files."
+echo ""
+echo -ne "Install Mod Server Tables: (y) yes or (n) no ?"
+read MDASK
+case "$MDASK" in
+	"y"|"Y") mod_install;;
+	"n"|"N") finish;;
+	*) mod_ask;;
+esac
+}
+
+mod_install(){
+clear
+echo ""
+echo "Installing Mods content."
+for mod in $(ls ../sql/game/mods/*.sql);do
+	echo "Installing custom mod table : $mod"
+	$MYG < $mod
+done
+clear
+finish
+}
+
+finish(){
+clear
+echo "L2JDP Database Installer"
+echo ""
+echo "Thanks for using our software."
+echo "visit http://www.l2jdp.com for more info about"
+echo "the L2J DataPack Project."
+exit 0
+}
+
+clear
+load_config $1
+MYL="$MYSQLPATH -h $LSDBHOST -u $LSUSER --password=$LSPASS -D $LSDB"
+MYG="$MYSQLPATH -h $GSDBHOST -u $GSUSER --password=$GSPASS -D $GSDB"
+MYC="$MYSQLPATH -h $CBDBHOST -u $CBUSER --password=$CBPASS -D $CBDB"
 ls_backup