123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899 |
- @echo off
- REM ##############################################
- REM ## L2JDP Database Installer - (by DrLecter) ##
- REM ##############################################
- REM ## Interactive script setup - (by TanelTM) ##
- REM ##############################################
- REM Copyright (C) 2004-2013 L2J DataPack
- REM
- REM This file is part of L2J DataPack.
- REM
- REM L2J DataPack is free software: you can redistribute it and/or modify
- REM it under the terms of the GNU General Public License as published by
- REM the Free Software Foundation, either version 3 of the License, or
- REM (at your option) any later version.
- REM
- REM L2J DataPack is distributed in the hope that it will be useful,
- REM but WITHOUT ANY WARRANTY; without even the implied warranty of
- REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- REM General Public License for more details.
- REM
- REM You should have received a copy of the GNU General Public License
- REM along with this program. If not, see <http://www.gnu.org/licenses/>.
- set config_file=vars.txt
- set config_version=0
- set workdir="%cd%"
- set full=0
- set stage=0
- set logging=0
- set upgrade_mode=0
- set backup=.
- set logdir=.
- set safe_mode=1
- set cmode=c
- set fresh_setup=0
- :loadconfig
- cls
- title L2JDP Installer - Reading Configuration from File...
- if not exist %config_file% goto configure
- ren %config_file% vars.bat
- call vars.bat
- ren vars.bat %config_file%
- call :colors 17
- if /i %config_version% == 2 goto ls_backup
- set upgrade_mode=2
- echo It seems to be the first time you run this version of
- echo database_installer but I found a settings file already.
- echo I'll hopefully ask this questions just once.
- echo.
- echo Configuration upgrade options:
- echo.
- echo (1) Import and continue: I'll read your old settings and
- echo continue execution, but since no new settings will be
- echo saved, you'll see this menu again next time.
- echo.
- echo (2) Import and configure: This tool has some new available
- echo options, you choose the values that fit your needs
- echo using former settings as a base.
- echo.
- echo (3) Ignore stored settings: I'll let you configure me
- echo with a fresh set of default values as a base.
- echo.
- echo (4) View saved settings: See the contents of the config
- echo file.
- echo.
- echo (5) Quit: Did you came here by mistake?
- echo.
- set /P upgrade_mode="Type a number, press Enter (default is '%upgrade_mode%'): "
- if %upgrade_mode%==1 goto ls_backup
- if %upgrade_mode%==2 goto configure
- if %upgrade_mode%==3 goto configure
- if %upgrade_mode%==4 (cls&type %config_file%&pause&goto loadconfig)
- if %upgrade_mode%==5 goto :eof
- goto loadconfig
- :colors
- if /i "%cmode%"=="n" (
- if not "%1"=="17" ( color F ) else ( color )
- ) else ( color %1 )
- goto :eof
- :configure
- cls
- call :colors 17
- title L2JDP Installer - Setup
- set config_version=2
- if NOT %upgrade_mode% == 2 (
- set fresh_setup=1
- set mysqlBinPath=%ProgramFiles%\MySQL\MySQL Server 5.6\bin
- set lsuser=root
- set lspass=
- set lsdb=l2jls
- set lshost=localhost
- set cbuser=root
- set cbpass=
- set cbdb=l2jcs
- set cbhost=localhost
- set gsuser=root
- set gspass=
- set gsdb=l2jgs
- set gshost=localhost
- set cmode=c
- set backup=.
- set logdir=.
- )
- set mysqlPath=%mysqlBinPath%\mysql.exe
- echo New settings will be created for this tool to run in
- echo your computer, so I need to ask you some questions.
- echo.
- echo 1-MySql Binaries
- echo --------------------
- echo In order to perform my tasks, I need the path for commands
- echo such as 'mysql' and 'mysqldump'. Both executables are
- echo usually stored in the same place.
- echo.
- if "%mysqlBinPath%" == "" (
- set mysqlBinPath=use path
- echo I can't determine if the binaries are available with your
- echo default settings.
- ) else (
- echo I can try to find out if the current setting actually works...
- echo.
- echo %mysqlPath%
- )
- if not "%mysqlBinPath%" == "use path" call :binaryfind
- echo.
- path|find "MySQL">NUL
- if %errorlevel% == 0 (
- echo I found MySQL is in your PATH, this will be used by default.
- echo If you want to use something different, change 'use path' for
- echo something else.
- set mysqlBinPath=use path
- ) else (
- echo Look, I can't find "MYSQL" in your PATH environment variable.
- echo It would be good if you go and find out where "mysql.exe" and
- echo "mysqldump.exe" are.
- echo.
- echo If you have no idea about the meaning of words such as MYSQL
- echo or PATH, you'd better close this window, and consider googling
- echo and reading about it. Setup and host an L2J server requires a
- echo minimum of technical skills.
- )
- echo.
- echo Write the path to your MySQL binaries (no trailing slash needed):
- set /P mysqlBinPath="(default %mysqlBinPath%): "
- cls
- echo.
- echo 2-Login Server settings
- echo -----------------------
- echo In order to connect to the MySQL Server, you should
- echo specify the Login Server DataBase parameters here.
- echo.
- set /P lsuser="MySQL Username (default is '%lsuser%'): "
- set /P lspass="Password (default is '%lspass%'): "
- set /P lsdb="Database (default is '%lsdb%'): "
- set /P lshost="Host (default is '%lshost%'): "
- echo.
- cls
- echo.
- echo 3-Community Server settings
- echo ---------------------------
- echo In order to connect to the MySQL Server, you should
- echo specify the Community Server DataBase parameters here.
- echo.
- set /P cbuser="MySQL Username (default is '%cbuser%'): "
- set /P cbpass="Password (default is '%cbpass%'): "
- set /P cbdb="Database (default is '%cbdb%'): "
- set /P cbhost="Host (default is '%cbhost%'): "
- echo.
- cls
- echo.
- echo 4-Game Server settings
- echo ----------------------
- echo In order to connect to the MySQL Server, you should
- echo specify the Game Server DataBase parameters here.
- echo.
- set /P gsuser="User (default is '%gsuser%'): "
- set /P gspass="Pass (default is '%gspass%'): "
- set /P gsdb="Database (default is '%gsdb%'): "
- set /P gshost="Host (default is '%gshost%'): "
- echo.
- cls
- echo.
- echo 5-Misc. settings
- echo --------------------
- set /P cmode="Color mode (c)olor or (n)on-color, default %cmode% : "
- set /P backup="Path for your backups (default '%backup%'): "
- set /P logdir="Path for your logs (default '%logdir%'): "
- :safe1
- set safemode=y
- set /P safemode="Debugging messages and increase verbosity a lil bit (y/n, default '%safemode%'): "
- if /i %safemode%==y (set safe_mode=1&goto safe2)
- if /i %safemode%==n (set safe_mode=0&goto safe2)
- goto safe1
- :safe2
- cls
- echo.
- if "%mysqlBinPath%" == "use path" (
- set mysqlBinPath=
- set mysqldumpPath=mysqldump
- set mysqlPath=mysql
- ) else (
- set mysqldumpPath=%mysqlBinPath%\mysqldump.exe
- set mysqlPath=%mysqlBinPath%\mysql.exe
- )
- echo @echo off > %config_file%
- echo set config_version=%config_version% >> %config_file%
- echo set cmode=%cmode%>> %config_file%
- echo set safe_mode=%safe_mode% >> %config_file%
- echo set mysqlPath=%mysqlPath%>> %config_file%
- echo set mysqlBinPath=%mysqlBinPath%>> %config_file%
- echo set mysqldumpPath=%mysqldumpPath%>> %config_file%
- echo set lsuser=%lsuser%>> %config_file%
- echo set lspass=%lspass%>> %config_file%
- echo set lsdb=%lsdb%>> %config_file%
- echo set lshost=%lshost% >> %config_file%
- echo set cbuser=%cbuser%>> %config_file%
- echo set cbpass=%cbpass%>> %config_file%
- echo set cbdb=%cbdb%>> %config_file%
- echo set cbhost=%cbhost% >> %config_file%
- echo set gsuser=%gsuser%>> %config_file%
- echo set gspass=%gspass%>> %config_file%
- echo set gsdb=%gsdb%>> %config_file%
- echo set gshost=%gshost%>> %config_file%
- echo set logdir=%logdir%>> %config_file%
- echo set backup=%backup%>> %config_file%
- echo.
- echo Script setup complete, your settings were saved in the
- echo '%config_file%' file. Remember: your passwords are stored
- echo as clear text.
- echo.
- pause
- goto loadconfig
- :ls_backup
- cls
- call :colors 17
- set cmdline=
- set stage=1
- title L2JDP Installer - Login Server DataBase Backup
- echo.
- echo Trying to make a backup of your Login Server DataBase.
- set cmdline="%mysqldumpPath%" --add-drop-table -h %lshost% -u %lsuser% --password=%lspass% %lsdb% ^> "%backup%\ls_backup.sql" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto ls_db_ok
- :ls_err1
- cls
- set lsdbprompt=y
- call :colors 47
- title L2JDP Installer - Login Server DataBase Backup ERROR!
- echo.
- echo Backup attempt failed! A possible reason for this to
- echo happen, is that your DB doesn't exist yet. I could
- echo try to create %lsdb% for you, or maybe you prefer to
- echo continue with the Community Server part of this tool.
- echo.
- echo ATTEMPT TO CREATE LOGINSERVER DATABASE:
- echo.
- echo (y) Yes
- echo.
- echo (n) No
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit
- echo.
- set /p lsdbprompt=Choose (default yes):
- if /i %lsdbprompt%==y goto ls_db_create
- if /i %lsdbprompt%==n goto cs_backup
- if /i %lsdbprompt%==r goto configure
- if /i %lsdbprompt%==q goto end
- goto ls_err1
- :ls_db_create
- cls
- call :colors 17
- set cmdline=
- set stage=2
- title L2JDP Installer - Login Server DataBase Creation
- echo.
- echo Trying to create a Login Server DataBase.
- set cmdline="%mysqlPath%" -h %lshost% -u %lsuser% --password=%lspass% -e "CREATE DATABASE %lsdb%" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto ls_db_ok
- if %safe_mode% == 1 goto omfg
- :ls_err2
- cls
- set omfgprompt=q
- call :colors 47
- title L2JDP Installer - Login Server DataBase Creation ERROR!
- echo.
- echo An error occured while trying to create a database for
- echo your login server.
- echo.
- echo Possible reasons:
- echo 1-You provided inaccurate info , check user, password, etc.
- echo 2-User %lsuser% don't have enough privileges for
- echo database creation. Check your MySQL privileges.
- echo 3-Database exists already...?
- echo.
- echo Unless you're sure that the pending actions of this tool
- echo could work, i'd suggest you to look for correct values
- echo and try this script again later.
- echo.
- echo (c) Continue running
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit now
- echo.
- set /p omfgprompt=Choose (default quit):
- if /i %omfgprompt%==c goto cs_backup
- if /i %omfgprompt%==r goto configure
- if /i %omfgprompt%==q goto end
- goto ls_err2
- :ls_db_ok
- cls
- set loginprompt=u
- call :colors 17
- title L2JDP Installer - Login Server DataBase WARNING!
- 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 (r) Reconfigure: You'll be able to redefine MySQL path,
- echo user and database information and start over with
- echo those fresh values.
- echo.
- echo (q) Quit
- echo.
- set /p loginprompt=Choose (default upgrade):
- if /i %loginprompt%==f goto ls_cleanup
- if /i %loginprompt%==u goto ls_upgrade
- if /i %loginprompt%==s goto cs_backup
- if /i %loginprompt%==r goto configure
- if /i %loginprompt%==q goto end
- goto ls_db_ok
- :ls_cleanup
- call :colors 17
- set cmdline=
- title L2JDP Installer - Login Server DataBase Full Install
- echo.
- echo Deleting Login Server tables for new content.
- set cmdline="%mysqlPath%" -h %lshost% -u %lsuser% --password=%lspass% -D %lsdb% ^< ls_cleanup.sql 2^> NUL
- %cmdline%
- if not %ERRORLEVEL% == 0 goto omfg
- set full=1
- echo.
- echo Login Server tables has been deleted.
- goto ls_install
- :ls_upgrade
- cls
- echo.
- echo Upgrading structure of Login Server tables.
- echo.
- echo @echo off> temp.bat
- if exist ls_errors.log del ls_errors.log
- for %%i in (..\sql\login\updates\*.sql) do echo "%mysqlPath%" -h %lshost% -u %lsuser% --password=%lspass% -D %lsdb% --force ^< %%i 2^>^> ls_errors.log >> temp.bat
- call temp.bat> nul
- del temp.bat
- move ls_errors.log %workdir%
- goto ls_install
- :ls_install
- cls
- set cmdline=
- if %full% == 1 (
- title L2JDP Installer - Login Server DataBase Installing...
- echo.
- echo Installing new Login Server content.
- echo.
- ) else (
- title L2JDP Installer - Login Server DataBase Upgrading...
- echo.
- echo Upgrading Login Server content.
- echo.
- )
- if %logging% == 0 set output=NUL
- set dest=ls
- for %%i in (..\sql\login\*.sql) do call :dump %%i
- echo done...
- echo.
- goto cs_backup
- :cs_backup
- cls
- call :colors 17
- set cmdline=
- set stage=3
- title L2JDP Installer - Community Server DataBase Backup
- echo.
- echo Trying to make a backup of your Comunity Server DataBase.
- set cmdline="%mysqldumpPath%" --add-drop-table -h %cbhost% -u %cbuser% --password=%cbpass% %cbdb% ^> "%backup%\cs_backup.sql" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto cs_db_ok
- :cs_err1
- cls
- set cbdbprompt=y
- call :colors 47
- title L2JDP Installer - Community Server DataBase Backup ERROR!
- echo.
- echo Backup attempt failed! A possible reason for this to
- echo happen, is that your DB doesn't exist yet. I could
- echo try to create %cbdb% for you, or maybe you prefer to
- echo continue with the GameServer part of this tool.
- echo.
- echo ATTEMPT TO CREATE COMMUNITY SERVER DATABASE:
- echo.
- echo (y) Yes
- echo.
- echo (n) No
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit
- echo.
- set /p cbdbprompt=Choose (default yes):
- if /i %cbdbprompt%==y goto cs_db_create
- if /i %cbdbprompt%==n goto gs_backup
- if /i %cbdbprompt%==r goto configure
- if /i %cbdbprompt%==q goto end
- goto cs_err1
- :cs_db_create
- cls
- call :colors 17
- set cmdline=
- set stage=4
- title L2JDP Installer - Community Server DataBase Creation
- echo.
- echo Trying to create a Community Server DataBase...
- set cmdline="%mysqlPath%" -h %cbhost% -u %cbuser% --password=%cbpass% -e "CREATE DATABASE %cbdb%" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto cs_db_ok
- if %safe_mode% == 1 goto omfg
- :cs_err2
- cls
- set omfgprompt=q
- call :colors 47
- title L2JDP Installer - Community Server DataBase Creation ERROR!
- echo.
- echo An error occured while trying to create a database for
- echo your Community Server.
- echo.
- echo Possible reasons:
- echo 1-You provided inaccurate info , check user, password, etc.
- echo 2-User %cbuser% don't have enough privileges for
- echo database creation. Check your MySQL privileges.
- echo 3-Database exists already...?
- echo.
- echo Unless you're sure that the pending actions of this tool
- echo could work, i'd suggest you to look for correct values
- echo and try this script again later.
- echo.
- echo (c) Continue running
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit now
- echo.
- set /p omfgprompt=Choose (default quit):
- if /i %omfgprompt%==c goto gs_backup
- if /i %omfgprompt%==r goto configure
- if /i %omfgprompt%==q goto end
- goto cs_err2
- :cs_db_ok
- cls
- set communityprompt=u
- call :colors 17
- title L2JDP Installer - Community Server DataBase WARNING!
- 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 (r) Reconfigure: You'll be able to redefine MySQL path,
- echo user and database information and start over with
- echo those fresh values.
- echo.
- echo (q) Quit
- echo.
- set /p communityprompt=Choose (default upgrade):
- if /i %communityprompt%==f goto cs_cleanup
- if /i %communityprompt%==u goto cs_upgrade
- if /i %communityprompt%==s goto gs_backup
- if /i %communityprompt%==r goto configure
- if /i %communityprompt%==q goto end
- goto cs_db_ok
- :cs_cleanup
- call :colors 17
- set cmdline=
- title L2JDP Installer - Community Server DataBase Full Install
- echo.
- echo Deleting Community Server tables for new content.
- set cmdline="%mysqlPath%" -h %cbhost% -u %cbuser% --password=%cbpass% -D %cbdb% ^< cs_cleanup.sql 2^> NUL
- %cmdline%
- if not %ERRORLEVEL% == 0 goto omfg
- set full=1
- echo.
- echo Community Server tables has been deleted.
- goto cs_install
- :cs_upgrade
- cls
- echo.
- echo Upgrading structure of Community Server tables.
- echo.
- echo @echo off> temp.bat
- if exist cs_errors.log del cs_errors.log
- for %%i in (..\sql\community\updates\*.sql) do echo "%mysqlPath%" -h %cbhost% -u %cbuser% --password=%cbpass% -D %cbdb% --force ^< %%i 2^>^> cs_errors.log >> temp.bat
- call temp.bat> nul
- del temp.bat
- move cs_errors.log %workdir%
- goto cs_install
- :cs_install
- cls
- set cmdline=
- if %full% == 1 (
- title L2JDP Installer - Community Server DataBase Installing...
- echo.
- echo Installing new Community Server content.
- echo.
- ) else (
- title L2JDP Installer - Community Server DataBase Upgrading...
- echo.
- echo Upgrading Community Server content.
- echo.
- )
- if %logging% == 0 set output=NUL
- set dest=cb
- for %%i in (..\sql\community\*.sql) do call :dump %%i
- echo done...
- echo.
- goto gs_backup
- :gs_backup
- cls
- call :colors 17
- set cmdline=
- set stage=5
- title L2JDP Installer - Game Server DataBase Backup
- echo.
- echo Trying to make a backup of your Game Server DataBase.
- set cmdline="%mysqldumpPath%" --add-drop-table -h %gshost% -u %gsuser% --password=%gspass% %gsdb% ^> "%backup%\gs_backup.sql" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto gs_db_ok
- :gs_err1
- cls
- set gsdbprompt=y
- call :colors 47
- title L2JDP Installer - Game Server DataBase Backup ERROR!
- echo.
- echo Backup attempt failed! A possible reason for this to
- echo happen, is that your DB doesn't exist yet. I could
- echo try to create %gsdb% for you, but maybe you prefer to
- echo continue with last part of the script.
- echo.
- echo ATTEMPT TO CREATE GAME SERVER DATABASE?
- echo.
- echo (y) Yes
- echo.
- echo (n) No
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit
- echo.
- set /p gsdbprompt=Choose (default yes):
- if /i %gsdbprompt%==y goto gs_db_create
- if /i %gsdbprompt%==n goto eof
- if /i %gsdbprompt%==r goto configure
- if /i %gsdbprompt%==q goto end
- goto gs_err1
- :gs_db_create
- cls
- call :colors 17
- set stage=6
- set cmdline=
- title L2JDP Installer - Game Server DataBase Creation
- echo.
- echo Trying to create a Game Server DataBase...
- set cmdline="%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -e "CREATE DATABASE %gsdb%" 2^> NUL
- %cmdline%
- if %ERRORLEVEL% == 0 goto gs_db_ok
- if %safe_mode% == 1 goto omfg
- :gs_err2
- cls
- set omfgprompt=q
- call :colors 47
- title L2JDP Installer - Game Server DataBase Creation ERROR!
- echo.
- echo An error occured while trying to create a database for
- echo your Game Server.
- echo.
- echo Possible reasons:
- echo 1-You provided inaccurate info, check username, pass, etc.
- echo 2-User %gsuser% don't have enough privileges for
- echo database creation.
- echo 3-Database exists already...?
- echo.
- echo I'd suggest you to look for correct values and try this
- echo script again later. But you can try to reconfigure it now.
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit now
- echo.
- set /p omfgprompt=Choose (default quit):
- if /i %omfgprompt%==r goto configure
- if /i %omfgprompt%==q goto end
- goto gs_err2
- :gs_db_ok
- cls
- set installtype=u
- call :colors 17
- title L2JDP Installer - Game Server DataBase WARNING!
- 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.
- set /p installtype=Choose (default upgrade):
- if /i %installtype%==f goto gs_cleanup
- if /i %installtype%==u goto gs_upgrade
- if /i %installtype%==s goto custom_ask
- if /i %installtype%==q goto end
- goto gs_db_ok
- :gs_cleanup
- call :colors 17
- set cmdline=
- title L2JDP Installer - Game Server DataBase Full Install
- echo.
- echo Deleting all Game Server tables for new content.
- set cmdline="%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% ^< gs_cleanup.sql 2^> NUL
- %cmdline%
- if not %ERRORLEVEL% == 0 goto omfg
- set full=1
- echo.
- echo Game Server tables has been deleted.
- goto gs_install
- :gs_upgrade
- cls
- echo.
- echo Upgrading structure of Game Server tables (this could take awhile, be patient).
- echo.
- echo @echo off> temp.bat
- if exist gs_errors.log del gs_errors.log
- for %%i in (..\sql\game\updates\*.sql) do echo "%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% --force ^< %%i 2^>^> gs_errors.log >> temp.bat
- call temp.bat> nul
- del temp.bat
- move gs_errors.log %workdir%
- goto gs_install
- :gs_install
- cls
- set cmdline=
- if %full% == 1 (
- title L2JDP Installer - Game Server DataBase Installing...
- echo.
- echo Installing new Game Server content.
- echo.
- ) else (
- title L2JDP Installer - Game Server DataBase Upgrading...
- echo.
- echo Upgrading Game Server content.
- echo.
- )
- if %logging% == 0 set output=NUL
- set dest=gs
- for %%i in (..\sql\game\*.sql) do call :dump %%i
- echo done...
- echo.
- goto custom_ask
- :dump
- set cmdline=
- if /i %full% == 1 (set action=Installing) else (set action=Upgrading)
- echo %action% %1>>"%output%"
- echo %action% %~nx1
- if "%dest%"=="ls" set cmdline="%mysqlPath%" -h %lshost% -u %lsuser% --password=%lspass% -D %lsdb% ^< %1 2^>^>"%output%"
- if "%dest%"=="cb" set cmdline="%mysqlPath%" -h %cbhost% -u %cbuser% --password=%cbpass% -D %cbdb% ^< %1 2^>^>"%output%"
- if "%dest%"=="gs" set cmdline="%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% ^< %1 2^>^>"%output%"
- %cmdline%
- if %logging%==0 if NOT %ERRORLEVEL%==0 call :omfg2 %1
- goto :eof
- :omfg2
- cls
- set ntpebcak=c
- call :colors 47
- title L2JDP Installer - Potential DataBase Issue at stage %stage%
- echo.
- echo Something caused an error while executing instruction :
- echo %mysqlPath% -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb%
- echo.
- echo with file %~nx1
- echo.
- echo What we should do now?
- echo.
- echo (l) Log it: I will create a log for this file, then continue
- echo with the rest of the list in non-logging mode.
- echo.
- echo (c) Continue: Let's pretend that nothing happened and continue with
- echo the rest of the list.
- echo.
- echo (r) Reconfigure: Perhaps these errors were caused by a typo.
- echo you can restart from scratch and redefine paths, databases
- echo and user info again.
- echo.
- echo (q) Quit now
- echo.
- set /p ntpebcak=Choose (default continue):
- if /i %ntpebcak%==c (call :colors 17 & goto :eof)
- if /i %ntpebcak%==l (call :logginon %1 & goto :eof)
- if /i %ntpebcak%==r (call :configure & exit)
- if /i %ntpebcak%==q (call :end)
- goto omfg2
- :logginon
- cls
- call :colors 17
- title L2JDP Installer - Game Server Logging Options turned on
- set logging=1
- if %full% == 1 (
- set output=%logdir%\install-%~nx1.log
- ) else (
- set output=%logdir%\upgrade-%~nx1.log
- )
- echo.
- echo Per your request, i'll create a log file for your reading pleasure.
- echo.
- echo I'll call it %output%
- echo.
- echo If you already have such a file and would like to keep a copy.
- echo go now and read it or back it up, because it's not going to be rotated
- echo or anything, instead i'll just overwrite it.
- echo.
- pause
- set cmdline="%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% ^<..\sql\%1 2^>^>"%output%"
- date /t >"%output%"
- time /t >>"%output%"
- %cmdline%
- echo Log file created, resuming normal operations...
- call :colors 17
- set logging=0
- set output=NUL
- goto :eof
- :custom_ask
- title L2JDP Installer - Custom Server Tables
- cls
- set cstprompt=n
- 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.
- set /p cstprompt=Install Custom Server Tables: (y) yes or (n) no (default no):
- if /i %cstprompt%==y goto custom_install
- if /i %cstprompt%==n goto mod_ask
- :custom_install
- cls
- echo.
- echo Installing Custom content.
- echo @echo off> temp.bat
- if exist custom_errors.log del custom_errors.log
- for %%i in (..\sql\game\custom\*.sql) do echo "%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% ^< %%i 2^>^> custom_errors.log >> temp.bat
- call temp.bat> nul
- del temp.bat
- move custom_errors.log %workdir%
- goto mod_ask
- :mod_ask
- title L2JDP Installer - Mod Server Tables
- cls
- set cstprompt=n
- 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.
- set /p cstprompt=Install Mod Server Tables: (y) yes or (n) no (default no):
- if /i %cstprompt%==y goto mod_install
- if /i %cstprompt%==n goto end
- :mod_install
- cls
- echo.
- echo Installing Mods content.
- echo @echo off> temp.bat
- if exist mods_errors.log del mods_errors.log
- for %%i in (..\sql\game\mods\*.sql) do echo "%mysqlPath%" -h %gshost% -u %gsuser% --password=%gspass% -D %gsdb% ^< %%i 2^>^> mods_errors.log >> temp.bat
- call temp.bat> nul
- del temp.bat
- move mods_errors.log %workdir%
- goto end
- :omfg
- set omfgprompt=q
- call :colors 57
- cls
- title L2JDP Installer - Potential PICNIC detected at stage %stage%
- echo.
- echo There was some problem while executing:
- echo.
- echo "%cmdline%"
- echo.
- echo I'd suggest you to look for correct values and try this
- echo script again later. But maybe you'd prefer to go on now.
- if %stage% == 1 set label=ls_err1
- if %stage% == 2 set label=ls_err2
- if %stage% == 3 set label=cs_err1
- if %stage% == 4 set label=cs_err2
- if %stage% == 5 set label=gs_err1
- if %stage% == 6 set label=gs_err2
- echo.
- echo (c) Continue running the script
- echo.
- echo (r) Reconfigure
- echo.
- echo (q) Quit now
- echo.
- set /p omfgprompt=Choose (default quit):
- if /i %omfgprompt%==c goto %label%
- if /i %omfgprompt%==r goto configure
- if /i %omfgprompt%==q goto end
- goto omfg
- :binaryfind
- if EXIST "%mysqlBinPath%" (echo Found) else (echo Not Found)
- goto :eof
- :end
- call :colors 17
- title L2JDP Installer - Script Execution Finished
- cls
- echo.
- 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.
- echo.
- pause
|