Skip to content

Instantly share code, notes, and snippets.

@porty
Last active August 29, 2015 14:13
Show Gist options
  • Save porty/ba4f724eb18bbb5ca556 to your computer and use it in GitHub Desktop.
Save porty/ba4f724eb18bbb5ca556 to your computer and use it in GitHub Desktop.
Create a minecraft server
# install sudo
apt-get install -y sudo
# allow users to do sudoey things
# change network interface things
cat > /etc/network/interfaces <<'EOF'
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.2.0.15
netmask 255.255.255.0
gateway 10.2.0.254
EOF
useradd -G sudo -m -s /bin/bash jeff
mkdir /home/jeff/.ssh
cat > /home/jeff/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCi1xCNydDE3WLjSKQaiFUQsFvaNeT7Hrlz0fvhMWe+o8hD++/g2YMfPDVYoEWmBV773+HKzcGvALO3wbcwfVaiCPHQLJ8sevGdUIooSFZQlYVnXR3B+gWzaSjSjRuHUQJJdPZ1OrJ0gg2BY0jOXLZKUgeQKYFn79/8Nq6qS6/Zim3DRjWvZswHbM8Zwoqz3I97yM5bmmN5X+OKBFJFh0oeacEJbImCCHJso60kgsnsC0qJQ4FiDj13EA+OPb+vvnb92L8gwdaAouLqiECP8JpvGw3DOtTZdaiUzvuR2uGjPhk/r8NlzXnOu8nibpDRKbro9Yei5xDI2TedTW+asNaX jeff@jeff-new-imac
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9etnsATSBq4EkS7u1xAv2XWEglVbYQs02ReFRIr3d4G41gvCXwwcB012F0Z+xTo15TyzQkW7GacFB+sH2k8lz8Pbz3SKqCk35Xut3xkTuOp47Ejkdv81RujeKQC78eMoD0qnfRwpcMUuQSsrmGctWkCSCNn3Zy5rWRIJdScfdg6mnAKzAftjTvayhVEwWu4NDBYWccDyyo96IEWMJGGa0InYvPxV14v7NJHPAOqpyROW1QqS0qTbNoAaF2KNGR4gqY8JBuMn4U0CVNiDI/JyKVb/j7p9IlqQHeK/i9oUd/D+t1xPjkafGiHZa39f8BtMCj2mxrLGT9ybn+rXEonVt [email protected]
EOF
chown -R jeff:jeff /home/jeff/.ssh
chmod 0700 /home/jeff/.ssh
chmod 0600 /home/jeff/.ssh/authorized_keys
#useradd -G sudo -m -s /bin/bash shorty
mkdir /home/shorty/.ssh
cat > /home/shorty/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDfFlU11I4KwhAfPnCH6cuodsBq2qaoW089qnSS2f3PTA3IsjvAe89AwDLIMf0IprIbZhIfrYn7B33Mjj9dK8wpJ4LQWznMIVzSxMEn0oWc/iTlVie9P8LSQpT+tzpwoVY6p/Q6aHxjzWoO2dWJgxvDWbZTD9r8hkFZc5iacDDzz5HK4yJTpoBt5izkXp7fxwLt898IrUNg0qiMq1Fuq/dabTw1XFtxuDl/fsyvOuNcr/O7wJxuMC8IuX3Fkq6Q6JfRqqsweomEVGnqh/W1+9svlfEo8/P3mRSnNeWW/IxtZJb/aP+dCadmyLSd0pHP6mOW0jpDCV97QMrua9LcYGjoZv5lzysIoU3aaoeMLvyx4eZFBBtlxPv2K+LSgSsAKiRJD/6EOpWhBoUIduw/jjd49GLvvbfszycZoNOx5HB6+ton68WCtJh2Fn1tpYkeZxT+sDrzoPHtwau/nD1kF7zvWr4mc18jYudj2cJ+SFUgNpznhImBScpA8yoheQ62JM9xiPeUJMmFl57J9kY7GPcWrimK42BYq9Sf5PUHs9mEI353ouQs8ectRpGyO7X75G4C0ZKH0n/sDFUvhd38HF0hJiBbVk8j2JvWYa7SAYfOMx9m11VsShbub5FeonX/3zJlRp9DX7XAzZmRRa+0PJ7fPF0euvS9C2GGfJUxNdNe4w== hand-me-down #2 from work - [email protected]
EOF
chown -R shorty:shorty /home/shorty/.ssh
chmod 0700 /home/shorty/.ssh
chmod 0600 /home/shorty/.ssh/authorized_keys
# STFU about changing RAID shit
/etc/init.d/mpt-statusd stop
update-rc.d -f mpt-statusd remove
#in SSHD config, turn off root permitted login and password-based login
# what docker says in https://docs.docker.com/installation/debian/
#!/bin/bash
# Standard update things
sudo apt-get update && sudo apt-get -y upgrade
# Install java
sudo apt-get install -y openjdk-7-jre-headless
# make minecraft directory
mkdir ~/minecraft && cd ~/minecraft
# get minecraft
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar
# get latest world update
wget https://s3-ap-southeast-1.amazonaws.com/shorty1/world.tar.bz2
bunzip2 -c world.tar.bz2 | tar x
# now log in and run (in a screen session):
# java -Xms3000M -Xmx3000M -jar minecraft_server.1.8.1.jar

TODO

  • Have apt cache proxy running in another docker container
  • Have images use apt cache proxy as an apt proxy
  • Auto backup
  • eula.txt
  • Volume-mount in the minecraft working directory and not just the world - can keep whitelists and shit that way (keep .jar out?)
@porty
Copy link
Author

porty commented Jan 21, 2015

Debian doesn't come with sudo by default :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment