Skip to content

Instantly share code, notes, and snippets.

@dmnc-net
Last active December 20, 2015 05:49
Show Gist options
  • Save dmnc-net/6081381 to your computer and use it in GitHub Desktop.
Save dmnc-net/6081381 to your computer and use it in GitHub Desktop.
CraftBukkit updater - Set your directory and desired version (recommended build, beta or development) and run this script. The latest build will downloaded and previous will be kept in your directory. For running a server, you can use symbolic link craftbukkit.jar which is always pointing to the newest build (highest version number).
#!/bin/sh
basedir="/opt/minecraft/bukkit"
RB="http://dl.bukkit.org/downloads/craftbukkit/get/latest-rb/craftbukkit.jar"
BETA="http://dl.bukkit.org/downloads/craftbukkit/get/latest-beta/craftbukkit.jar"
DEV="http://dl.bukkit.org/downloads/craftbukkit/get/latest-dev/craftbukkit.jar"
# Choose desired version: RB, BETA, DEV
DOWNLOAD=$BETA
#####################################################
function removeSymlinks {
result=""
for var in "$@"; do
[ -L $var ] || result="$result$var "
done
echo $result
}
function findMax {
max=$1
for var in "$@"; do
nvar=`echo $var|sed 's/[^0-9]*//g'`
nmax=`echo $max|sed 's/[^0-9]*//g'`
if echo $nvar $nmax | awk '{exit !( $1 > $2)}'; then max=$var; fi
done
echo $max
}
cd $basedir
wget=`which wget`
$wget -N --trust-server-names $DOWNLOAD
extension=".jar"
prefix="craftbukkit"
linkname=$prefix$extension
let counter=1
while [ -f $linkname ]
do
[ -L $linkname ] && rm $linkname || linkname=$prefix~$counter$extension
let counter=counter+1
done
allFiles="`ls $prefix*|grep -i $extension`"
list=`removeSymlinks $allFiles`
if [ "$list" == "" ]; then echo "$prefix*$extension not found!"; exit; fi
ln -s $(findMax $list) $linkname
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment