Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2022
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.06 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # PROVIDE: minecraft
  4. # REQUIRE: LOGIN DAEMON NETWORKING mountcritlocal
  5. # KEYWORD: shutdown
  6. #
  7. # Add the following lines to /etc/rc.conf.local to enable the minecraft server:
  8. #
  9. # minecraft_enable="YES"
  10. # minecraft_user="<run server as this user>"
  11. # minecraft_chdir="<run server in this directory>"
  12. # minecraft_path="<path to minecraft_server.jar>"
  13. # minecraft_flags="<set as needed>"
  14. #
  15. # For default setup, create a user named 'minecraft', set its home directory
  16. # to /srv/minecraft, and place minecraft_server.jar into /srv/minecraft
  17. #
  18. # See minecraft_server.jar for flags
  19.  
  20. . /etc/rc.subr
  21.  
  22. name=minecraft
  23. rcvar=minecraft_enable
  24.  
  25. load_rc_config ${name}
  26.  
  27. command=/usr/local/bin/screen
  28. pidfile=/var/run/minecraft.pid
  29.  
  30. start_cmd="${name}_start"
  31. stop_cmd="${name}_stop"
  32. status_cmd="${name}_status"
  33.  
  34. : ${minecraft_enable="NO"}
  35. : ${minecraft_session="minecraft-session"}
  36. : ${minecraft_user="minecraft"}
  37. : ${minecraft_chdir="/mnt/data/srv/minecraft"}
  38. : ${minecraft_path="/mnt/data/server_1.18.1/server.jar"}
  39. : ${minecraft_flags="nogui"}
  40. : ${minecraft_args="/usr/local/bin/java -Xmx1024M -Xms1024M \
  41.                    -jar ${minecraft_path} ${minecraft_flags}"}
  42.  
  43. minecraft_start() {
  44.     unset "${rc_arg}_cmd"
  45.     minecraft_flags="-d -m -S ${minecraft_session} ${minecraft_args}"
  46.     if minecraft_running; then
  47.         echo "minecraft already running?"
  48.     else
  49.         run_rc_command "start"
  50.     fi
  51. }
  52.  
  53. minecraft_stop() {
  54.     local cmd
  55.     cmd="${command} -p 0 -S ${minecraft_session} -X eval 'stuff stop\015'"
  56.     if minecraft_running; then
  57.         echo "Stopping minecraft."
  58.         su -m ${minecraft_user} -c "${cmd}"
  59.     fi
  60. }
  61.  
  62. minecraft_status() {
  63.     if minecraft_running; then
  64.         echo "minecraft is running."
  65.     else
  66.         echo "minecraft is not running."
  67.     fi
  68. }
  69.  
  70. minecraft_running() {
  71.     local check ses
  72.     ses="${minecraft_session}"
  73.     check=`su -m ${minecraft_user} -c "${command} -list" | grep ${ses}`
  74.     if [ "$check" ]; then
  75.         return 0
  76.     else
  77.         return 1
  78.     fi
  79. }
  80.  
  81. run_rc_command "$1"
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement