#!/bin/bash

# Minecraft Server Manager Configuration File
# ===========================================
#
# 

# User
# ----

# The user which Minecraft Server Manager commands will be executed as.
# Also used by default for starting servers who do not specify an individual
# server user.
USERNAME="minecraft"


# Directory Locations
# -------------------

# These values are very important. They define where MSM stores various files

# Where new servers are stored
SERVER_STORAGE_PATH="/opt/msm/servers"

# Where runnable jar files for use by servers are stored
JAR_STORAGE_PATH="/opt/msm/jars"


# Where RAM enambled worlds are stored
# This needs to be a path located inside the mounted ramdisk for your system
# under Ubuntu this would be "/dev/shm", so "/dev/shm/msm" would be a good
# location. If left blank RAM disk will not be used.
RAMDISK_STORAGE_PATH="/dev/shm/msm"


# Quick IMPORTANT note:
# The following three paths are used to store backups of your servers which
# MSM creates periodically. Backups are usefull if a world becomes unlayable
# and needs to be restored to an earlier point in time. Or maybe a new plugin
# for a server corrupts some files. In these cases you can restore to a
# backup from these directories.
#
# If you want protection for disk failure also, be sure to spcify paths to a 
# separate disk. This can be achieved by mounting an external hard drive, or
# a NAS and put the following paths in there.


# Where "WorldEdit snapshot" compatible world backups are stored.
WORLD_ARCHIVE_PATH="/opt/msm/archives/worlds"

# Where archived logs are stored, when a servers logs are "rolled":
LOG_ARCHIVE_PATH="/opt/msm/archives/logs"

# Where complete server backups are stored:
BACKUP_ARCHIVE_PATH="/opt/msm/archives/backups"



# Server Defaults
# ---------------

# These values are the default values used when a server does not override
# them in its individual config file.
# They are also the default values used when a new server is created, without
# specifying any arguments.


# Server config file location, relative to each server directory
DEFAULT_SERVER_CONF="server.conf"

# User which stars the server, and interacts with it
DEFAULT_SERVER_USER="minecraft"

# The name under which to run a servers screen session, each is made unique
# by featuring the {SERVER_NAME} tag.
DEFAULT_SCREEN_NAME="msm-{SERVER_NAME}"

# A directory name relative to the server directory where worlds are stored
DEFAULT_WORLD_STORAGE_PATH="worldstorage"

# A directory name relative to the server directory where old worlds are stored
# These worlds will cannot be used by the server and will not be saved when
# backing up all worlds. But will be inclued in a complete server backup.
DEFAULT_WORLD_STORAGE_INACTIVE_PATH="worldstorage_inactive"

# "true" and symlinks are followed when performing a complete backup,
# "false" and symlinks are replaced in the zip with a file containing the
# path to the original symlink larget, this saves space.
DEFAULT_COMPLETE_BACKUP_FOLLOW_SYMLINKS="false"


# The location of standard Minecraft server files, relative to the
# server directory
DEFAULT_LOG="server.log"
DEFAULT_PROPERTIES="server.properties"
DEFAULT_WHITELIST="white-list.txt"
DEFAULT_BANNED_PLAYERS="banned-players.txt"
DEFAULT_BANNED_IPS="banned-ips.txt"
DEFAULT_OPS="ops.txt"

# The location of the jar file to execute, relative to the server directory
DEFAULT_JAR="server.jar"

# The amount of memory to dedicate to a server (in MB)
DEFAULT_RAM="1024"

# The command used to start the server. You may use the following tags which
# will be replaced:
# 
# {RAM} - Gets replaced with the amount of RAM specified for the server
# {JAR} - Gets replaced with the location of the jar file for the server
#
# Hard coding values here (not using {MEMORY} and {JAR} tags) will result in
# all servers using the values.
DEFAULT_INVOCATION="java -Xms{RAM}M -Xmx{RAM}M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts -jar {JAR} nogui"


# The default time to delay between warning players the server is stopping and
# actually stopping the server:
DEFAULT_STOP_DELAY=10

# The default time to delay between warning players the server is restarting
# and actually restarting the server:
DEFAULT_RESTART_DELAY=10


# The default message to send to players on a server which is about to be
# shut down. You may use the tag "{DELAY}" to specify the time delay
# before shutdown:
DEFAULT_STOP_MESSAGE="SERVER SHUTTING DOWN IN {DELAY} SECONDS!"

# The default message sent to players on a server which was in the process of
# shutting down, but was aborted by an admin probably pressing Ctrl+C.
DEFAULT_STOP_ABORT="Server shut down aborted."

# The default message sent to players on a server which is about to be
# restarted. You may use the tag "{DELAY}" to specify the time delay before
# the server restarts:
DEFAULT_RESTART_MESSAGE="SERVER REBOOT IN {DELAY} SECONDS!"

# The default message sent to players on a server which was in the process of
# restarting, but was aborted by an admin probably pressing Ctrl+C.
DEFAULT_RESTART_ABORT="Server reboot aborted."

# The default message to send to players when a server begins backing up
# its worlds:
DEFAULT_WORLD_BACKUP_STARTED="Backing up world."

# The default message to send to players when a server has finished backing
# up its worlds:
DEFAULT_WORLD_BACKUP_FINISHED="Backup complete."

# The default message to send to players when a server begins backing up the
# entire server directory:
DEFAULT_COMPLETE_BACKUP_STARTED="Backing up entire server."

# The default message to send to players when a serer finishes backing up the
# entire server directory:
DEFAULT_COMPLETE_BACKUP_FINISHED="Backup complete."


# The message once logged confirms the "save-on" command has finished
DEFAULT_CONFIRM_SAVE_ON="CONSOLE: Enabling level saving.."

# The message once logged confirms the "save-off" command has finished
DEFAULT_CONFIRM_SAVE_OFF="CONSOLE: Disabling level saving.."

# The message once logged confirms the "save-all" command has finished
DEFAULT_CONFIRM_SAVE_ALL="CONSOLE: Save complete."

# The message once logged confirms the server has started up
DEFAULT_CONFIRM_START="Done"

# The start of the message logged when a player is kicked successfully
DEFAULT_CONFIRM_KICK="CONSOLE: Kicking "

# The start of the message logged when an attempt is made to kick an offline player
DEFAULT_CONFIRM_KICK_FAIL="Can't find user "

# The start of the message logged when the server time is set
DEFAULT_CONFIRM_TIME_SET="CONSOLE: Set time to"

# The start of the message logged when the server time cannot be set
DEFAULT_CONFIRM_TIME_SET_FAIL="Unable to convert time value"

# The start of the message logged when the server time is set
DEFAULT_CONFIRM_TIME_ADD="CONSOLE: Added .+ to time"

# The start of the message logged when the server time cannot be set
DEFAULT_CONFIRM_TIME_ADD_FAIL="Unable to convert time value"

# The start of the message logged when downfall is toggled
DEFAULT_CONFIRM_TOGGLEDOWNFALL="CONSOLE: Toggling downfall on|off for world"

# The start of the message logged when the togglefownfall command is given a
# world name that does not exist
DEFAULT_CONFIRM_TOGGLEDOWNFALL_FAIL=".\[31m;1mNo world exists with the name"

# The message logged when an online user has their game mode changed
DEFAULT_CONFIRM_GAMEMODE="CONSOLE: Setting .+ to game mode (1|0)"

# The message logged when a player cannot be found when changing game mode
DEFAULT_CONFIRM_GAMEMODE_FAIL_NO_USER="Can't find user .+"

# The message logged when a player is already in the specified game mode
DEFAULT_CONFIRM_GAMEMODE_FAIL_NO_CHANGE=".+ already has game mode (1|0)"