core_legacy.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #!/bin/bash
  2. # LinuxGSM core_legacy.sh module
  3. # Author: Daniel Gibbs
  4. # Contributors: http://linuxgsm.com/contrib
  5. # Website: https://linuxgsm.com
  6. # Description: Code for backwards compatability with older versions of LinuxGSM.
  7. moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  8. # This is to help the transition to v20.3.0 and above
  9. legacy_versions_array=(v20.2.1 v20.2.0 v20.1.5 v20.1.4 v20.1.3 v20.1.2 v20.1.1 v20.1.0 v19.12.5 v19.12.4 v19.12.3 v19.12.2 v19.12.1 v19.12.0)
  10. for legacy_version in "${legacy_versions_array[@]}"; do
  11. if [ "${version}" == "${legacy_version}" ]; then
  12. legacymode=1
  13. fi
  14. done
  15. if [ -z "${socketname}" ]; then
  16. socketname="${sessionname}"
  17. fi
  18. if [ -n "${webadminuser}" ]; then
  19. httpuser="${webadminuser}"
  20. fi
  21. if [ -n "${webadminpass}" ]; then
  22. httppassword="${webadminpass}"
  23. fi
  24. if [ -n "${webadminport}" ]; then
  25. httpport="${webadminport}"
  26. fi
  27. if [ -n "${webadminip}" ]; then
  28. httpip="${webadminip}"
  29. fi
  30. if [ -n "${gameworld}" ]; then
  31. worldname="${gameworld}"
  32. fi
  33. if [ -n "${autosaveinterval}" ]; then
  34. saveinterval="${autosaveinterval}"
  35. fi
  36. if [ -z "${serverfiles}" ]; then
  37. serverfiles="${filesdir}"
  38. fi
  39. if [ -z "${logdir}" ]; then
  40. [ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
  41. fi
  42. if [ -z "${lgsmlogdir}" ]; then
  43. lgsmlogdir="${scriptlogdir}"
  44. fi
  45. if [ -z "${lgsmlog}" ]; then
  46. lgsmlog="${scriptlog}"
  47. fi
  48. if [ -z "${lgsmlogdate}" ]; then
  49. lgsmlogdate="${scriptlogdate}"
  50. fi
  51. if [ -z "${steamcmddir}" ]; then
  52. steamcmddir="${HOME}/.steam/steamcmd"
  53. fi
  54. if [ -z "${lgsmdir}" ]; then
  55. lgsmdir="${rootdir}/lgsm"
  56. fi
  57. if [ -z "${tmpdir}" ]; then
  58. tmpdir="${lgsmdir}/tmp"
  59. fi
  60. if [ -z "${alertlog}" ]; then
  61. alertlog="${emaillog}"
  62. fi
  63. if [ -z "${servicename}" ]; then
  64. servicename="${selfname}"
  65. fi
  66. # Alternations to workshop variables.
  67. if [ -z "${wsapikey}" ]; then
  68. if [ "${workshopauth}" ]; then
  69. wsapikey="${workshopauth}"
  70. elif [ "${authkey}" ]; then
  71. wsapikey="${authkey}"
  72. fi
  73. fi
  74. if [ -z "${wscollectionid}" ]; then
  75. if [ "${workshopauth}" ]; then
  76. wscollectionid="${ws_collection_id}"
  77. elif [ "${authkey}" ]; then
  78. wscollectionid="${workshopcollectionid}"
  79. fi
  80. fi
  81. if [ -z "${wsstartmap}" ]; then
  82. if [ "${ws_start_map}" ]; then
  83. wscollectionid="${ws_start_map}"
  84. fi
  85. fi
  86. # Added as part of migrating functions dir to modules dir.
  87. # Will remove functions dir if files in modules dir older than 14 days
  88. functionsdir="${lgsmdir}/modules"
  89. if [ -d "${lgsmdir}/functions" ]; then
  90. if [ "$(find "${lgsmdir}/modules"/ -type f -mtime +"14" | wc -l)" -ne "0" ]; then
  91. rm -rf "${lgsmdir:?}/functions"
  92. fi
  93. fi
  94. fn_parms() {
  95. fn_reload_startparameters
  96. parms="${startparameters}"
  97. }