4
0

command_dev_query_raw.sh 2.6 KB

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