Skip to content

Instantly share code, notes, and snippets.

@codeprimate
Last active December 10, 2015 17:58
Show Gist options
  • Save codeprimate/4471509 to your computer and use it in GitHub Desktop.
Save codeprimate/4471509 to your computer and use it in GitHub Desktop.
OSX ec2-tools setup for a minecraft server
#!/bin/bash
# OSX ec2-tools setup for a minecraft server
export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
export EC2_PRIVATE_KEY=~/.ec2/pk-$EC2_KEYHASH.pem
export EC2_CERT=~/.ec2/cert-$EC2_KEYHASH.pem
export EC2_HOME=/Users/$USER/bin/ec2-tools
export EC2_AMITOOL_HOME=/Users/$USER/bin/ec2-tools
export EC2_PRIVATE_KEY=/Users/$USER/.ec2/pk-$EC2_KEYHASH.pem
export EC2_CERT=/Users/$USER/.ec2/cert-$EC2_KEYHASH.pem
export PATH=$PATH:$EC2_HOME/bin
export AWS_ACCESS_KEY="CHANGEME"
export AWS_SECRET_KEY="CHANGEME"
export EC2_URL="ec2.us-east-1.amazonaws.com"
function minecraft_server {
INSTANCE_ID="i-CHANGEME"
IP_ADDR="CHANGEME"
PORT="25565"
if [ $1 == "start" ]
then
_STATE=`ec2-describe-instances | grep INSTANCE | grep $INSTANCE_ID | awk '{print $4}'`
if [ $_STATE == "stopped" ]
then
echo "** Starting Minecraft Server on sandbox.codo.us"
ec2-start-instances $INSTANCE_ID
echo "...waiting for 20 seconds..."
sleep 20
echo "*** Assigning IP Address: ${IP_ADDR}."
ec2-associate-address $IP_ADDR -i $INSTANCE_ID
else
echo "** Minecraft instance is already running."
echo "***Assigning IP Address: ${IP_ADDR}."
ec2-associate-address $IP_ADDR -i $INSTANCE_ID
fi
echo "*** ...waiting for 45 seconds for server to boot..."
sleep 45
echo "Minecraft should be running at sandbox.codo.us:$PORT or $IP_ADDR:$PORT"
fi
if [ $1 == "stop" ]
then
_STATE=`ec2-describe-instances | grep INSTANCE | grep $INSTANCE_ID | awk '{print $4}'`
if [ $_STATE != "stopped" ]
then
echo "** Stopping Minecraft server"
ec2-stop-instances $INSTANCE_ID
fi
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment