From fc954bc21090cb975021b76d5f76dccc310eaec9 Mon Sep 17 00:00:00 2001 From: Blaine Motsinger Date: Sun, 27 Sep 2020 17:10:55 -0500 Subject: [PATCH] Update wl, bl, and op commands to not edit files This commit updates the wl, bl, and op commands to no longer edit their corresponding server files. msm still edits config settings in files, but relies on minecraft server to manage it's own files, passing the commands to the running server for changes. Minecraft server moved to json in version 1.7.2 which made directly editing txt files no longer work. This change follows the pattern of the other passthrough commands that if the server isn't running, returns error_exit informing the user the server is not running. Fixes issue #404 --- init/msm | 86 ++++++-------------------------------------------------- 1 file changed, 8 insertions(+), 78 deletions(-) diff --git a/init/msm b/init/msm index 0aa4ca0..ab00d39 100755 --- a/init/msm +++ b/init/msm @@ -2780,14 +2780,7 @@ command_server_whitelist_add() { echo_fallback "$RETURN" "Player $player is now whitelisted." done else - server_property "$1" WHITELIST_PATH - - for player in "${@:2}"; do - if ! grep "^$player\$" "${SERVER_WHITELIST_PATH[$1]}" >/dev/null; then - echo "$player" >> "${SERVER_WHITELIST_PATH[$1]}" - echo_fallback "$RETURN" "Player $player is now whitelisted." - fi - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2802,12 +2795,7 @@ command_server_whitelist_remove() { echo_fallback "$RETURN" "Player $player is no longer whitelisted." done else - server_property "$1" WHITELIST_PATH - - for player in "${@:2}"; do - sed -ri "/^$player\$/d" "${SERVER_WHITELIST_PATH[$1]}" - echo_fallback "$RETURN" "Player $player is no longer whitelisted." - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2839,14 +2827,7 @@ command_server_blacklist_player_add() { echo_fallback "$RETURN" "Player $player is now blacklisted." done else - server_property "$1" BANNED_PLAYERS_PATH - - for player in "${@:2}"; do - if ! grep "^$player\$" "${SERVER_BANNED_PLAYERS_PATH[$1]}" >/dev/null; then - echo "$player" >> "${SERVER_BANNED_PLAYERS_PATH[$1]}" - echo "Player $player is now blacklisted." - fi - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2860,12 +2841,7 @@ command_server_blacklist_player_remove() { echo_fallback "$RETURN" "Player $player is no longer blacklisted." done else - server_property "$1" BANNED_PLAYERS_PATH - - for player in "${@:2}"; do - sed -ri "/^$player\$/d" "${SERVER_BANNED_PLAYERS_PATH[$1]}" - echo "Player $player is no longer blacklisted." - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2879,14 +2855,7 @@ command_server_blacklist_ip_add() { echo_fallback "$RETURN" "IP address $address is now blacklisted." done else - server_property "$1" BANNED_IPS_PATH - - for address in "${@:2}"; do - if ! grep "^$address\$" "${SERVER_BANNED_IPS_PATH[$1]}" >/dev/null; then - echo "$address" >> "${SERVER_BANNED_IPS_PATH[$1]}" - echo "IP address $address is now blacklisted." - fi - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2900,12 +2869,7 @@ command_server_blacklist_ip_remove() { echo_fallback "$RETURN" "IP address $address is no longer blacklisted." done else - server_property "$1" BANNED_PLAYERS_PATH - - for address in "${@:2}"; do - sed -ri "/^$address\$/d" "${SERVER_BANNED_PLAYERS_PATH[$1]}" - echo "IP address $address is no longer blacklisted." - done + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2955,24 +2919,7 @@ command_server_operator_add() { echo_fallback "$RETURN" "Player $player is now an operator." done else - server_property "$1" OPS_PATH - - for player in "${@:2}"; do - if ! grep "^$player\$" "${SERVER_OPS_PATH[$1]}" >/dev/null; then - echo "$player" >> "${SERVER_OPS_PATH[$1]}" - fi - done - fi - - if [[ $# -gt 2 ]]; then - echo -n "The following players are now operators: " - echo -n "$2" - for player in "${@:3}"; do - echo -n ", $player" - done - echo "." - else - echo "\"$2\" is now an operator." + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi } @@ -2987,24 +2934,7 @@ command_server_operator_remove() { echo_fallback "$RETURN" "Player $player is no longer an operator." done else - server_property "$1" OPS_PATH - - for player in "${@:2}"; do - for player in "${@:2}"; do - sed -ri "/^$player\$/d" "${SERVER_OPS_PATH[$1]}" - done - done - fi - - if [[ $# -gt 2 ]]; then - echo -n "The following players are no longer operators: " - echo -n "$2" - for player in "${@:3}"; do - echo -n ", $player" - done - echo "." - else - echo "\"$2\" is no longer an operator." + error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi }