install_ts3db.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. # LGSM fn_install_ts3_mariadb function
  3. # Author: Daniel Gibbs
  4. # Contributor: PhilPhonic
  5. # Website: http://gameservermanagers.com
  6. lgsm_version="271215"
  7. local modulename="Install"
  8. fn_install_ts3db_mariadb(){
  9. echo ""
  10. echo "checking if libmariadb2 is installed"
  11. echo "================================="
  12. sleep 1
  13. ldd ${filesdir}/libts3db_mariadb.so | grep "libmariadb.so.2 => not found"
  14. if [ $? -eq 0 ]; then
  15. echo "libmariadb2 not installed. Please install it first."
  16. echo "exiting..."
  17. exit
  18. else
  19. echo "libmariadb2 installed."
  20. fi
  21. echo ""
  22. echo "Configuring ${gamename} Server for MariaDB/MySQL"
  23. echo "================================="
  24. sleep 1
  25. read -p "Enter MariaDB hostname: " mariahostname
  26. read -p "Enter MariaDB port: " mariaport
  27. read -p "Enter MariaDB username: " mariausername
  28. read -p "Enter MariaDB password: " mariapassword
  29. read -p "Enter MariaDB database name: " mariadbname
  30. echo "updating config."
  31. echo "[config]" >> ${servercfgdir}/ts3db_mariadb.ini
  32. echo "host='${mariahostname}'" >> ${servercfgdir}/ts3db_mariadb.ini
  33. echo "port='${mariaport}'" >> ${servercfgdir}/ts3db_mariadb.ini
  34. echo "username='${mariausername}'" >> ${servercfgdir}/ts3db_mariadb.ini
  35. echo "password='${mariapassword}'" >> ${servercfgdir}/ts3db_mariadb.ini
  36. echo "database='${mariadbname}'" >> ${servercfgdir}/ts3db_mariadb.ini
  37. echo "socket=" >> ${servercfgdir}/ts3db_mariadb.ini
  38. sed -i "s/dbplugin=ts3db_sqlite3/dbplugin=ts3db_mariadb/g" "${servercfgfullpath}"
  39. sed -i "s/dbpluginparameter=/dbpluginparameter=ts3db_mariadb.ini/g" "${servercfgfullpath}"
  40. sed -i "s/dbsqlcreatepath=create_sqlite\//dbsqlcreatepath=create_mariadb\//g" "${servercfgfullpath}"
  41. echo "================================="
  42. sleep 1
  43. }
  44. if [ -z "${autoinstall}" ]; then
  45. echo ""
  46. while true; do
  47. read -e -i "n" -p "Do you want to use MariaDB/MySQL instead of sqlite (Database Server including user and database already has to be set up!)? [y/N]" yn
  48. case $yn in
  49. [Yy]* ) fn_install_ts3db_mariadb && break;;
  50. [Nn]* ) break;;
  51. * ) echo "Please answer yes or no.";;
  52. esac
  53. done
  54. else
  55. fn_print_warning_nl "./${selfname} auto-install is uses sqlite. For MariaDB/MySQL use ./${selfname} install"
  56. fi
  57. ## Get privilege key
  58. echo ""
  59. echo "Getting privilege key"
  60. echo "================================="
  61. sleep 1
  62. echo "IMPORANT! Save these details for later."
  63. sleep 1
  64. cd "${executabledir}"
  65. ./ts3server_startscript.sh start inifile=ts3-server.ini
  66. sleep 5
  67. ./ts3server_startscript.sh stop