Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2015
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. usage()
  4. {
  5. cat << EOF
  6. usage $0 options
  7.  
  8. This script launches, installs, closes, or connects to the console managing, a server.
  9.  
  10. OPTIONS:
  11. -h Show this message
  12. -i Install
  13. -s Start
  14. -x Close
  15. -c Console
  16. -p Port
  17. -w World
  18. -u User
  19. -n Name
  20. EOF
  21. }
  22.  
  23. WORLD='world1'
  24. MODE='help'
  25. USER='tshock'
  26. PORT='7777'
  27. TMUX_CONSOLE='tshock-console'
  28.  
  29. while getopts "hisxcp:w:u:n:" OPTION
  30. do
  31. case $OPTION in
  32. p)
  33. PORT=$OPTARG
  34. ;;
  35. u)
  36. USER=$OPTARG
  37. ;;
  38. w)
  39. WORLD=$OPTARG
  40. ;;
  41. n)
  42. TMUX_CONSOLE=$OPTARG
  43. ;;
  44. h)
  45. usage
  46. exit 1
  47. ;;
  48. i)
  49. MODE='install'
  50. ;;
  51. c)
  52. MODE='console'
  53. ;;
  54. s)
  55. MODE='start'
  56. ;;
  57. x)
  58. MODE='close'
  59. ;;
  60. h)
  61. MODE='help'
  62. ;;
  63. esac
  64. done
  65.  
  66. case $MODE in
  67. start)
  68. if [ -n "$(sudo -u ${USER} tmux has-session -t $TMUX_CONSOLE)" ]; then
  69. sudo -u ${USER} tmux new-session -d -s ${TMUX_CONSOLE} -d "cd /srv/tshock/; mono TerrariaServer.exe -port ${PORT} -world /srv/tshock/Terraria/Worlds/${WORLD}.wld"
  70. if [ $? -gt 0 ]; then
  71. exit 1
  72. fi
  73. else
  74. echo "Tshock (${WORLD}.wld/${TMUX_CONSOLE}) already started"
  75. exit 1
  76. fi
  77. exit
  78. ;;
  79. close)
  80. sudo -u ${USER} tmux send-keys -t ${TMUX_CONSOLE} 'broadcast NOTICE: Server shutting down in 5 seconds!' C-m
  81. sleep 5
  82. sudo -u ${USER} tmux send-keys -t ${TMUX_CONSOLE} 'exit' C-m
  83. sleep 10
  84. exit
  85. ;;
  86. install)
  87. sudo -u ${USER} bash -c 'cd /srv/tshock/; mono TerrariaServer.exe'
  88. exit
  89. ;;
  90. console)
  91. sudo -u ${USER} tmux attach -t ${TMUX_CONSOLE}
  92. exit
  93. ;;
  94. help)
  95. usage
  96. exit 1
  97. ;;
  98. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement