Minecraft package for Synology NAS

UPDATE – The instructions and notes on this page apply to both the Minecraft and the CraftBukkit packages hosted on my repo. Now works on QorIQ CPU Synology models!

Minecraft is an intriguing game. I only recently bought it after a friend had recommended it. There’s a lot to like: the striking retro visual style, the mellow sporadic music, exploring the procedurally generated world, the logical way items are crafted, multiplayer collaboration, and emergent gameplay. Notch its creator certainly deserves the fortune he’s now sitting on. I thoroughly recommend you watch this short documentary all about it.

Minecraft Package Info

Right after I released the Java package for Synology a couple of people mentioned that they wanted to use it for installing a Minecraft server. Now that I have the game, I decided to try that too. I had assumed that the ARM CPUs would not be capable of running it, and the first tests seemed to confirm this. I decided it would be worth creating a package nonetheless since the Intel CPU NAS units would be ok, especially with their extra RAM. However, with a little performance tuning it actually runs acceptably (no lag when mining blocks) on my ARM powered DS111 which only has 256MB. The CPU load is 100% for a while at first, but soon after playing it settles down to around 60%. I have briefly tested with two players connected and after a bit of lag at first (one second delay to mine a block) it does seem to settle down.

Minecraft running showing draw distance and server load

Minecraft showing draw distance and server load running on a Synology DS111

 

Installation

  • This package is not CPU specific. If you have Java it will run. At the moment that means ARM, Intel and QorIQ PowerPC processors, but not the older PowerPCs.
  • In the User Control Panel in DSM, enable the User Homes service.
  • Install the package directly from Package Center in DSM. In Settings -> Package Sources add my package repository URL which is http://packages.pcloadletter.co.uk. You will need to install either one of my Java SE for Embedded packages first (Java 6 or 7).

Notes

  • The package fetches the minecraft server jar file from Mojang as it is installed. I am complying with their wish that no one redistributes it.
  • The server daemon script checks the amount of system RAM and scales the Java heap size appropriately. It also applies a few performance tweaks to Java to try to reduce garbage collection latency.
  • The first time you run the server it will create a new world, which can take a few minutes. You cannot interrupt this but you can check on progress by repeatedly viewing the Log tab.
  • Because the time investments in playing Minecraft can be so considerable, when you uninstall the package it will back up the world folder and settings to /volume1/public/minecraftworld.todaysdate.bak to prevent accidental deletion.
  • The package supports upgrades to future versions while preserving the world folder and server settings.
  • If you want to transplant an existing world folder into the server, copy it to /volume1/@appstore/Minecraft. You will also need to run chown -R minecraft /volume1/@appstore/Minecraft to grant ownership of the files to the daemon user.
  • The first time you run the package, the server config file /volume1/@appstore/Minecraft/server.properties is generated. The next time it is launched, my script reduces the default draw distance for ARM CPUs from 10 chunks to 7. This was appropriate for my DS111 to prevent latency when mining blocks, but you may wish to reduce this further on the J series NAS units which have less RAM and slower CPUs. Other server files (white-list.txt etc.) are found in the same folder. For CraftBukkit the files are in the folder /volume1/@appstore/Craftbukkit/server.properties (note the capitalization – the CraftBukkit project seemed to change this after I had already created the package with a lower case ‘b’).
  • The simplest way to edit these config files if you’re not really confident with Linux is to install Merty’s Config File Editor package, which requires the official Synology Perl package to be installed too (since DSM 4.2). Load Config File Editor, then in the dropdown menu edit Config File Editor’s own config (it’s the last in the list) and add the lines:
    /volume1/@appstore/Minecraft/server.properties,Minecraft-properties
    /volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist
    /volume1/@appstore/Minecraft/ops.txt,Minecraft-ops

    Make sure to add an extra blank line underneath, save, then relaunch CFE and you’ll have entries for Minecraft in the dropdown. You’ll need to restart the Minecraft package for any changes to take effect.
  • It was a bit tricky to get the server to shut down gracefully without just killing the Java process. We need it to shutdown properly so it saves the active chunks to disk first. Most of the guides on the Net use the screen binary which isn’t included with Synology DSM, and I didn’t want to have to make a version of the package for each CPU architecture. I found that I could use tail to send the last line of the file /tmp/stdin.minecraft to the server (/tmp/stdin.craftbukkit for the CraftBukkit package). This is how the stop command is issued. You could send your own commands, for instance echo say Hello players >> /tmp/stdin.minecraft. You can verify that the command was received by looking at the server log in Package Center.
  • The server runs on the default TCP port for Minecraft (25565) so you will need to port forward this on your router if you want it to be publicly accessible.
 

Package scripts

For information, here are the package scripts so you can see what it’s going to do. You can get more information about how packages work by reading the Synology Package wiki.

installer.sh

#!/bin/sh

#--------MINECRAFT/CRAFTBUKKIT installer script
#--------package maintained at pcloadletter.co.uk

if [ "${SYNOPKG_PKGNAME}" == "Minecraft" ]; then
  DOWNLOAD_PATH="http://s3.amazonaws.com/MinecraftDownload/launcher"
  DOWNLOAD_FILE="minecraft_server.jar"
  UPGRADE_FILES="server.properties *.txt world"
fi
if [ "${SYNOPKG_PKGNAME}" == "Craftbukkit" ]; then
  DOWNLOAD_PATH="http://cbukk.it"
  DOWNLOAD_FILE="craftbukkit-beta.jar"
  UPGRADE_FILES="server.properties *.txt *.yml world world_nether world_the_end plugins bukkit_update"
fi

DOWNLOAD_URL="${DOWNLOAD_PATH}/${DOWNLOAD_FILE}"
DAEMON_USER="`echo ${SYNOPKG_PKGNAME} | awk {'print tolower($_)'}`"
DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
DAEMON_PASS="`openssl rand 12 -base64 2>/dev/null`"
MIGRATION_FOLDER="${DAEMON_USER}_data_mig"
ENGINE_SCRIPT="/var/packages/${SYNOPKG_PKGNAME}/scripts/launcher.sh"
INSTALL_FILES="${DOWNLOAD_URL}"
source /etc/profile
TEMP_FOLDER="`find / -maxdepth 2 -name '@tmp' | head -n 1`"
PRIMARY_VOLUME="/`echo $TEMP_FOLDER | cut -f2 -d'/'`"
WORLD_BACKUP="${PRIMARY_VOLUME}/public/${DAEMON_USER}world.`date +\"%d-%b\"`.bak"

preinst ()
{
  if [ -z ${JAVA_HOME} ]; then
    echo "Java is not installed or not properly configured. JAVA_HOME is not defined. "
    echo "Download and install the Java Synology package from http://wp.me/pVshC-z5"
    exit 1
  fi
  
  if [ ! -f ${JAVA_HOME}/bin/java ]; then
    echo "Java is not installed or not properly configured. The Java binary could not be located. "
    echo "Download and install the Java Synology package from http://wp.me/pVshC-z5"
    exit 1
  fi
  
  #is the User Home service enabled?
  UH_SERVICE=maybe
  synouser --add userhometest Testing123 "User Home test user" 0 "" ""
  UHT_HOMEDIR=`cat /etc/passwd | sed -r '/User Home test user/!d;s/^.*:User Home test user:(.*):.*$/\1/'`
  if echo $UHT_HOMEDIR | grep '/var/services/homes/' > /dev/null; then
    if [ ! -d $UHT_HOMEDIR ]; then
      UH_SERVICE=false
    fi
  fi
  synouser --del userhometest
  #remove home directory (needed since DSM 4.1)
  [ -e /var/services/homes/userhometest ] && rm -r /var/services/homes/userhometest
  if [ ${UH_SERVICE} == "false" ]; then
    echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM."
    exit 1
  fi

  cd ${TEMP_FOLDER}
  for WGET_URL in ${INSTALL_FILES}
  do
    WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`"
    [ -f ${TEMP_FOLDER}/${WGET_FILENAME} ] && rm ${TEMP_FOLDER}/${WGET_FILENAME}
    wget ${WGET_URL}
    if [[ $? != 0 ]]; then
      if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then
        cp ${PUBLIC_FOLDER}/${WGET_FILENAME} ${TEMP_FOLDER}
      else     
        echo "There was a problem downloading ${WGET_FILENAME} from the official download link, "
        echo "which was \"${WGET_URL}\" "
        echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. "
        exit 1
      fi
    fi
  done
  
  exit 0
}


postinst ()
{
  #create daemon user
  synouser --add ${DAEMON_USER} ${DAEMON_PASS} "${DAEMON_ID}" 0 "" ""
  
  mv ${TEMP_FOLDER}/${DAEMON_USER}*.jar ${SYNOPKG_PKGDEST}/${DAEMON_USER}.jar
  
  #determine the daemon user homedir and save that variable in the user's profile
  #this is needed because new users seem to inherit a HOME value of /root which they have no permissions for
  DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"
  su - ${DAEMON_USER} -s /bin/sh -c "echo export HOME=\'${DAEMON_HOME}\' >> .profile"
  
  #change owner of folder tree
  chown -R ${DAEMON_USER} ${SYNOPKG_PKGDEST}
  
  exit 0
}


preuninst ()
{
  #make sure server is stopped
  su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} stop ${SYNOPKG_PKGNAME} ${SYNOPKG_PKGDEST}"
  sleep 10
  
  #if a world exists, back it up to the public folder, just in case...
  if [ -d ${SYNOPKG_PKGDEST}/world ]; then
    if [ ! -d ${WORLD_BACKUP} ]; then
      mkdir -p ${WORLD_BACKUP}
    fi
    for ITEM in ${UPGRADE_FILES}; do
      mv ${SYNOPKG_PKGDEST}/${ITEM} ${WORLD_BACKUP}
    done
  fi
  
  exit 0
}


postuninst ()
{
  #remove daemon user
  synouser --del ${DAEMON_USER}
  
  #remove daemon user's home directory (needed since DSM 4.1)
  [ -e /var/services/homes/${DAEMON_USER} ] && rm -r /var/services/homes/${DAEMON_USER}
  
  exit 0
}


preupgrade ()
{
  #make sure the server is stopped
  su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} stop ${SYNOPKG_PKGNAME} ${SYNOPKG_PKGDEST}"
  sleep 10
  
  #if a world exists, back it up
  if [ -d ${SYNOPKG_PKGDEST}/world ]; then
    mkdir ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}
    for ITEM in ${UPGRADE_FILES}; do
      if [ -e ${SYNOPKG_PKGDEST}/${ITEM} ]; then
        mv ${SYNOPKG_PKGDEST}/${ITEM} ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}
      fi
    done
  fi
  
  exit 0
}


postupgrade ()
{
  #use the migrated data files from the previous version
  if [ -d ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}/world ]; then
    for ITEM in ${UPGRADE_FILES}; do
      if [ -e ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}/${ITEM} ]; then
        mv ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}/${ITEM} ${SYNOPKG_PKGDEST}
      fi
    done
    rmdir ${SYNOPKG_PKGDEST}/../${MIGRATION_FOLDER}
    
    #daemon user has been deleted and recreated so we need to reset ownership (new UID)
    chown -R ${DAEMON_USER} ${SYNOPKG_PKGDEST}
  fi
  	
  exit 0
}
 

start-stop-status.sh

#!/bin/sh

#--------MINECRAFT/CRAFTBUKKIT start-stop-status script
#--------package maintained at pcloadletter.co.uk

DAEMON_USER="`echo ${SYNOPKG_PKGNAME} | awk {'print tolower($_)'}`"
DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
ENGINE_SCRIPT="/var/packages/${SYNOPKG_PKGNAME}/scripts/launcher.sh"
DAEMON_USER_SHORT=`echo ${DAEMON_USER} | cut -c 1-8`

daemon_status ()
{
    ps | grep "^ *[0-9]* ${DAEMON_USER_SHORT} .*java" > /dev/null
}

case $1 in
  start)
    DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"
    
    #set the current timezone for Java so that log timestamps are accurate
    #we need to use the modern timezone names so that Java can figure out DST
    SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
    SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
    grep "^export TZ" ${DAEMON_HOME}/.profile > /dev/null \
     && sed -i "s%^export TZ=.*$%export TZ='${SYNO_TZ}'%" ${DAEMON_HOME}/.profile \
     || echo export TZ=\'${SYNO_TZ}\' >> ${DAEMON_HOME}/.profile
    
    su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} start ${DAEMON_USER} ${SYNOPKG_PKGDEST} &"
    exit 0
  ;;
  
  stop)
    su - ${DAEMON_USER} -s /bin/sh -c "${ENGINE_SCRIPT} stop ${DAEMON_USER} ${SYNOPKG_PKGDEST}"
    exit 0
  ;;
  
  status)
    if daemon_status ; then
      exit 0
    else
      exit 1
    fi
  ;;
  
  log)
    echo "${SYNOPKG_PKGDEST}/server.log"
    exit 0
  ;;
esac
 

launcher.sh

#!/bin/sh

#--------MINECRAFT/CRAFTBUKKIT server launcher script
#--------package maintained at pcloadletter.co.uk
 
#--------Allows graceful shutdown of server without CPU-specific binaries
#--------You can send commands to the running server like so:
#--------    echo say Hello players >> /tmp/stdin.minecraft
#--------    echo say Hello players >> /tmp/stdin.craftbukkit

DAEMON_USER=$2
SYNOPKG_PKGDEST=$3
DAEMON_USER_SHORT=`echo ${DAEMON_USER} | cut -c 1-8`
JAR_FILE=${SYNOPKG_PKGDEST}/$2.jar

case $1 in
  start)
    if [ -f /tmp/stdin.${DAEMON_USER} ]; then
      rm /tmp/stdin.${DAEMON_USER}
    fi
    touch /tmp/stdin.${DAEMON_USER}
    cd ${SYNOPKG_PKGDEST}
    if [ ! -f syno-marker.txt ]; then
      if [ -f server.properties ]; then
        sed -i "s/A Minecraft Server/A Synology Minecraft Server/" server.properties
  
        #ARM CPU lags a lot, so reduce drawing distance from 10 chunks to 6
        cat /proc/cpuinfo | grep "CPU architecture: 5TE" > /dev/null \
         && sed -i "s/^view-distance=10/view-distance=6/" server.properties
  
        #record that these mods have been made
        echo config updated > syno-marker.txt
      fi
    fi
    JAVA_OPTS='-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts'
    RAM=$((`free | grep Mem: | sed -e "s/^ *Mem: *\([0-9]*\).*$/\1/"`/1024))
    if [ $RAM -le 128 ]; then
      JAVA_MAX_HEAP=80M
    elif [ $RAM -le 256 ]; then
      JAVA_MAX_HEAP=192M			
    elif [ $RAM -le 512 ]; then
      JAVA_MAX_HEAP=448M
    elif [ $RAM -le 1024 ]; then
      JAVA_MAX_HEAP=896M
    elif [ $RAM -le 2048 ]; then
      JAVA_MAX_HEAP=1792M
    elif [ $RAM -gt 2048 ]; then
      JAVA_MAX_HEAP=2048M
    fi
    JAVA_START_HEAP=${JAVA_MAX_HEAP}
    tail -n 0 -f /tmp/stdin.${DAEMON_USER} | java -Xmx${JAVA_START_HEAP} -Xms${JAVA_MAX_HEAP} ${JAVA_OPTS} -jar ${JAR_FILE} nogui
  ;;

  stop)
    echo say shutting down.. >> /tmp/stdin.${DAEMON_USER}
    sleep 5
    echo stop >> /tmp/stdin.${DAEMON_USER}
    sleep 10
    kill -9 `ps | grep "^ *[0-9]* ${DAEMON_USER_SHORT}.*tail -n 0 -f /tmp/stdin.${DAEMON_USER}" | sed -e "s/^ *\([0-9]*\).*$/\1/"`
    if [ -f /tmp/stdin.${DAEMON_USER} ]; then
      rm /tmp/stdin.${DAEMON_USER}
    fi
  ;;
esac
 

Changelog:

  • 0015 updated to Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1
  • 0014 updated to Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1, and fixes for DSM 4.2
  • 013 updated to Minecraft 1.4.6, and CraftBukkit beta 1.4.6-R0.3
  • 012 updated to Minecraft 1.4.5, and CraftBukkit 1.3.2-R1.0
  • 011 updated to Minecraft 1.4.2
  • 010 updated to Minecraft 1.3.2, and CraftBukkit 1.3.1-R2.0
  • 009 package scripts fully re-written to unify the Minecraft and CraftBukkit packages
  • 008 updated to Minecraft 1.3.1, unified most scripts into a single installer script, and incorporated minor enhancements from my other packages
  • 007 updated to Minecraft 1.2.3
  • 006 reduced Java max heap to 80MB on 128MB systems, fixed timezone support each server start
  • 005 fixed Java max heap size behaviour on systems with more than 2GB RAM
  • 004 fixed wget SSL problem preventing jar download on some systems
  • 003 updated to Minecraft 1.1
  • 002 server config files are also migrated during version upgrades, and backed up during uninstall. My script’s edits to server.properties are made only once, rather than every startup
  • 001 intial public release
 
 
About these ads

682 thoughts on “Minecraft package for Synology NAS

  1. Sparwurst

    after some troubles with minecraft crashing after updating the clients to 1.8.1 I decided it might be a good point in time to refresh the instructions. So here we go – for updating to 1.8.1 or new install :) I also realized there was an error in one of the commands in my 1.8 description (chmod instead of chown) – this is corrected now. Please realize that I have zero knowledge of more than the below and in most cases cannot help with any follow up questions :(

    – stop the minecraft server first (in package center in synology diskstation)
    – open a telnet session to your diskstation, log in as root, navigate to /volume1/@appstore/Minecraft by typing:
    cd /volume1/@appstore/Minecraft/
    – rename the old minecraft.jar to minecraft.old with the mv command:
    mv minecraft.jar minecraft.old
    – get the updated minecraft server jar by typing:
    wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar
    – rename the new server.jar to the name expected:
    mv minecraft_server.1.8.jar minecraft.jar
    – change permissions:
    chown -R minecraft minecraft.jar

    IMPORTANT only for new installs: there is a new step that was not required prior to 1.8. You need to accept the EULA terms. in order to do so open the eula.txt in vi:
    vi eula.txt
    – hit a
    move the cursor a couple of lines down, delete the word FALSE and type TRUE instead. If you have no text add the line:
    EULA=TRUE
    – press ESC
    – type the following
    :wq
    hit enter
    close the terminal session

    restart minecraft in package center and enjoy

    Reply
    1. Tau_Seti

      Great directions, Sparwurst. I upgraded to a newer release of Craftbukkit after installing DSM 5.1. Everyone is all happiness again.

      Reply
  2. CedricVB

    I’m connecting fine with the server but when I change things outside my basecamp it doesn’t save. Like I put torches on another island and I disconnect, when I immediately reconnect the torches are gone. I followed the post to update to version 1.8 any thoughts?

    Reply
  3. jborms

    I have a Synology DS215j, installed the Java 7 via Java Manager, but when I’m trying to install Minecraft (version 1.5.2-0015), I allways get the message “Cannot install Minecraft”
    What am I doing wrong?

    Reply
  4. littlelama

    To install Craftbukkit here’s what I did.
    From the package manager, you can manually install this ol package http://kkweb.sk/craftbukkit1.5.2-noarch-0015.spk
    Stop the package.

    Here are some Craftbukkit mirrors found on Google. The recommended version is 1.6.4 R2.0.
    http://tcpr.ca/

    wget the file you want in your craftbukkit folder ( /volume1/@appstore/Craftbukkit)
    rename craftbukkit.jar to craftbukkit_1.5.2_old.jar
    rename the new downloaded file to craftbukkit.jar
    chown -R craftbukkit:users .

    There it is, you can launch crafbukkit.
    If you need to import you Minecraft map, copy your world folder to Craftbukkit/.

    By the way, I can’t stop my Craftbukkit server for package manager. Any issue on yours ?
    I’m still trying to find the best version of Crafbukkit for my Minecraft 1.8.1, don’t hesitate to share your feedbacks mates.

    Thanks!

    Reply
  5. littlelama

    After some tries, you can get the latest 1.8 release of Craftbukkit on the mirror I gave.
    After that, you have to check EULA.txt as sparwurst explained.
    After the first launch, server will stop.
    Go vi the eula.txt file and replace false with true.
    Then, you will notice that a logs folder appeared.
    vi /var/packages/Craftbukkit/script/start-stop-script.sh
    And replace at bottom /server.log with /logs/latest.log and save

    Now you can launch the server.
    I tried to transfer my world from Minecraft to Craftbukkit, everything didn’t went all fine LOL ! So make a try ;)

    By the way, still having the stop issue with the packat manager. I need to kill a process, doesn’t feel good, and I will need some help with that.
    Thanks you all for all your past tips, really helpfull !

    Reply
  6. Jan-Willem

    I have tried to download and install the Minecraft package on my Synology NAS following the information on this blog. However I was not able to download the Minecraft package. It seemed that the repostitory containing the package could not be reached.
    Can you please advise?

    Reply
  7. pls

    Hi
    I have DS713+ and i want to install the Minecraft package.
    It is not possible to install either Minecraft or Java from the pcloadletter source.
    There is a message “Minecraft could not be installed”. Same for Java. I made a public folder, i gave it all the rights, put the source in it and it does not work. With the Java Manager i was able to install Java 7 but installing Minecraft is not possible. Can you please help me? Where is the problem? Thank you!

    Reply
  8. giorgio

    Hi this is Giorgio and I nedd an help, if someone can…
    I have a DS 214 with 512 mb- CPU Marvel Armada XpMV 78230 (is this enough ???????????????)

    I installed the server 1.8.1 and:
    – It’s not Always reachable, sometimes the server is not available from the client
    – when a client connect, after 20 sec the server disconnct the player

    Any idea? thank you in advence

    Reply
    1. Phoenix_451

      Sounds like it could possibly be an issue with port forwarding or a firewall blocking the connection… I’m not positive but I vaguely remember a similar issue a few years ago where I had to disable my windows firewall as well as AVG until I figured out the correct settings.

      Reply
  9. johnnynine

    I have installed Minecraft via the Package Center, but the status shows as Stopped even after selecting Action->Run. I have java installed (as I also run the crashplan package). The log is completely empty so I am unable to diagnose.

    Any ideas of what I am missing or did wrong?

    Reply
  10. BN

    Hi, I’m completely new to Minecraft since my kids never play it before until recently and also my knowledge on Linux is very little, so please pardon my ignorance. Thanks.
    I have DS3612 with DSM 5 and 4GB RAM. I only followed 2 or 3 main steps in the instruction above and didn’t have any modification further. To be exact, here what I did:
    1. Enable the User Homes service
    2. From Package Center, add URL then install Java 6 and Minecraft 1.5.2
    Now DSM has “running” status (since yesterday) on both Java SE Embedded 6 1.6.0_38-0029 and Minecraft 1.5.2-0015. On my kids’ Windows 7 machines, they have Minecraft 1.8.1.
    Please, help me with these questions:
    1. On Windows 7 machines, run Minecraft and try to join Multiplayer, but it keeps scanning and does not find Minecraft on DSM. What should I do?
    2. DSM keeps pops up to notify me to update Java to latest version. Is it OK to update (for running Minecraft)?
    3. If update Java is OK, should I do it before or after update Minecraft to version 1.8.1?
    TIA

    Reply
    1. Phoenix_451

      I’m not 100% sure on any of this but some things worth trying…
      1. click direct connect and enter the IP address of the NAS (you may also need to add the port ie. 192.168.1.100:25565)
      2. I’m running a server on Java 7 and a post above had their issues fixed by upgrading
      3. before
      Hope this helps

      Reply
  11. mark

    Hello

    I am stuck trying to copy the new minecraft server file into the synology.
    I have on my Mac Desktop the new server file, but for the life of me I cannot copy it into the server !!

    i was trying to use the cp command, but getting nowhere, any ideas?

    Thanks

    Reply
  12. mark

    think i managed to get minecraft 1.8.1 file onto the server and rename it, also think i managed to accept licence agreement.

    However in Package Centre in Synology, it still shows 1.5.2-0015, does this mean I have not actually managed up update ?

    On my Sons laptop, when we connect to Minecraft Server it constantly times out and get connection refused errors !!

    Would appreciate any assistance !

    Thanks

    Reply
    1. BN

      Hey Mark,
      You’re better than me to get that far since I’m not even get connected to Minecraft Server 1.5.2 on DSM from Minecraft in Win machine :(
      Patters, correct me if I’m wrong, but the Minecraft plugin created by Patters so the description will never changed no matter which real Minecraft version you got, Mark.
      About the time out, maybe somebody else can help you with that since I’m not even got that far as mentioned above.
      By the way, if you don’t mind, can you tell me how did you manage to connect to Minecraft server on DSM from Minecraft in Win machine? What version of Java you have on DSM and on Win machines? Which version of Minecraft on Win machine are you using to connect to Minecraft 1.5.2 on DSM?

      Reply
  13. BN

    OK, just try something else while waiting for some helps. Uninstall Java 6 and install Java 7. Now try to connect from Minecraft 1.5.2 on Win machine to Minecraft 1.5.2 on DSM, it’s trying to connect then only show the error
    Failed to login: Bad login
    What login does it prefer to? How can I fix it?

    Reply
    1. Jan

      Hi Manfred,

      Thank you very much for your effort to make craftbukkit work again. I managed to get it going for my little son on a 412+. But he wants to be an op. I’ve edited the ops.json and also made an ops.txt with his name in it but it doesn’t work and the error message is “no permission”. Do you have any idea how to?

      Thanks in advance

      greetings.

      Reply
      1. Jan

        Hi again Manfred

        I did what you suggested but now the errormessage is “You are not allowed to use that command”. I changed the rights for the folder craftbukkit en also the pluginsfolder via winscp in rights for all but even that doesn’t work. This message comes in minecraft in the game itself on a laptop with a legit account.

      2. Manfred Stumpf

        Hi Jan i don´t know why my reply was posted down below, but this is what i wanted to tell you for your last question:

        Go to the file server.properties.
        Change “online-mode=false” == to ==> “online-mode=true”

        Be sure you changed the rights of all files and folders to
        group=root
        owner=craftbukkit
        with chmod 755
        ————————–
        After all restart Server.
        Hope it works now ;-)

      3. Phoenix_451

        I did this to myself last night… adding it manually for some reason did not work but I did discover this… from the server console window type: op

  14. YEMyslf

    Hi everyone. Great work on all these packages. I’m hoping someone can offer some input and assistance. I just purchased a DS214Play. This comes with one of the Intel Atom processors. My goal is to get Minecraft up and running on it. I’ve read through the blog post above and the one on Java and just had a couple questions.

    1. I know I need to download the Java files from Oracle first. The way I’m reading the blog, support for the Intel processors has been added to versions 7 & 8. Is that accurate or do I still need v 6? In either case I’m going with the x86 package right?

    2. I’m a little unclear on Craftbukkit and what it is used for. Am I installing that in addition to the minecraft package?

    3. Does this all just run the vanilla minecraft or can it be modded?

    Thanks for any input/

    Reply
      1. Hayley

        what did you do to get it working? Ive got it installed and it says its running, but theres nothing on the screen, how do i change configs etc?

  15. BN

    So I managed to upgrade to Minecraft Server 1.8.1 and able to login to play; however, now face some other issues and hope someone can offer some helps. Thanks.
    1. After upgraded Minecraft Server to 1.8.1, server.log is no longer updated might be due to owner changed to root from minecraf
    2. Minecraft Server keeps running no issue until some users logged in, Minecraft Server will stop after around half minute or so. When no user logged in, System Health of DSM shows CPU 1% and RAM 10%. After some users logged in, System Health shows CPU 10-20% and RAM is 15-25% but not sure why Minecraft Server stop suddendly since server.log is no longer updated as mentioned above.
    Please, help. Thank you.

    Reply
      1. BN

        littlelama, thank you very much for quick reply :)
        Even I don’t use Craftbukkit but it’s surely a log folder there and I can check the latest.log file directly and found that I’ve got the same error like others
        …Can’t keep up! Did the system time change, or is the server overloaded? Running 4197ms behind, skipping 83 tick(s)…
        I really appreciate it if you have any input to resolve this error. Thanks :)

    1. YEMyslf

      I have had some similar issues so I thought I’d share my experience. At this point I am just trying to get Minecraft without Craftbukkit going. I followed the instructions Sparwurst posted above but ran into some issues with the EULA. When I opened it, there were no lines, I added the EULA=True test but the package would not start. It looked like it was starting, but when I opened the latest.log, I saw: java.io.filenotfoundexception: eula.txt (Permission denied). I used WinSCP to look at the directory and noticed that root was listed as the owner of EULA.TXT. I changed this to minecraft like the other files are and tried starting the server again. Same result as before with it appearing to be running if you look at Package Manager but the log file again referenced EULA.TXT. This time it didn’t have the permission denied message. I opened EULA.TXT again and saw the full text but the EULA= was set to false. I changed to True, saved and restarted. This time I was able to login to the server from a Minecraft client but it crashed about 20-30 seconds in. The following is in the log:
      [Server Watchdog/FATAL]: A single server tick took 60.00 seconds (should be max 0.05)

      Any suggestions?

      Reply
      1. Manfred Stumpf

        Hi, go to the file server.properties.
        Change “online-mode=false” == to ==> “online-mode=true”

        Be sure you changed the rights of all files and folders to
        group=root
        owner=craftbukkit
        with chmod 755
        ————————–
        After all restart Server.
        Hope it works now ;-)

  16. CutMaster

    Hi,
    Same as for PLS, it is simply impossible to install any package (Minecraft, Java) from your repository. I always get error like “Java could not be installed” or “Minecraft could not be installed”. Is it possible to get some help please ? Thanks a lot.

    Reply
  17. tittano

    I have done all details indicated in your comments but I can connect to my server with my local ip but nor my friends from outside
    I have opened the ports 25565 in my synology and my internet router
    Something else to do ? Thanks a lot.

    Reply
  18. tittano

    Something else : In fact even from my local IP after some minutes it stop with the message :
    java.net.connect….

    It’s a DS215j with DSM5 and java 7

    Reply
  19. tittano

    Hi,

    I have installed the spk gave by Manfred Stumpf and it works during few minutes in my DS215j then the minecraft application stopped with the following error message :
    Connection lost
    internal exception : java.io.IOException: Connection reset by peer

    I can restart it from my synology but each time the connection is lost.

    Reply
    1. Manfred Stumpf

      I need the details out of the log file to help you out. What does ist tell you?
      ../volume1/@appstore/Minecraft/logs/latest.log
      Also if exist the latest lines out of the crash-reports ..
      ../volume1/@appstore/Minecraft/crash-reports/crash-2015-??-??_??.??.??-server.txt

      Best regards – M.St

      Reply
      1. tittano

        You can go to yopmail.com with tittano user and you will have the logs

        Thanks a lot for your help

      2. tittano

        [09:06:51] [Server thread/INFO]: Starting minecraft server version 1.8.1
        [09:06:51] [Server thread/WARN]: To start the server with more ram, launch it as “java -Xmx1024M -Xms1024M -jar
        [09:06:51] [Server thread/INFO]: Loading properties
        [09:06:51] [Server thread/INFO]: Default game type: SURVIVAL
        [09:06:51] [Server thread/INFO]: Generating keypair
        [09:06:53] [Server thread/INFO]: Starting Minecraft server on *:25565
        [09:06:53] [Server thread/INFO]: Using default channel type
        [09:06:55] [Server thread/INFO]: Preparing level “world”
        [09:06:55] [Server thread/INFO]: Preparing start region for level 0
        [09:06:56] [Server thread/INFO]: Preparing spawn area: 2%
        [09:06:57] [Server thread/INFO]: Preparing spawn area: 8%
        [09:06:58] [Server thread/INFO]: Preparing spawn area: 18%
        [09:06:59] [Server thread/INFO]: Preparing spawn area: 30%
        [09:07:00] [Server thread/INFO]: Preparing spawn area: 43%
        [09:07:01] [Server thread/INFO]: Preparing spawn area: 58%
        [09:07:02] [Server thread/INFO]: Preparing spawn area: 73%
        [09:07:03] [Server thread/INFO]: Preparing spawn area: 88%
        [09:07:04] [Server thread/INFO]: Done (9.803s)! For help, type “help” or “?”
        [19:16:53] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running
        [19:26:37] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running
        ~

    2. Manfred Stumpf

      It is a client problem If the server on the synology is still running and you get a peer problem i think . Try this if you have a mac..
      1) Go into your system Preferences (under the apple logo on the top lefthand corner)
      2)Click the java icon
      3)Go into the control panel
      4)Under “Temporary Internet Files” Click Settings
      5)Press Delete Files and Your Done
      If you use a windows client, create a new profile. Goto %appdata% and delete the .minecraft folder. Use the ip of your synology first before you try the DDNS name.

      I tried the *spk once again today and i got no problems in any way.

      Reply
  20. Manfred Stumpf

    Hi tittano, well i see a RAM warning..
    [09:06:51] [Server thread/WARN]: To start the server with more ram, launch it as “java -Xmx1024M -Xms1024M -jar
    How many RAM does your system have?

    Reply
      1. Manfred Stumpf

        Jep i saw it on a web page searched by google. Well to use Minecraft or Craftbukkit you need minimum 1024 MB RAM i guess to keep it running, nor to play on it. I think you have two possibilities to try out.
        1. Reduce the used RAM by changing “view-distance=10″ into “view-distance=6″ in server.properties
        2. Buy extra RAM for your System. Try it like this.. http://stadt-bremerhaven.de/arbeitsspeicher-bei-einem-synology-nas-aufruesten/

        Hope it helps.

  21. tittano

    Serveur_Nas> java -Xmx1024M -Xms1024M -jar minecraft.jar nogui
    [20:47:32] [Server thread/INFO]: Starting minecraft server version 1.8.1
    [20:47:32] [Server thread/INFO]: Loading properties
    [20:47:32] [Server thread/INFO]: Default game type: SURVIVAL
    [20:47:32] [Server thread/INFO]: Generating keypair
    [20:47:35] [Server thread/INFO]: Starting Minecraft server on *:25565
    Java HotSpot(TM) Client VM warning: You have loaded library /tmp/libnetty-transport-native-epoll602402255693642298.so which might have disabled stack guard. The VM will try to fix the stack guard now.
    It’s highly recommended that you fix the library with ‘execstack -c ‘, or link it with ‘-z noexecstack’.
    [20:47:35] [Server thread/INFO]: Using default channel type
    [20:47:36] [Server thread/INFO]: Preparing level “world”
    [20:47:36] [Server thread/INFO]: Preparing start region for level 0
    [20:47:38] [Server thread/INFO]: Preparing spawn area: 0%
    [20:47:39] [Server thread/INFO]: Preparing spawn area: 5%
    [20:47:40] [Server thread/INFO]: Preparing spawn area: 10%
    [20:47:41] [Server thread/INFO]: Preparing spawn area: 19%
    [20:47:42] [Server thread/INFO]: Preparing spawn area: 32%
    [20:47:43] [Server thread/INFO]: Preparing spawn area: 47%
    [20:47:44] [Server thread/INFO]: Preparing spawn area: 63%
    [20:47:45] [Server thread/INFO]: Preparing spawn area: 76%
    [20:47:46] [Server thread/INFO]: Preparing spawn area: 88%
    [20:47:47] [Server thread/INFO]: Preparing spawn area: 98%
    [20:47:47] [Server thread/INFO]: Done (11.224s)! For help, type “help” or “?”
    [20:47:52] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 2229ms behind, skipping 44 tick(s)
    [20:48:47] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 32033ms behind, skipping 640 tick(s)
    [20:48:53] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 5848ms behind, skipping 116 tick(s)
    [20:49:43] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 36301ms behind, skipping 726 tick(s)
    [20:49:56] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 6088ms behind, skipping 121 tick(s)

    Reply
  22. Manfred Stumpf

    @tittano i am not a programmer but i have made a thread in a german synology forum for your problem because I am interested in this case. I hope they can tell me more about the library problem. On my DS712+ the *spk works like a charm. I will let you know if they have a solution.

    Reply
    1. Bas

      Before I installed from pcloadletter’s repository.
      I now tried installing your spk.
      Then it gave me an “not signed” error.

      I looked in the Package Center Setting and saw a Trust Level setting.
      There I checked All Publishers.
      Now I was able to install from pcloadletter’s repository!

      Thanks for the reply!

      Reply
  23. Manfred Stumpf

    – Paket 1: Craftbukkit 1.8.x Server –
    *.spk https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPXzlXV19lRHVKQ2c

    – Paket 2: Minecraft 1.8.1 Server –
    *.spk https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPZ0dycXdpU1pzM0E

    – Paket 3: Minecraft 1.8.3 Server –
    *.spk https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPcnBDdWdvWlZYQmc

    – Paket 4: Hexxit Mod Pack 1.10.1 on Bukkit 1.5.2 Server + mcplus –
    *.spk https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPcll1VWlpVDJGMEE

    – Paket 5: Call of Duty 2 Server –
    *.spk https://drive.google.com/uc?export=download&confirm=9aCY&id=0BwYSORGhMcYPczNjd3RPb21DUm8

    Have fun!

    Reply
  24. Kevin McNamee

    Hi,

    thanks for the package and instructions. The version of the Minecraft server that is installed is very old (1.5.2). Here’s what worked for me.

    1) Get an Oracle account and download the embedded Java package
    2) Create a “public” folder on the Synology using the File Station and upload the package there.
    3) In the Package Center settings, add pcloadletter as a Package Source, and under General set the Trust Level to “Any publisher”.
    4) Install the Java SE Embedded package. This will fetch the uploaded Java file.
    5) Install the Minecraft package. This installs v1.5.2.
    6) Download the latest Minecraft server jar from minecraft.net.
    7) Upload it to the “public” folder.
    8) Using SSH, login as root on the Synology and upgrade Minecraft:
    # cd /volume1/@appstore/Minecraft
    # cp /volume1/public/minecraft_server.1.8.3.jar minecraft.jar
    9) Go to the Package Center and start the Minecraft server. The server will stop immediately.
    10) Edit /volume1/@appstore/Minecraft/eula.txt and set “eula=true”.
    11) Also, update the location of the server.log file:
    # cd /volume1/@appstore/Minecraft
    # rm server.log
    # ln -s logs/latest.log server.log
    12) Update the package information (no impact on functionality, just looks nicer). Edit /var/packages/Minecraft/INFO and set “version” to the actual server version.
    13) Start the Minecraft server in the Package Center. Note that the version number should be correct and the log file should be working.
    14) Restore the Package Center Trust Level to its previous value.

    Updating the Minecraft server to newer versions is simple and will not delete your world.

    1) Stop the Minecraft server
    2) Download the latest Minecraft server jar from minecraft.net.
    3) Upload it to the “public” folder.
    4) Using SSH, login as root on the Synology and upgrade Minecraft:
    # cd /volume1/@appstore/Minecraft
    # cp /volume1/public/minecraft_server.1.8.3.jar minecraft.jar
    5) Start the Minecraft server again.

    To delete your world and start again:

    1) Stop the Minecraft server
    2) Using SSH, login as root on the Synology and remove the world folder:
    # cd /volume1/@appstore/Minecraft
    # rm -rf world
    3) Start the Minecraft server again. It takes a few minutes for a new world to be generated.

    Reply
  25. Andrew Neil Clark

    I have installed the Minecraft package on my DS412 and upgraded the .jar file to 1.8.3 to match my sons’ Minecraft versions running on their laptops according to Sparwurst’s directions. Now I have the problem that we cannot log into the Minecraft server using the local network (haven’t tried externally). We enter the IP address of the NAS as shown in the Webman browser window (192.168.1.203). We get the message “can’t connect to server”.
    I feel like there must be something very simple that I am missing. Any help would be greatly appreciated! I am NOT technically minded so feel quite chuffed to have even got this far… great help on here in overcoming several issues already.

    Reply
  26. Arne

    When i try to install the Minecraft package on my Synology DS1813+ running the latest DSM install i just get an error message saying “unable to install” and that’s it. Any input on what to do?

    Reply
  27. Manfred Stumpf

    Link aktualisation ..

    – Paket 1: Craftbukkit 1.8.x Server –
    *.spk: https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPX29YbGVKeENHSlU
    Watch: https://www.youtube.com/watch?v=1Atw5UEqGaQ

    – Paket 7: Call of Duty 4 MW (1.7) Server –
    *.spk: https://drive.google.com/uc?export=download&confirm=9aCY&id=0BwYSORGhMcYPMVpMUjFUUzliVTQ

    – Paket 8: Teamspeak 3 Server –
    *.spk: https://drive.google.com/uc?export=download&confirm=tRcE&id=0BwYSORGhMcYPV0h1M3I3OUItLVk
    Watch: https://www.youtube.com/watch?v=GrhRB-Hm2eo

    Reply
  28. planetwilson

    @Andrew Neil Clark – got exactly the same problem. I upgraded so I am running 1.8.4. No errors in the log but cannot get any clients to see the server. Should it just pop up and appear in the list or would I always have to specify the address manually?
    Tried PS4 and iPhone clients.

    Reply
  29. planetwilson

    Okay now the more I read it seems that there are various versions of everything! My iPhone and iPad are running Minecraft PE which looks like it cannot talk to this server but needs to talk to a Minecraft PE server. Secondly my PS4 will only ever talk to PSN based stuff. Only PC versions of Minecraft are going to be able to talk to my server. What a load of rubbish.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s