diff --git a/plugin.yml b/plugin.yml new file mode 100644 index 0000000..be9625d --- /dev/null +++ b/plugin.yml @@ -0,0 +1,10 @@ +name: ${project.name} +version: ${project.version} +description: A plugin to create gates for fast traveling. +softdepend: [Vault] +author: tomco, s1m0ne +authors: [oloflarsson, locutus, DrAgonmoray, s1m0ne, tomco] +website: FIXME + +main: de.craftinc.gates.dynmap.Plugin +database: false diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..6e9d88a --- /dev/null +++ b/pom.xml @@ -0,0 +1,111 @@ + + + 4.0.0 + de.craftinc + CraftIncGates-Dynmap + Craft Inc. Gates Dynmap + FIX-ME + jar + 0.0.1 + + + UTF-8 + + + + + + + GNU Lesser General Public License Version 3 + https://www.gnu.org/licenses/lgpl-3.0-standalone.html + repo + + + + + + ${project.name} ${project.version} + src + + + resources + true + + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + + + exec-maven-plugin + org.codehaus.mojo + 1.2.1 + + + Run Test Bukkit Server + install + + exec + + + ${basedir}/scripts/test-deployment.sh + + + + + + + + + + + org.bukkit + bukkit + 1.7.2-R0.2-SNAPSHOT + jar + compile + + + + org.dynmap + dynmap-api + 1.9 + + + + de.craftinc + CraftIncGates + 2.3 + system + ${project.basedir}/Craft Inc. Gates 2.3.0.jar + + + + + + + + bukkit-repo + http://repo.bukkit.org/content/groups/public + + + + dynmap-repo + http://repo.mikeprimm.com/ + + + + + diff --git a/resources/config.yml b/resources/config.yml new file mode 100644 index 0000000..1e2f188 --- /dev/null +++ b/resources/config.yml @@ -0,0 +1,10 @@ +maxGateBlocks: 50 +playerGateBlockUpdateRadius: 64 +highlightDuration: 5 +saveOnChanges: true +checkForBrokenGateFrames: true +gateTeleportMessage: "Thank you for traveling with Craft Inc. Gates." +showTeleportMessage: true +gateTeleportNoPermissionMessage: "You are not allowed to use this gate!" +showTeleportNoPermissionMessage: true +gateMaterial: "nether portal" \ No newline at end of file diff --git a/resources/plugin.yml b/resources/plugin.yml new file mode 120000 index 0000000..db3e742 --- /dev/null +++ b/resources/plugin.yml @@ -0,0 +1 @@ +../plugin.yml \ No newline at end of file diff --git a/scripts/minecraft.sh b/scripts/minecraft.sh new file mode 100755 index 0000000..bcfa5b2 --- /dev/null +++ b/scripts/minecraft.sh @@ -0,0 +1,160 @@ +#!/bin/bash + +SCRIPT_DIR=$(dirname "$0") +SERVICE='craftbukkit*.jar' +#USERNAME="minecraft" +CPU_COUNT=2 +BUKKIT="$SCRIPT_DIR/../target/lib/$SERVICE" +INVOCATION="java -Xmx1000M -Xms300M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $BUKKIT nogui" +MCPATH="$SCRIPT_DIR/../bukkit-testserver" + +if [ ! -d "$MCPATH" ]; then + mkdir -p "$MCPATH" +fi + +ME=$(whoami) +as_user() { + #if [ $ME == $USERNAME ] ; then + bash -c "$1" + #else + #su - $USERNAME -c "$1" + #fi +} + +mc_start() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "Tried to start but $SERVICE was already running!" + else + echo "$SERVICE was not running... starting." + cd "$MCPATH" + as_user "cd "$MCPATH" && screen -dmS minecraft $INVOCATION" + sleep 7 + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is now running." + else + echo "Could not start $SERVICE." + fi + fi +} + +mc_stop() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is running... stopping." + as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'" + sleep 2 + as_user "screen -p 0 -S minecraft -X eval 'stuff \"stop\"\015'" + sleep 6 + else + echo "$SERVICE was not running." + fi + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE could not be shut down... still running." + else + echo "$SERVICE is shut down." + fi +} + +mc_save() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is running... saving." + as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'" + else + echo "$SERVICE was not running." + fi +} + +mc_reload() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is running... reloading." + as_user "screen -p 0 -S minecraft -X eval 'stuff \"reload\"\015'" + else + echo "$SERVICE was not running." + fi +} + +mc_reload_or_start() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE was already running! Doing a reload now!" + mc_reload + else + echo "$SERVICE was not running... starting." + cd "$MCPATH" + as_user "cd \"$MCPATH\" && screen -dmS minecraft $INVOCATION" + sleep 7 + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is now running." + else + echo "Could not start $SERVICE." + fi + fi +} + +mc_ddidderr_admin() { + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is running... making ddidder to admin and reloading permissions." + as_user "screen -p 0 -S minecraft -X eval 'stuff \"pex user ddidderr group set admin\"\015'" + as_user "screen -p 0 -S minecraft -X eval 'stuff \"pex reload\"\015'" + else + echo "$SERVICE was not running." + fi +} + +case "$1" in + start) + echo "Starting Minecraft..." + mc_start + echo "DONE" + ;; + stop) + echo "Stopping Minecraft..." + as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER SHUTTING DOWN!\"\015'" + mc_stop + echo "DONE" + ;; + restart) + as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER REBOOT IN 10 SECONDS.\"\015'" + $0 stop + sleep 1 + $0 start + ;; + reload) + mc_reload + ;; + reload_or_start) + echo "Starting or reloading Minecraft..." + mc_reload_or_start + echo "DONE" + ;; + ddidderr_admin) + mc_ddidderr_admin + ;; + connected) + as_user "screen -p 0 -S minecraft -X eval 'stuff \"who\"\015'" + sleep 2s + tac "$MCPATH"/server.log | grep -m 1 "Connected" + ;; + status) + if ps ax | grep -v grep | grep -v -i SCREEN | grep "craftbukkit" > /dev/null + then + echo "$SERVICE is running." + else + echo "$SERVICE is not running." + fi + ;; + save) + mc_save + ;; + *) + echo "Usage: /etc/init.d/minecraft {start|stop|restart|connected|status}" + exit 1 + ;; +esac diff --git a/scripts/test-deployment.sh b/scripts/test-deployment.sh new file mode 100755 index 0000000..1af5650 --- /dev/null +++ b/scripts/test-deployment.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +SCRIPT_DIR="$(dirname "$0")" + +DEVELOPER=$(whoami) + +if [ $DEVELOPER = "tobi" ]; then + BUKKIT_DIR="$HOME/minecraft/testbuk" + PLUGIN_DIR="$HOME/minecraft/testbuk/plugins" + START_STOP_SCRIPT="$BUKKIT_DIR/../minecraft.sh" +else + BUKKIT_DIR="$SCRIPT_DIR/../bukkit-testserver" + PLUGIN_DIR="$SCRIPT_DIR/../bukkit-testserver/plugins" + START_STOP_SCRIPT="$SCRIPT_DIR/minecraft.sh" +fi + +# TODO: This is a bad solution! Maven should write necessary information into an extra file. +ARTIFACT_ID="$(grep -C5 'de.craftinc' "$SCRIPT_DIR/../pom.xml" | grep '' | sed 's/[ \t]*//g' | sed 's/<\/name>[ \t]*//g')" + +# TODO: This is a bad solution! Maven should write necessary information into an extra file. +VERSION="$(grep -C5 'Craft Inc. Gates Dynmap' "$SCRIPT_DIR/../pom.xml" | grep '' | sed 's/[ \t]*//g' | sed 's/<\/version>[ \t]*//g')" + +mkdir -p "$PLUGIN_DIR" + + +cp "$SCRIPT_DIR/../target/$ARTIFACT_ID $VERSION".jar "$PLUGIN_DIR/" + +echo -e "ddidderr\nmice_on_drugs\nMochaccino\nbeuth_el_max" > "$BUKKIT_DIR/ops.txt" + +$START_STOP_SCRIPT reload_or_start