From 48b4055bfaaa76e418059ae0f6e15be3dc9357d9 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 Sep 2013 10:29:28 -0300 Subject: [PATCH 1/4] Added pemissions verification on the server startup --- init/msm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/init/msm b/init/msm index c5354f4b..7e3e41d2 100755 --- a/init/msm +++ b/init/msm @@ -612,7 +612,6 @@ server_ensure_jar() { error_exit FILE_NOT_FOUND "Could not find jar for server \"${SERVER_NAME[$1]}\": Expected \"${SERVER_JAR_PATH[$1]}\"." } - # Read a value from the server configuration file # $1: The id of the server # $2: The setting name to read @@ -718,6 +717,18 @@ server_ensure_links() { fi } +# Ensures the server permissions +# $1: The id of the server +server_ensure_permissions() { + echo "Checking file permissions... " + server_property "$1" USERNAME + chown ${SERVER_USERNAME[$1]} -c -R ${SERVER_PATH[$1]} + chmod a+r,u+w -R -c ${SERVER_PATH[$1]} + find ${SERVER_PATH[$1]} -type d -exec chmod 0777 -c {} \; + echo Done. + return 0 +} + # Moves a servers worlds into RAM # $1: The ID of the server server_worlds_to_ram() { @@ -1374,6 +1385,7 @@ server_start() { fi server_ensure_jar "$1" server_ensure_links "$1" + server_ensure_permissions "$1" server_worlds_to_ram "$1" local time_now="$(now)" From 50227080389c9a742c34a2562e27109bc30ea0b5 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 Sep 2013 14:24:46 -0300 Subject: [PATCH 2/4] Added default jargroup setting to allow a jargroup to be selected, other than minecraft, when the server is created --- init/msm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/init/msm b/init/msm index 7e3e41d2..1c714d5e 100755 --- a/init/msm +++ b/init/msm @@ -1264,6 +1264,7 @@ server_create() { manager_property SERVER_PROPERTIES manager_property DEFAULT_WORLD_STORAGE_PATH manager_property JAR_STORAGE_PATH + manager_property DEFAULT_JARGROUP if [[ -d "$SETTINGS_SERVER_STORAGE_PATH/$1" ]]; then error_exit DUPLICATE_NAME "A server with that name already exists." @@ -1293,13 +1294,19 @@ server_create() { SERVER_CONF[$NUM_SERVERS]="$SETTINGS_SERVER_STORAGE_PATH/$1/$SETTINGS_SERVER_PROPERTIES" NUM_SERVERS=$(($NUM_SERVERS+1)) - # TODO: Dirty all server varibales, or don't allow further in script access + # TODO: Dirty all server variables, or don't allow further in script access # TODO: Handle server default setup stuff better than just using # the "minecraft" jar group. And make it configurable. - if [ -d "$SETTINGS_JAR_STORAGE_PATH/minecraft" ]; then + echo hjasjasd $SETTINGS_DEFAULT_JARGROUP + if [ ! -z "$SETTINGS_DEFAULT_JARGROUP" ]; then server_get_id "$1" - server_set_jar "$RETURN" "minecraft" + server_set_jar "$RETURN" "$SETTINGS_DEFAULT_JARGROUP" + else + if [ -d "$SETTINGS_JAR_STORAGE_PATH/minecraft" ]; then + server_get_id "$1" + server_set_jar "$RETURN" "minecraft" + fi fi fi fi @@ -3131,7 +3138,9 @@ command_server_cmdlog() { command_server_console() { if server_is_running "$1"; then server_property "$1" USERNAME - as_user "${SERVER_USERNAME[$1]}" "screen -r ${SERVER_SCREEN_NAME[$1]}" + #as_user "${SERVER_USERNAME[$1]}" "screen -r ${SERVER_SCREEN_NAME[$1]}" + #as_user "${SERVER_USERNAME[$1]}" "screen -d -r -m ${SERVER_SCREEN_NAME[$1]}" + ssh -t "${SERVER_USERNAME[$1]}"@localhost "screen -r ${SERVER_SCREEN_NAME[$1]}" else error_exit SERVER_STOPPED "Server \"${SERVER_NAME[$1]}\" is not running." fi @@ -3234,6 +3243,7 @@ register_settings() { register_setting BACKUP_ARCHIVE_PATH "/opt/msm/archives/backups" register_setting JARGROUP_TARGET "target.txt" + register_setting DEFAULT_JARGROUP "minecraft" register_setting JARGROUP_DOWNLOAD_DIR "downloads" register_setting SERVER_PROPERTIES "server.properties" From 3ec59c81adf53940f800c6c5b1d4165603082e43 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 Sep 2013 14:33:04 -0300 Subject: [PATCH 3/4] removed a control line --- init/msm | 1 - 1 file changed, 1 deletion(-) diff --git a/init/msm b/init/msm index 1c714d5e..d140a9e9 100755 --- a/init/msm +++ b/init/msm @@ -1298,7 +1298,6 @@ server_create() { # TODO: Handle server default setup stuff better than just using # the "minecraft" jar group. And make it configurable. - echo hjasjasd $SETTINGS_DEFAULT_JARGROUP if [ ! -z "$SETTINGS_DEFAULT_JARGROUP" ]; then server_get_id "$1" server_set_jar "$RETURN" "$SETTINGS_DEFAULT_JARGROUP" From 66c7d649986495b0a47eb306e2fd2b99d1c8ae01 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 Sep 2013 14:36:21 -0300 Subject: [PATCH 4/4] Added an echo line stating the default jar group used to create a server --- init/msm | 1 + 1 file changed, 1 insertion(+) diff --git a/init/msm b/init/msm index d140a9e9..c2d4e53d 100755 --- a/init/msm +++ b/init/msm @@ -1300,6 +1300,7 @@ server_create() { # the "minecraft" jar group. And make it configurable. if [ ! -z "$SETTINGS_DEFAULT_JARGROUP" ]; then server_get_id "$1" + echo Creating server with default jar group $SETTINGS_DEFAULT_JARGROUP server_set_jar "$RETURN" "$SETTINGS_DEFAULT_JARGROUP" else if [ -d "$SETTINGS_JAR_STORAGE_PATH/minecraft" ]; then