command_dev_query_raw.sh 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. # command_dev_query_raw.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Raw gamedig output of the server.
  6. commandname="DEV-QUERY-RAW"
  7. commandaction="Developer query raw"
  8. functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  9. fn_firstcommand_set
  10. check.sh
  11. info_config.sh
  12. info_parms.sh
  13. echo -e ""
  14. echo -e "Query Port - Raw Output"
  15. echo -e "=================================================================="
  16. echo -e ""
  17. echo -e "QUERY IP"
  18. for queryip in "${queryips[@]}"; do
  19. echo -e "${queryip}"
  20. done
  21. echo -e "================================="
  22. echo -e "Ports"
  23. echo -e "================================="
  24. echo -e ""
  25. echo -e "PORT: ${port}"
  26. echo -e "QUERY PORT: ${queryport}"
  27. echo -e ""
  28. echo -e "Gamedig Raw Output"
  29. echo -e "================================="
  30. echo -e ""
  31. if [ ! "$(command -v gamedig 2>/dev/null)" ]; then
  32. fn_print_failure_nl "gamedig not installed"
  33. fi
  34. if [ ! "$(command -v jq 2>/dev/null)" ]; then
  35. fn_print_failure_nl "jq not installed"
  36. fi
  37. for queryip in "${queryips[@]}"; do
  38. query_gamedig.sh
  39. echo -e "${gamedigcmd}"
  40. echo""
  41. echo "${gamedigraw}" | jq
  42. done
  43. echo -e ""
  44. echo -e "gsquery Raw Output"
  45. echo -e "================================="
  46. echo -e ""
  47. for queryip in "${queryips[@]}"; do
  48. echo -e "./query_gsquery.py -a \"${queryip}\" -p \"${queryport}\" -e \"${querytype}\""
  49. echo -e ""
  50. if [ ! -f "${functionsdir}/query_gsquery.py" ]; then
  51. fn_fetch_file_github "lgsm/functions" "query_gsquery.py" "${functionsdir}" "chmodx" "norun" "noforce" "nomd5"
  52. fi
  53. "${functionsdir}"/query_gsquery.py -a "${queryip}" -p "${queryport}" -e "${querytype}"
  54. done
  55. echo -e ""
  56. echo -e "TCP Raw Output"
  57. echo -e "================================="
  58. echo -e ""
  59. for queryip in "${queryips[@]}"; do
  60. echo -e "bash -c 'exec 3<> /dev/tcp/'${queryip}'/'${queryport}''"
  61. echo -e ""
  62. timeout 3 bash -c 'exec 3<> /dev/tcp/'${queryip}'/'${queryport}''
  63. querystatus="$?"
  64. echo -e ""
  65. if [ "${querystatus}" == "0" ]; then
  66. echo -e "TCP query PASS"
  67. else
  68. echo -e "TCP query FAIL"
  69. fi
  70. done
  71. echo -e ""
  72. echo -e "Game Port - Raw Output"
  73. echo -e "=================================================================="
  74. echo -e ""
  75. echo -e "TCP Raw Output"
  76. echo -e "================================="
  77. echo -e ""
  78. for queryip in "${queryips[@]}"; do
  79. echo -e "bash -c 'exec 3<> /dev/tcp/'${queryip}'/'${port}''"
  80. echo -e ""
  81. timeout 3 bash -c 'exec 3<> /dev/tcp/'${queryip}'/'${port}''
  82. querystatus="$?"
  83. echo -e ""
  84. if [ "${querystatus}" == "0" ]; then
  85. echo -e "TCP query PASS"
  86. else
  87. echo -e "TCP query FAIL"
  88. fi
  89. done
  90. exitcode=0
  91. core_exit.sh