56 lines
1.4 KiB
Bash
56 lines
1.4 KiB
Bash
|
serverGroup=$1
|
||
|
serverId=$2
|
||
|
serverJarFile=$3
|
||
|
templateName=$4
|
||
|
pluginName=$5
|
||
|
worldPath=$6
|
||
|
port=$7
|
||
|
startupScript=$8
|
||
|
|
||
|
mainDirectory=/home/minecraft
|
||
|
groupPath=$mainDirectory/servers/$serverGroup
|
||
|
serverPath=$groupPath/$serverId
|
||
|
|
||
|
# Create the group directory if the directory doesn't exist
|
||
|
mkdir -p "$groupPath"
|
||
|
|
||
|
# If the server directory already exists, delete it
|
||
|
if [ -d "$serverPath" ]; then
|
||
|
rm -r -f "$serverPath"
|
||
|
fi
|
||
|
|
||
|
# Create the server directory
|
||
|
mkdir "$serverPath"
|
||
|
cd "$serverPath" || exit
|
||
|
|
||
|
# Copying the server jar file to the server
|
||
|
cp $mainDirectory/upload/jars/"$serverJarFile" "$serverPath"/server.jar
|
||
|
|
||
|
# Copying the server template to the server, unzipping it, and then removing the zip
|
||
|
cp $mainDirectory/upload/templates/"$templateName" template.zip
|
||
|
unzip template.zip
|
||
|
rm -r template.zip
|
||
|
|
||
|
# Copying the plugin into the server's plugin directory
|
||
|
cp $mainDirectory/upload/jars/"$pluginName" plugins/"$pluginName"
|
||
|
|
||
|
# Copying the world
|
||
|
mkdir world
|
||
|
cp $mainDirectory/upload/maps/"$worldPath" world/world.zip
|
||
|
cd world/ || exit
|
||
|
unzip world.zip
|
||
|
rm -r world.zip
|
||
|
cd ..
|
||
|
|
||
|
# Accepting the eula
|
||
|
touch eula.txt
|
||
|
echo "eula=true" >> eula.txt
|
||
|
|
||
|
# Writing the port to the server.properties file
|
||
|
touch server.properties
|
||
|
echo "server-ip=0.0.0.0" >> server.properties
|
||
|
echo "server-port=$port" >> server.properties
|
||
|
|
||
|
# Starting the server
|
||
|
screen -dmS minecraftServer-"$serverId"
|
||
|
screen -S minecraftServer-"$serverId" -X exec "$startupScript"
|