Advertisement
Reynald0

database_installer.sh

Apr 30th, 2017
842
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 20.59 KB | None | 0 0
  1. #!/bin/bash
  2. ############################################
  3. ## WARNING!  WARNING!  WARNING!  WARNING! ##
  4. ##                                        ##
  5. ## DON'T USE NOTEPAD TO CHANGE THIS FILE  ##
  6. ## INSTEAD USE SOME DECENT TEXT EDITOR.   ##
  7. ## NEWLINE CHARACTERS DIFFER BETWEEN DOS/ ##
  8. ## WINDOWS AND UNIX.                      ##
  9. ##                                        ##
  10. ## USING NOTEPAD TO SAVE THIS FILE WILL   ##
  11. ## LEAVE IT IN A BROKEN STATE!!!          ##
  12. ############################################
  13. ## Writen by DrLecter                     ##
  14. ## License: GNU GPL                       ##
  15. ## Based on Tiago Tagliaferri's script    ##
  16. ## E-mail: tiago_tagliaferri@msn.com      ##
  17. ## From "L2J-DataPack"                    ##
  18. ## Bug reports: http://l2jdp.com/trac     ##
  19. ############################################
  20. trap finish 2
  21.  
  22. configure() {
  23. echo "#############################################"
  24. echo "# You entered script configuration area     #"
  25. echo "# No change will be performed in your DB    #"
  26. echo "# I will just ask you some questions about  #"
  27. echo "# your hosts and DB.                        #"
  28. echo "#############################################"
  29. MYSQLDUMPPATH=`which mysqldump 2>/dev/null`
  30. MYSQLPATH=`which mysql 2>/dev/null`
  31. if [ $? -ne 0 ]; then
  32. echo "We were unable to find MySQL binaries on your path"
  33. while :
  34.  do
  35.   echo -ne "\nPlease enter MySQL binaries directory (no trailing slash): "
  36.   read MYSQLBINPATH
  37.     if [ -e "$MYSQLBINPATH" ] && [ -d "$MYSQLBINPATH" ] && [ -e "$MYSQLBINPATH/mysqldump" ] && [ -e "$MYSQLBINPATH/mysql" ]; then
  38.        MYSQLDUMPPATH="$MYSQLBINPATH/mysqldump"
  39.        MYSQLPATH="$MYSQLBINPATH/mysql"
  40.        break
  41.     else
  42.        echo "The data you entered is invalid. Please verify and try again."
  43.        exit 1
  44.     fi
  45.  done
  46. fi
  47. #LS
  48. echo -ne "\nPlease enter MySQL Login Server hostname (default localhost): "
  49. read LSDBHOST
  50. if [ -z "$LSDBHOST" ]; then
  51.   LSDBHOST="localhost"
  52. fi
  53. echo -ne "\nPlease enter MySQL Login Server database name (default l2jdb): "
  54. read LSDB
  55. if [ -z "$LSDB" ]; then
  56.   LSDB="l2jdb"
  57. fi
  58. echo -ne "\nPlease enter MySQL Login Server user (default root): "
  59. read LSUSER
  60. if [ -z "$LSUSER" ]; then
  61.   LSUSER="root"
  62. fi
  63. echo -ne "\nPlease enter MySQL Login Server $LSUSER's password (won't be displayed) :"
  64. stty -echo
  65. read LSPASS
  66. stty echo
  67. echo ""
  68. if [ -z "$LSPASS" ]; then
  69.   echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
  70. elif [ "$LSUSER" == "$LSPASS" ]; then
  71.   echo "You're not too brilliant choosing passwords huh?"
  72. fi
  73. #GS
  74. echo -ne "\nPlease enter MySQL Game Server hostname (default $LSDBHOST): "
  75. read GSDBHOST
  76. if [ -z "$GSDBHOST" ]; then
  77.   GSDBHOST="$LSDBHOST"
  78. fi
  79. echo -ne "\nPlease enter MySQL Game Server database name (default $LSDB): "
  80. read GSDB
  81. if [ -z "$GSDB" ]; then
  82.   GSDB="$LSDB"
  83. fi
  84. echo -ne "\nPlease enter MySQL Game Server user (default $LSUSER): "
  85. read GSUSER
  86. if [ -z "$GSUSER" ]; then
  87.   GSUSER="$LSUSER"
  88. fi
  89. echo -ne "\nPlease enter MySQL Game Server $GSUSER's password (won't be displayed): "
  90. stty -echo
  91. read GSPASS
  92. stty echo
  93. echo ""
  94. if [ -z "$GSPASS" ]; then
  95.   echo "Hum.. I'll let it be but don't be stupid and avoid empty passwords"
  96. elif [ "$GSUSER" == "$GSPASS" ]; then
  97.   echo "You're not too brilliant choosing passwords huh?"
  98. fi
  99. save_config $1
  100. }
  101.  
  102. save_config() {
  103. if [ -n "$1" ]; then
  104. CONF="$1"
  105. else
  106. CONF="database_installer.rc"
  107. fi
  108. echo ""
  109. echo "With these data I can generate a configuration file which can be read"
  110. echo "on future updates. WARNING: this file will contain clear text passwords!"
  111. echo -ne "Shall I generate config file $CONF? (Y/n):"
  112. read SAVE
  113. if [ "$SAVE" == "y" -o "$SAVE" == "Y" -o "$SAVE" == "" ];then
  114. cat <<EOF>$CONF
  115. #Configuration settings for L2J-Datapack database installer script
  116. MYSQLDUMPPATH=$MYSQLDUMPPATH
  117. MYSQLPATH=$MYSQLPATH
  118. LSDBHOST=$LSDBHOST
  119. LSDB=$LSDB
  120. LSUSER=$LSUSER
  121. LSPASS=$LSPASS
  122. GSDBHOST=$GSDBHOST
  123. GSDB=$GSDB
  124. GSUSER=$GSUSER
  125. GSPASS=$GSPASS
  126. EOF
  127. chmod 600 $CONF
  128. echo "Configuration saved as $CONF"
  129. echo "Permissions changed to 600 (rw- --- ---)"
  130. elif [ "$SAVE" != "n" -a "$SAVE" != "N" ]; then
  131.   save_config
  132. fi
  133. }
  134.  
  135. load_config() {
  136. if [ -n "$1" ]; then
  137. CONF="$1"
  138. else
  139. CONF="database_installer.rc"
  140. fi
  141. if [ -e "$CONF" ] && [ -f "$CONF" ]; then
  142. . $CONF
  143. else
  144. echo "Settings file not found: $CONF"
  145. echo "You can specify an alternate settings filename:"
  146. echo $0 config_filename
  147. echo ""
  148. echo "If file doesn't exist it can be created"
  149. echo "If nothing is specified script will try to work with ./database_installer.rc"
  150. echo ""
  151. configure $CONF
  152. fi
  153. }
  154.  
  155. asklogin(){
  156. echo "#############################################"
  157. echo "# WARNING: This section of the script CAN   #"
  158. echo "# destroy your characters and accounts      #"
  159. echo "# information. Read questions carefully     #"
  160. echo "# before you reply.                         #"
  161. echo "#############################################"
  162. echo ""
  163. echo "Choose full (f) if you don't have and 'accounts' table or would"
  164. echo "prefer to erase the existing accounts information."
  165. echo "Choose skip (s) to skip loginserver DB installation and go to"
  166. echo "gameserver DB installation/upgrade."
  167. echo -ne "LOGINSERVER DB install type: (f) full, (s) skip or (q) quit? "
  168. read LOGINPROMPT
  169. case "$LOGINPROMPT" in
  170.     "f"|"F") logininstall; loginupgrade; gsbackup; asktype;;
  171.     "s"|"S") gsbackup; asktype;;
  172.     "q"|"Q") finish;;
  173.     *) asklogin;;
  174. esac
  175. }
  176.  
  177. logininstall(){
  178. echo "Deleting loginserver tables for new content."
  179. $MYL < login_install.sql &> /dev/null
  180. #$MYSQLDUMPPATH --add-drop-table -h $LSDBHOST -u $LSUSER --password=$LSPASS $LSDB --no-data | grep ^DROP | $MYL
  181. }
  182.  
  183. loginupgrade(){
  184. echo "Installling new loginserver content."
  185. $MYL < login_install.sql &> /dev/null
  186. $MYL < ../sql/accounts.sql &> /dev/null
  187. $MYL < ../sql/gameservers.sql &> /dev/null
  188. }
  189.  
  190. gsbackup(){
  191. while :
  192.   do
  193.    echo ""
  194.    echo -ne "Do you want to make a backup copy of your GSDB? (y/n): "
  195.    read LSB
  196.    if [ "$LSB" == "Y" -o "$LSB" == "y" ]; then
  197.      echo "Making a backup of the original gameserver database."
  198.      $MYSQLDUMPPATH --add-drop-table -h $GSDBHOST -u $GSUSER --password=$GSPASS $GSDB > gameserver_backup.sql
  199.      if [ $? -ne 0 ];then
  200.      echo ""
  201.      echo "There was a problem accesing your GS database, either it wasnt created or authentication data is incorrect."
  202.      exit 1
  203.      fi
  204.      break
  205.    elif [ "$LSB" == "n" -o "$LSB" == "N" ]; then
  206.      break
  207.    fi
  208.   done
  209. }
  210.  
  211. lsbackup(){
  212. while :
  213.   do
  214.    echo ""
  215.    echo -ne "Do you want to make a backup copy of your LSDB? (y/n): "
  216.    read LSB
  217.    if [ "$LSB" == "Y" -o "$LSB" == "y" ]; then
  218.      echo "Making a backup of the original loginserver database."
  219.      $MYSQLDUMPPATH --add-drop-table -h $LSDBHOST -u $LSUSER --password=$LSPASS $LSDB > loginserver_backup.sql
  220.      if [ $? -ne 0 ];then
  221.         echo ""
  222.         echo "There was a problem accesing your LS database, either it wasnt created or authentication data is incorrect."
  223.         exit 1
  224.      fi
  225.      break
  226.    elif [ "$LSB" == "n" -o "$LSB" == "N" ]; then
  227.      break
  228.    fi
  229.   done
  230. }
  231.  
  232. asktype(){
  233. echo ""
  234. echo ""
  235. echo "WARNING: A full install (f) will destroy all existing character data."
  236. echo -ne "GAMESERVER DB install type: (f) full install, (u) upgrade, (s) skip or (q) quit? "
  237. read INSTALLTYPE
  238. case "$INSTALLTYPE" in
  239.     "f"|"F") fullinstall; upgradeinstall I; custom;;
  240.     "u"|"U") upgradeinstall U; custom;;
  241.     "s"|"S") custom;;
  242.     "q"|"Q") finish;;
  243.     *) asktype;;
  244. esac
  245. }
  246.  
  247. fullinstall(){
  248. echo "Deleting all gameserver tables for new content."
  249. $MYG < full_install.sql &> /dev/null
  250. }
  251.  
  252. upgradeinstall(){
  253. if [ "$1" == "I" ]; then
  254. echo "Installling new gameserver content."
  255. else
  256. echo "Upgrading gameserver content"
  257. fi
  258. echo "*** Sucesfull 1 percents. ***"
  259. $MYG < ../sql/access_levels.sql &> /dev/null
  260.  
  261. echo "*** Sucesfull 2 percents. ***"
  262. $MYG < ../sql/armor.sql &> /dev/null
  263.  
  264. echo "*** Sucesfull 3 percents. ***"
  265. $MYG < ../sql/armorsets.sql &> /dev/null
  266.  
  267. echo "*** Sucesfull 4 percents. ***"
  268. $MYG < ../sql/auction.sql &> /dev/null
  269.  
  270. echo "*** Sucesfull 5 percents. ***"
  271. $MYG < ../sql/auction_bid.sql &> /dev/null
  272.  
  273. echo "*** Sucesfull 6 percents. ***"
  274. $MYG < ../sql/auction_watch.sql &> /dev/null
  275.  
  276. echo "*** Sucesfull 7 percents. ***"
  277. $MYG < ../sql/augmentations.sql &> /dev/null
  278.  
  279. echo "*** Sucesfull 8 percents. ***"
  280. $MYG < ../sql/auto_announcements.sql &> /dev/null
  281. $MYG < ../sql/auto_chat.sql &> /dev/null
  282.  
  283. echo "*** Sucesfull 9 percents. ***"
  284. $MYG < ../sql/auto_chat_text.sql &> /dev/null
  285.  
  286. echo "*** Sucesfull 10 percents. ***"
  287. $MYG < ../sql/boxaccess.sql &> /dev/null
  288.  
  289. echo "*** Sucesfull 11 percents. ***"
  290. $MYG < ../sql/boxes.sql &> /dev/null
  291. $MYG < ../sql/buff_templates.sql &> /dev/null
  292.  
  293. echo "*** Sucesfull 12 percents. ***"
  294. $MYG < ../sql/castle.sql &> /dev/null
  295.  
  296. echo "*** Sucesfull 13 percents. ***"
  297. $MYG < ../sql/castle_door.sql &> /dev/null
  298.  
  299. echo "*** Sucesfull 14 percents. ***"
  300. $MYG < ../sql/castle_doorupgrade.sql &> /dev/null
  301.  
  302. echo "*** Sucesfull 15 percents. ***"
  303. $MYG < ../sql/castle_siege_guards.sql &> /dev/null
  304.  
  305. echo "*** Sucesfull 16 percents. ***"
  306. $MYG < ../sql/char_templates.sql &> /dev/null
  307.  
  308. echo "*** Sucesfull 17 percents. ***"
  309. $MYG < ../sql/character_friends.sql &> /dev/null
  310.  
  311. echo "*** Sucesfull 18 percents. ***"
  312. $MYG < ../sql/character_hennas.sql &> /dev/null
  313.  
  314. echo "*** Sucesfull 19 percents. ***"
  315. $MYG < ../sql/character_macroses.sql &> /dev/null
  316.  
  317. echo "*** Sucesfull 20 percents. ***"
  318. $MYG < ../sql/character_quests.sql &> /dev/null
  319.  
  320. echo "*** Sucesfull 21 percents. ***"
  321. $MYG < ../sql/character_raid_points.sql &> /dev/null
  322. $MYG < ../sql/character_recipebook.sql &> /dev/null
  323.  
  324. echo "*** Sucesfull 22 percents. ***"
  325. $MYG < ../sql/character_recommends.sql &> /dev/null
  326.  
  327. echo "*** Sucesfull 23 percents. ***"
  328. $MYG < ../sql/character_shortcuts.sql &> /dev/null
  329.  
  330. echo "*** Sucesfull 24 percents. ***"
  331. $MYG < ../sql/character_skills.sql &> /dev/null
  332.  
  333. echo "*** Sucesfull 25 percents. ***"
  334. $MYG < ../sql/character_skills_save.sql &> /dev/null
  335.  
  336. echo "*** Sucesfull 26 percents. ***"
  337. $MYG < ../sql/character_subclasses.sql &> /dev/null
  338.  
  339. echo "*** Sucesfull 27 percents. ***"
  340. $MYG < ../sql/characters.sql &> /dev/null
  341.  
  342. echo "*** Sucesfull 28 percents. ***"
  343. $MYG < ../sql/clan_data.sql &> /dev/null
  344.  
  345. echo "*** Sucesfull 29 percents. ***"
  346. $MYG < ../sql/clan_privs.sql &> /dev/null
  347.  
  348. echo "*** Sucesfull 30 percents. ***"
  349. $MYG < ../sql/clan_skills.sql &> /dev/null
  350.  
  351. echo "*** Sucesfull 31 percents. ***"
  352. $MYG < ../sql/clan_subpledges.sql &> /dev/null
  353.  
  354. echo "*** Sucesfull 32 percents. ***"
  355. $MYG < ../sql/clan_wars.sql &> /dev/null
  356. $MYG < ../sql/clan_notices.sql &> /dev/null
  357.  
  358. echo "*** Sucesfull 33 percents. ***"
  359. $MYG < ../sql/clanhall.sql &> /dev/null
  360.  
  361. echo "*** Sucesfull 34 percents. ***"
  362. $MYG < ../sql/clanhall_functions.sql &> /dev/null
  363.  
  364. echo "*** Sucesfull 35 percents. ***"
  365. $MYG < ../sql/class_list.sql &> /dev/null
  366.  
  367. echo "*** Sucesfull 36 percents. ***"
  368. $MYG < ../sql/cursed_weapons.sql &> /dev/null
  369.  
  370. echo "*** Sucesfull 37 percents. ***"
  371. $MYG < ../sql/dimensional_rift.sql &> /dev/null
  372.  
  373. echo "*** Sucesfull 38 percents. ***"
  374. $MYG < ../sql/droplist.sql &> /dev/null
  375.  
  376. echo "*** Sucesfull 39 percents. ***"
  377. $MYG < ../sql/enchant_skill_trees.sql &> /dev/null
  378. $MYG < ../sql/engrave.sql &> /dev/null
  379.  
  380. echo "*** Sucesfull 40 percents. ***"
  381. $MYG < ../sql/etcitem.sql &> /dev/null
  382.  
  383. echo "*** Sucesfull 41 percents. ***"
  384. $MYG < ../sql/fish.sql &> /dev/null
  385.  
  386. echo "*** Sucesfull 42 percents. ***"
  387. $MYG < ../sql/fishing_skill_trees.sql &> /dev/null
  388.  
  389. echo "*** Sucesfull 43 percents. ***"
  390. $MYG < ../sql/forums.sql &> /dev/null
  391.  
  392. echo "*** Sucesfull 44 percents. ***"
  393. $MYG < ../sql/games.sql &> /dev/null
  394.  
  395. echo "*** Sucesfull 45 percents. ***"
  396. $MYG < ../sql/global_tasks.sql &> /dev/null
  397.  
  398. echo "*** Sucesfull 46 percents. ***"
  399. $MYG < ../sql/grandboss_data.sql &> /dev/null
  400.  
  401. echo "*** Sucesfull 47 percents. ***"
  402. $MYG < ../sql/grandboss_list.sql &> /dev/null
  403.  
  404. echo "*** Sucesfull 48 percents. ***"
  405. $MYG < ../sql/helper_buff_list.sql &> /dev/null
  406.  
  407. echo "*** Sucesfull 49 percents. ***"
  408. $MYG < ../sql/henna_trees.sql &> /dev/null
  409.  
  410. echo "*** Sucesfull 50 percents. ***"
  411. $MYG < ../sql/heroes.sql &> /dev/null
  412.  
  413. echo "*** Sucesfull 51 percents. ***"
  414. $MYG < ../sql/items.sql &> /dev/null
  415.  
  416. echo "*** Sucesfull 52 percents. ***"
  417. $MYG < ../sql/itemsonground.sql &> /dev/null
  418.  
  419. echo "*** Sucesfull 53 percents. ***"
  420. $MYG < ../sql/locations.sql &> /dev/null
  421.  
  422. echo "*** Sucesfull 54 percents. ***"
  423. $MYG < ../sql/lvlupgain.sql &> /dev/null
  424.  
  425. echo "*** Sucesfull 55 percents. ***"
  426. $MYG < ../sql/merchant_areas_list.sql &> /dev/null
  427.  
  428. echo "*** Sucesfull 56 percents. ***"
  429. $MYG < ../sql/merchant_buylists.sql &> /dev/null
  430.  
  431. echo "*** Sucesfull 57 percents. ***"
  432. $MYG < ../sql/merchant_lease.sql &> /dev/null
  433.  
  434. echo "*** Sucesfull 58 percents. ***"
  435. $MYG < ../sql/merchant_shopids.sql &> /dev/null
  436.  
  437. echo "*** Sucesfull 59 percents. ***"
  438. $MYG < ../sql/merchants.sql &> /dev/null
  439.  
  440. echo "*** Sucesfull 60 percents. ***"
  441. $MYG < ../sql/minions.sql &> /dev/null
  442.  
  443. echo "*** Sucesfull 61 percents. ***"
  444. $MYG < ../sql/mods_wedding.sql &> /dev/null
  445. $MYG < ../sql/mods_buffer.sql &> /dev/null
  446. $MYG < ../sql/character_offline_trade.sql &> /dev/null
  447.  
  448. echo "*** Sucesfull 62 percents. ***"
  449. $MYG < ../sql/npc.sql &> /dev/null
  450.  
  451. echo "*** Sucesfull 63 percents. ***"
  452. $MYG < ../sql/npcskills.sql &> /dev/null
  453.  
  454. echo "*** Sucesfull 64 percents. ***"
  455. $MYG < ../sql/olympiad_nobles.sql &> /dev/null
  456.  
  457. echo "*** Sucesfull 65 percents. ***"
  458. $MYG < ../sql/pets.sql &> /dev/null
  459.  
  460. echo "*** Sucesfull 66 percents. ***"
  461. $MYG < ../sql/pets_stats.sql &> /dev/null
  462.  
  463. echo "*** Sucesfull 67 percents. ***"
  464. $MYG < ../sql/pledge_skill_trees.sql &> /dev/null
  465.  
  466. echo "*** Sucesfull 68 percents. ***"
  467. $MYG < ../sql/posts.sql &> /dev/null
  468.  
  469. echo "*** Sucesfull 69 percents. ***"
  470. $MYG < ../sql/raidboss_spawnlist.sql &> /dev/null
  471.  
  472. echo "*** Sucesfull 70 percents. ***"
  473. $MYG < ../sql/random_spawn.sql &> /dev/null
  474.  
  475. echo "*** Sucesfull 71 percents. ***"
  476. $MYG < ../sql/random_spawn_loc.sql &> /dev/null
  477.  
  478. echo "*** Sucesfull 72 percents. ***"
  479. $MYG < ../sql/seven_signs.sql &> /dev/null
  480.  
  481. echo "*** Sucesfull 73 percents. ***"
  482. $MYG < ../sql/seven_signs_festival.sql &> /dev/null
  483.  
  484. echo "*** Sucesfull 74 percents. ***"
  485. $MYG < ../sql/seven_signs_status.sql &> /dev/null
  486.  
  487. echo "*** Sucesfull 75 percents. ***"
  488. $MYG < ../sql/siege_clans.sql &> /dev/null
  489.  
  490. echo "*** Sucesfull 76 percents. ***"
  491. $MYG < ../sql/skill_learn.sql &> /dev/null
  492.  
  493. echo "*** Sucesfull 77 percents. ***"
  494. $MYG < ../sql/skill_spellbooks.sql &> /dev/null
  495.  
  496. echo "*** Sucesfull 78 percents. ***"
  497. $MYG < ../sql/skill_trees.sql &> /dev/null
  498.  
  499. echo "*** Sucesfull 79 percents. ***"
  500. $MYG < ../sql/spawnlist.sql &> /dev/null
  501.  
  502. echo "*** Sucesfull 80 percents. ***"
  503. $MYG < ../sql/teleport.sql &> /dev/null
  504.  
  505. echo "*** Sucesfull 81 percents. ***"
  506. $MYG < ../sql/topic.sql &> /dev/null
  507.  
  508. echo "*** Sucesfull 83 percents. ***"
  509. $MYG < ../sql/weapon.sql &> /dev/null
  510.  
  511. echo "*** Sucesfull 84 percents. ***"
  512. $MYG < ../sql/zone_vertices.sql &> /dev/null
  513.  
  514. echo "*** Sucesfull 85 percents. ***"
  515. $MYG < ../sql/quest_global_data.sql &> /dev/null
  516.  
  517. echo "*** Sucesfull 87 percents. ***"
  518. $MYG < ../sql/castle_manor_procure.sql &> /dev/null
  519.  
  520. echo "*** Sucesfull 88 percents. ***"
  521. $MYG < ../sql/castle_manor_production.sql &> /dev/null
  522.  
  523. echo "*** Sucesfull 89 percents. ***"
  524. $MYG < ../sql/custom_weapon.sql &> /dev/null
  525. $MYG < ../sql/custom_npc.sql &> /dev/null
  526. $MYG < ../sql/custom_teleport.sql &> /dev/null
  527. $MYG < ../sql/custom_armor.sql &> /dev/null
  528. $MYG < ../sql/custom_armorsets.sql &> /dev/null
  529. $MYG < ../sql/custom_contestable_clanhalls.sql &> /dev/null
  530. $MYG < ../sql/custom_merchant_shopids.sql &> /dev/null
  531. $MYG < ../sql/custom_droplist.sql &> /dev/null
  532. $MYG < ../sql/custom_merchant_buylists.sql &> /dev/null
  533. $MYG < ../sql/custom_etcitem.sql &> /dev/null
  534. $MYG < ../sql/custom_notspawned.sql &> /dev/null
  535.  
  536. echo "*** Sucesfull 90 percents. ***"
  537. $MYG < ../sql/rebirth_manager.sql &> /dev/null
  538.  
  539. echo "*** Sucesfull 91 percents. ***"
  540. $MYG < ../sql/remove_unneeded_spawns.sql &> /dev/null
  541.  
  542. echo "*** Sucesfull 92 percents. ***"
  543. $MYG < ../sql/admin_command_access_rights.sql &> /dev/null
  544.  
  545. echo "*** Sucesfull 93 percents. ***"
  546. $MYG < ../sql/pkkills.sql &> /dev/null
  547.  
  548. echo "*** Sucesfull 94 percents. ***"
  549. $MYG < ../sql/characters_custom_data.sql &> /dev/null
  550.  
  551. echo "*** Sucesfull 95 percents. ***"
  552. $MYG < ../sql/tvt.sql &> /dev/null
  553. $MYG < ../sql/tvt_teams.sql &> /dev/null
  554.  
  555. echo "*** Sucesfull 97 percents. ***"
  556. $MYG < ../sql/character_recipebook.sql &> /dev/null
  557. $MYG < ../sql/fort_door.sql &> /dev/null
  558. $MYG < ../sql/fort_doorupgrade.sql &> /dev/null
  559. $MYG < ../sql/fort_siege_guards.sql &> /dev/null
  560. $MYG < ../sql/fort.sql &> /dev/null
  561. $MYG < ../sql/fortsiege_clans.sql &> /dev/null
  562.  
  563. echo "*** Sucesfull 99 percents. ***"
  564. $MYG < ../sql/four_sepulchers_spawnlist.sql &> /dev/null
  565. $MYG < ../sql/custom_spawnlist.sql &> /dev/null
  566. $MYG < ../sql/vanhalter_spawnlist.sql &> /dev/null
  567. $MYG < ../sql/clanhall_siege.sql &> /dev/null
  568. $MYG < ../sql/paystream.sql &> /dev/null
  569. $MYG < ../sql/l2votes.sql &> /dev/null
  570. $MYG < ../sql/smsonline.sql &> /dev/null
  571. $MYG < ../sql/npc_to_pc_polymorph.sql &> /dev/null
  572. $MYG < ../sql/vip.sql &> /dev/null
  573. $MYG < ../sql/ctf.sql &> /dev/null
  574. $MYG < ../sql/ctf_teams.sql &> /dev/null
  575. $MYG < ../sql/dm.sql &> /dev/null
  576.  
  577. echo "*** Sucesfull 100 percents. ***"
  578. newbie_helper
  579. }
  580.  
  581. custom(){
  582. echo ""
  583. echo ""
  584. echo -ne "Install custom gameserver DB tables: (i) custom Items, (n) custom NPCs, (s) custom NPCs Spawns, (f) full customs, (q) Quit"
  585. read ASKCS
  586. case "$ASKCS" in
  587.     "i"|"I") citemsinstall;;
  588.     "n"|"N") cnpcsinstall;;
  589.     "s"|"S") cspawnsinstall;;
  590.     "f"|"F") cstinstall;;
  591.     "q"|"Q") finish;;
  592.     *) custom;;
  593. esac
  594. finish
  595. }
  596.  
  597. citemsinstall(){
  598. echo "Put in database custom Items..."
  599. $MYG < ../sql/customs/added_custom_etcitem.sql &> /dev/null
  600. $MYG < ../sql/customs/DynastyArmor_SQL_OK.sql &> /dev/null
  601. $MYG < ../sql/customs/Epic_MaskAndShield_SQL_OK.sql &> /dev/null
  602. $MYG < ../sql/customs/Gold_Bar_Item_OK.sql &> /dev/null
  603. $MYG < ../sql/customs/Mordor_Weapons_SQL_OK.sql &> /dev/null
  604. $MYG < ../sql/customs/Wings_SQL_OK.sql &> /dev/null
  605. echo "custom Items loaded with no-error. Greet!!!"
  606. custom
  607. }
  608.  
  609. cnpcsinstall(){
  610. echo "Put in database custom NPCs..."
  611. $MYG < ../sql/customs/added_custom_merchant_buylist.sql &> /dev/null
  612. $MYG < ../sql/customs/added_custom_npc.sql &> /dev/null
  613. $MYG < ../sql/customs/added_custom_teleport.sql &> /dev/null
  614. echo "custom NPCs loaded with no-error. Greet!!!"
  615. custom
  616. }
  617.  
  618. cspawnsinstall(){
  619. echo "Put in database custom NPCs spawns..."
  620. $MYG < ../sql/customs/added_custom_spawnlist.sql &> /dev/null
  621. echo "custom NPCs spawns loaded with no-error. Greet!!!"
  622. custom
  623. }
  624.  
  625. cstinstall(){
  626. while :
  627.   do
  628.    echo ""
  629.    echo -ne "If you're not that skilled applying changes within 'custom' folder, i can try to do it for you (y). If you wish to do it on your own, choose (n). Should i parse updates files? (Y/n)"
  630.    read NOB
  631.    if [ "$NOB" == "Y" -o "$NOB" == "y" -o "$NOB" == "" ]; then
  632.      echo ""
  633.      echo "There we go, it may take some time..."
  634.      echo "custom parser results. Last run: "`date` >database_installer.log
  635.      for file in $(ls ../sql/customs/*sql);do
  636.         echo $file|cut -d/ -f4 >> database_installer.log
  637.         $MYG < $file 2>> database_installer.log
  638.     if [ $? -eq 0 ];then
  639.         echo "no errors">> database_installer.log
  640.     fi    
  641.     done
  642.      echo ""
  643.      echo "Log available at $(pwd)/database_installer.log"
  644.      echo ""
  645.      break
  646.    elif [ "$NOB" == "n" -o "$NOB" == "N" ]; then
  647.      break
  648.    fi
  649.   done
  650.   finish
  651. }
  652.  
  653. finish(){
  654. echo ""
  655. echo "Script execution finished."
  656. exit 0
  657. }
  658.  
  659. newbie_helper(){
  660. while :
  661.   do
  662.    echo ""
  663.    echo -ne "If you're not that skilled applying changes within 'updates' folder, i can try to do it for you (y). If you wish to do it on your own, choose (n). Should i parse updates files? (Y/n)"
  664.    read NOB
  665.    if [ "$NOB" == "Y" -o "$NOB" == "y" -o "$NOB" == "" ]; then
  666.      echo ""
  667.      echo "There we go, it may take some time..."
  668.      echo "updates parser results. Last run: "`date` >database_installer.log
  669.      for file in $(ls ../sql/updates/*sql);do
  670.         echo $file|cut -d/ -f4 >> database_installer.log
  671.         $MYG < $file 2>> database_installer.log
  672.     if [ $? -eq 0 ];then
  673.         echo "no errors">> database_installer.log
  674.     fi    
  675.     done
  676.      echo ""
  677.      echo "Log available at $(pwd)/database_installer.log"
  678.      echo ""
  679.      break
  680.    elif [ "$NOB" == "n" -o "$NOB" == "N" ]; then
  681.      break
  682.    fi
  683.   done
  684. }
  685.  
  686. clear
  687. load_config $1
  688. MYL="$MYSQLPATH -h $LSDBHOST -u $LSUSER --password=$LSPASS -D $LSDB"
  689. MYG="$MYSQLPATH -h $GSDBHOST -u $GSUSER --password=$GSPASS -D $GSDB"
  690. lsbackup
  691. asklogin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement