Lielac

output of "cat /usr/local/etc/rc.d/minecraft"

Jan 16th, 2021
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # $FreeBSD: head/games/minecraft-server/files/minecraft.in 476166 2018-08-01 08:30:38Z 0mp $
  4. # PROVIDE: minecraft
  5. # REQUIRE: LOGIN
  6. # KEYWORD: shutdown
  7. #
  8. # rc.conf variables:
  9. # minecraft_enable (Default: NO)
  10. # minecraft_mems (Default: 1024M)
  11. # minecraft_memx (Default: 1024M)
  12. # minecraft_args (Default: "")
  13. . /etc/rc.subr
  14.  
  15. name=minecraft
  16. rcvar=minecraft_enable
  17. desc="Dedicated server for the game Minecraft"
  18.  
  19. load_rc_config $name
  20.  
  21. minecraft_mems=${minecraft_mems:-"1024M"}
  22. minecraft_memx=${minecraft_memx:-"1024M"}
  23. minecraft_args=${minecraft_args:-""}
  24.  
  25. extra_commands="console status kill"
  26. start_cmd="${name}_start"
  27. stop_cmd="${name}_stop"
  28. console_cmd="${name}_console"
  29. status_cmd="${name}_status"
  30. kill_cmd="${name}_kill"
  31.  
  32. is_running()
  33. {
  34. pgrep -qu mcserver java
  35. return $?
  36. }
  37.  
  38. minecraft_start()
  39. {
  40. if is_running; then
  41. echo "${name} is already running."
  42. elif [ ${minecraft_mems%?} -gt ${minecraft_memx%?} ]; then
  43. echo "ERROR: minecraft_mems is set greater than minecraft_memx."
  44. echo "ERROR: Set minecraft_memx to be equal or greater than minecraft_mems in rc.conf."
  45. else
  46. if [ -n "${minecraft_mem}" ]; then
  47. echo "WARNING: minecraft_mem is deprecated. Please change this to minecraft_memx."
  48. minecraft_memx=${minecraft_mem}
  49. fi
  50. echo "Starting ${name}."
  51. cd /usr/local/minecraft-server
  52. su mcserver -c "/usr/local/bin/tmux new-session -s minecraft -d '/usr/local/bin/java -Xmx${minecraft_memx} -Xms${minecraft_mems} ${minecraft_args} -jar /usr/local/minecraft-server/server.jar nogui'"
  53. fi
  54. }
  55.  
  56. minecraft_stop()
  57. {
  58. if is_running; then
  59. echo "Stopping ${name}."
  60. su mcserver -c "/usr/local/bin/tmux send-keys -t ${name} \"stop\" ENTER"
  61.  
  62. i=0
  63. while [ $i -lt 10 ]; do
  64. i=$(($i + 1))
  65. if is_running; then
  66. sleep 1
  67. else
  68. echo "${name} has been stopped."
  69. return
  70. fi
  71. done
  72. echo "WARN: ${name} could not be stopped or is taking longer than expected."
  73. echo "WARN: To view the console, type 'service ${name} console'"
  74. echo "WARN: To kill ${name}, type 'service ${name} kill'"
  75. else
  76. echo "${name} is not running."
  77. fi
  78. }
  79.  
  80. minecraft_console()
  81. {
  82. if ! is_running; then
  83. echo "${name} is not running."
  84. else
  85. export TERM=xterm
  86. su mcserver -c "/usr/local/bin/tmux attach-session -t ${name}"
  87. fi
  88. }
  89.  
  90. minecraft_status()
  91. {
  92. if is_running; then
  93. echo "${name} is running."
  94. else
  95. echo "${name} is not running."
  96. fi
  97. }
  98.  
  99. minecraft_kill()
  100. {
  101. if ! is_running; then
  102. echo "${name} is not running."
  103. else
  104. pkill -KILL -u mcserver java
  105. echo "${name} has been killed."
  106. fi
  107. }
  108.  
  109. run_rc_command "$1"
  110.  
Advertisement
Add Comment
Please, Sign In to add comment