fn_validate 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # LGSM fn_validate function
  3. # Author: Daniel Gibbs
  4. # Website: http://danielgibbs.co.uk
  5. # Version: 150415
  6. # Description: Runs a server validation.
  7. local modulename="Validate"
  8. fn_validation(){
  9. fn_printwarn "Validating may overwrite some customised files."
  10. sleep 1
  11. echo -en "\n"
  12. echo -en "https://developer.valvesoftware.com/wiki/SteamCMD#Validate"
  13. sleep 5
  14. echo -en "\n"
  15. fn_printdots "Checking server files"
  16. sleep 1
  17. fn_printok "Checking server files"
  18. fn_scriptlog "Checking server files"
  19. sleep 1
  20. cd "${rootdir}"
  21. cd "steamcmd"
  22. ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" validate +quit|tee -a "${scriptlog}"
  23. fn_scriptlog "Checking complete"
  24. # addition for 7 Days to Die - very popular server addon run on most dedicated servers
  25. # file validation breaks this addon and it requires re-installation each time.
  26. if [ "${allocsfixes}" = true ]; then
  27. sleep 5
  28. fn_scriptlog "Installing Alloc's Server Fixes"
  29. echo -en "\n"
  30. sleep 5
  31. echo -en "Installing Alloc's Server Fixes\n"
  32. cd "${rootdir}"/serverfiles/
  33. rm -rf server_fixes.tar.gz
  34. wget http://illy.bz/fi/7dtd/server_fixes.tar.gz
  35. if [ -f "server_fixes.tar.gz" ]; then
  36. tar -xzf server_fixes.tar.gz
  37. rm -rf server_fixes.tar.gz
  38. fn_scriptlog "Server Fixes Installed"
  39. echo -en "Alloc's Server Fixes have been installed.\n"
  40. else
  41. if [ ! -f "server_fixes.tar.gz" ]; then
  42. fn_scriptlog "Error downloading Server Fixes!"
  43. fi
  44. echo -en "There was a problem installing Alloc's Server Fixes!"
  45. fi
  46. fn_scriptlog "Alloc's Server Fixes installed."
  47. echo -en "FAlloc's Server Fixes installed.\n"
  48. fi
  49. }
  50. fn_check_root
  51. fn_check_systemdir
  52. tmuxwc=$(tmux list-sessions 2>&1|awk '{print $1}'|grep -v failed|grep -Ec "^${servicename}:")
  53. if [ "${tmuxwc}" -eq 1 ]; then
  54. fn_stop
  55. fn_validation
  56. fn_start
  57. else
  58. fn_validation
  59. fi