How to setup a Ubuntu CraftBukkit Server (x64) running Java x64

Discussion in 'Bukkit Help' started by TnT, Jan 15, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    LinkterSHD

    Really USEFUL thank you so much TnT
     
  2. Offline

    palisade

    I use the following runmc script to launch craftbukkit.jar. It lets you start, stop, grab an update, backup, or run commands in the background via screen on your server without an interactive terminal open. It'll even handle saving the world and turning off world saves before backing up, and then turning it back on afterwards. Rename your craftbukkit-v-v-RCn.jar to just craftbukkit.jar for this script to work. The update even verifies if the website has a new jar available or not before bothering to update.

    Also anywhere where it says /home/palisade/mc point it to your minecraft directory instead, and set USERNAME to the user you run mc as. In addition make sure BACKUPPATH is set to a location you store backups, preferably one that is backed up on a remote drive. That way if the platter in your server fails you have a remote backup of the worlds. You could call `runmc backup` in a cron job at a certain interval to back up the world (e.g. every 30 mins), and maybe change the cp line to a zip, bzip2 or 7z if you want to save space. You might need to add additional worlds, like the world-nether directory, this script only handles the main world.

    I've set java to use 2gb, you might want to adjust this to your personal preference. Also, my server had 4 cores, so you'll want to adjust the CPU_COUNT. Anywhere that says mcserver is the screen session name, if you want to change that.

    I rewrote the original script for this from minecraft's wiki to work with bukkit:
    http://www.minecraftwiki.net/wiki/Server_startup_script

    I wanted to put this up on bukkit's wiki but the page was locked, so I'm posting it in the forum instead. Enjoy! Hope it helps. :p

    Code:
    #!/bin/bash
    # /home/palisade/mc
    # version 0.3.6 2011-10-17 (YYYY-MM-DD)
     
    ### BEGIN INIT INFO
    # Provides:  minecraft
    # Required-Start: $local_fs $remote_fs
    # Required-Stop:  $local_fs $remote_fs
    # Should-Start:  $network
    # Should-Stop:    $network
    # Default-Start:  2 3 4 5
    # Default-Stop:  0 1 6
    # Short-Description:    mc server
    # Description:    starts mc server
    ### END INIT INFO
     
    #Settings
    SERVICE='craftbukkit.jar'
    OPTIONS='nogui'
    USERNAME='palisade'
    WORLD='world'
    MCPATH='/home/palisade/mc'
    BACKUPPATH='/home/palisade/mcbackup'
    CPU_COUNT=4
    INVOCATION="java -Xmx2048M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE $OPTIONS"
     
    ME=`whoami`
    as_user() {
      if [ $ME == $USERNAME ] ; then
        bash -c "$1"
      else
        su - $USERNAME -c "$1"
      fi
    }
     
    mc_start() {
      if  pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is already running!"
      else
        echo "Starting $SERVICE..."
        cd $MCPATH
        as_user "cd $MCPATH && screen -dmS mcserver $INVOCATION"
        sleep 7
        if pgrep -u $USERNAME -f $SERVICE > /dev/null
        then
          echo "$SERVICE is now running."
        else
          echo "Error! Could not start $SERVICE!"
        fi
      fi
    }
     
    mc_saveoff() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running... suspending saves"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-off\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-all\"\015'"
        sync
        sleep 10
      else
        echo "$SERVICE is not running. Not suspending saves."
      fi
    }
     
    mc_saveon() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running... re-enabling saves"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-on\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
      else
        echo "$SERVICE is not running. Not resuming saves."
      fi
    }
     
    mc_stop() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "Stopping $SERVICE"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-all\"\015'"
        sleep 10
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"stop\"\015'"
        sleep 7
      else
        echo "$SERVICE was not running."
      fi
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "Error! $SERVICE could not be stopped."
      else
        echo "$SERVICE is stopped."
      fi
    }
     
    mc_update() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running! Will not start update."
      else
    #    MC_SERVER_URL=http://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar?v=`date | sed "s/[^a-zA-Z0-9]/_/g"`
        MC_SERVER_URL=http://dl.bukkit.org/latest-rb/craftbukkit.jar
        as_user "cd $MCPATH && wget -q -O $MCPATH/craftbukkit.jar.update $MC_SERVER_URL"
        if [ -f $MCPATH/craftbukkit.jar.update ]
        then
          if `diff $MCPATH/$SERVICE $MCPATH/craftbukkit.jar.update >/dev/null`
          then
            echo "You are already running the latest version of $SERVICE."
          else
            as_user "mv $MCPATH/craftbukkit.jar.update $MCPATH/$SERVICE"
            echo "Minecraft successfully updated."
          fi
        else
          echo "Minecraft update could not be downloaded."
        fi
      fi
    }
     
    mc_backup() {
      echo "Backing up minecraft world..."
      if [ -d $BACKUPPATH/${WORLD}_`date "+%Y.%m.%d_%H.%M"` ]
      then
        for i in 1 2 3 4 5 6
        do
          if [ -d $BACKUPPATH/${WORLD}_`date "+%Y.%m.%d_%H.%M"`-$i ]
          then
            continue
          else
            as_user "cd $MCPATH && cp -r $WORLD $BACKUPPATH/${WORLD}_`date "+%Y.%m.%d_%H.%M"`-$i"
            break
          fi
        done
      else
        as_user "cd $MCPATH && cp -r $WORLD $BACKUPPATH/${WORLD}_`date "+%Y.%m.%d_%H.%M"`"
        echo "Backed up world"
      fi
      echo "Backing up $SERVICE"
      if [ -f "$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`.jar" ]
      then
        for i in 1 2 3 4 5 6
        do
          if [ -f "$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`-$i.jar" ]
          then
            continue
          else
            as_user "cd $MCPATH && cp $SERVICE \"$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`-$i.jar\""
            break
          fi
        done
      else
        as_user "cd $MCPATH && cp $SERVICE \"$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`.jar\""
      fi
      echo "Backup complete"
    }
     
    mc_command() {
      command="$1";
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        pre_log_len=`wc -l "$MCPATH/server.log" | awk '{print $1}'`
        echo "$SERVICE is running... executing command"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"$command\"\015'"
        sleep .1 # assumes that the command will run and print to the log file in less than .1 seconds
        # print output
        tail -n $[`wc -l "$MCPATH/server.log" | awk '{print $1}'`-$pre_log_len] "$MCPATH/server.log"
      fi
    }
     
    #Start-Stop here
    case "$1" in
      start)
        mc_start
        ;;
      stop)
        mc_stop
        ;;
      restart)
        mc_stop
        mc_start
        ;;
      update)
        mc_stop
        mc_backup
        mc_update
        mc_start
        ;;
      backup)
        mc_saveoff
        mc_backup
        mc_saveon
        ;;
      status)
        if pgrep -u $USERNAME -f $SERVICE > /dev/null
        then
          echo "$SERVICE is running."
        else
          echo "$SERVICE is not running."
        fi
        ;;
      command)
        if [ $# -gt 1 ]; then
          shift
          mc_command "$*"
        else
          echo "Must specify server command (try 'help'?)"
        fi
        ;;
     
      *)
      echo "Usage: runmc {start|stop|update|backup|status|restart|command \"server command\"}"
      exit 1
      ;;
    esac
     
    exit 0
     
  3. Offline

    TnT

    I have this: http://dev.bukkit.org/server-mods/ascii-bukkit-menu/
     
  4. Offline

    palisade

    I decided to look into the ascii-bukkit-menu and other than ramdisk my script and theirs does almost the same thing except that you can see when users join/leave. However, if you had 200 users it wouldn't work anyways. Also, you can't detach the screen in interactive mode or you lose the vertical layout when you reattach. Worth noting, they check if the process ID is still running before they move on, instead of just sleeping an arbitrary amount of time which is an improvement over what I was doing which became a problem as more plugins were being added to the server. The only real advantage the script I provided had was the ability to backup the world and bukkit jar.

    I went ahead and modified ascii-bukkit-menu some and added the following features:

    --status - this will print out running or stopped to let you know the state of your server
    --restart - allows you to restart your server
    --backup - performs a backup of your world and bukkit jar

    And, I created a recover.sh and placed it in Ascii-Bukkit-Menu like so (make this chmod +x):

    Code:
    #!/bin/bash
    /home/USERNAME/Ascii-Bukkit-Menu/abm.sh --status>/dev/null
     
    if [[ 1 == $? ]]; then
            /home/USERNAME /Ascii-Bukkit-Menu/abm.sh --start
    fi
    This recovers from a crash and brings the server back up if you call it in a cron job. You can set up a cron job by typing: crontab -e

    And then paste the following to give it a 5 minute interval check (this is lightweight since it only does a --status, which will only check the pid if it is still running):

    Code:
    */5 * * * * /home/USERNAME/Ascii-Bukkit-Menu/recover.sh
    I'll go ahead and zip this up and make it available for anyone who wants to try out my changes. Go ahead and grab the latest abm and install it and set it up, then you can just drop functions.sh and menu.sh in the scripts dir and overwite your abm.sh with mine, and drop recover.sh next to abm.sh. Just make sure to edit each and every one of these scripts and change /home/palisade to your own path.

    Here are my changes... I fixed a bug in the previous abm.sh, this one should be fine now.

    http://rm-f.net/~palisade/abm-new-v1-1.tgz

    There is a bug in updating that was in the original abm, I haven't had a chance to fix it yet. Been scurrying to get my bukkit server compliant with 1.2.

    Enjoy!
     
  5. Offline

    palisade

    I decided to paste this as a new comment just in case someone still wants to use the previous script that simply copies the folder to the backup directory. That is faster than compressing, and since your world is in readonly mode while this is happening users might be unhappy if it takes too long. So, there's a disadvantage to doing it this way, as long as you're aware of that here it is.

    Note again that you should change CPU_COUNT and anywhere it says USERNAME, and set your BACKUPPATH and WORLD* variables to point to the correct paths.

    This version compresses the world folders with a progress bar, and handles nether and the end as well. It requires you have pv (pipeviewer) installed which you can get from sourceforge or apt-get, etc.

    Code:
    #!/bin/bash
    # /home/USERNAME/mc
     
    ### BEGIN INIT INFO
    # Provides:  minecraft
    # Required-Start: $local_fs $remote_fs
    # Required-Stop:  $local_fs $remote_fs
    # Should-Start:  $network
    # Should-Stop:    $network
    # Default-Start:  2 3 4 5
    # Default-Stop:  0 1 6
    # Short-Description:    mc server
    # Description:    starts mc server
    ### END INIT INFO
     
    #Settings
    SERVICE='craftbukkit.jar'
    OPTIONS='nogui'
    USERNAME='USERNAME'
    WORLD='world'
    WORLDNETHER='world_nether'
    WORLDEND='world_the_end'
    MCPATH='/home/USERNAME/mc'
    BACKUPPATH='/home/USERNAME/mcbackup'
    CPU_COUNT=4
    INVOCATION="java -Xmx2048M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE $OPTIONS"
     
    ME=`whoami`
    as_user() {
      if [ $ME == $USERNAME ] ; then
        bash -c "$1"
      else
        su - $USERNAME -c "$1"
      fi
    }
     
    mc_start() {
      if  pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is already running!"
      else
        rm -f "$MCPATH/server.log"
        echo "Starting $SERVICE..."
        cd $MCPATH
        as_user "cd $MCPATH && screen -dmS mcserver $INVOCATION"
        sleep 7
        if pgrep -u $USERNAME -f $SERVICE > /dev/null
        then
          echo "$SERVICE is now running."
        else
          echo "Error! Could not start $SERVICE!"
        fi
      fi
    }
     
    mc_saveoff() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running... suspending saves"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER BACKUP STARTING. Server going readonly...\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-off\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-all\"\015'"
        sync
        sleep 10
      else
        echo "$SERVICE is not running. Not suspending saves."
      fi
    }
     
    mc_saveon() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running... re-enabling saves"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-on\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
      else
        echo "$SERVICE is not running. Not resuming saves."
      fi
    }
     
    mc_stop() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "Stopping $SERVICE"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015'"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"save-all\"\015'"
        sleep 10
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"stop\"\015'"
        sleep 20
      else
        echo "$SERVICE was not running."
      fi
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "Error! $SERVICE could not be stopped."
      else
        echo "$SERVICE is stopped."
      fi
    }
     
    mc_update() {
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        echo "$SERVICE is running! Will not start update."
      else
    #    MC_SERVER_URL=http://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar?v=`date | sed "s/[^a-zA-Z0-9]/_/g"`
        MC_SERVER_URL=http://dl.bukkit.org/latest-rb/craftbukkit.jar
        as_user "cd $MCPATH && wget -q -O $MCPATH/craftbukkit.jar.update $MC_SERVER_URL"
        if [ -f $MCPATH/craftbukkit.jar.update ]
        then
          if `diff $MCPATH/$SERVICE $MCPATH/craftbukkit.jar.update >/dev/null`
          then
            echo "You are already running the latest version of $SERVICE."
          else
            as_user "mv $MCPATH/craftbukkit.jar.update $MCPATH/$SERVICE"
            echo "Minecraft successfully updated."
          fi
        else
          echo "Minecraft update could not be downloaded."
        fi
      fi
    }
     
    mc_backup_world() {
      echo "Backing up world... $1"
      if [ -d $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"` ]
      then
        for i in 1 2 3 4 5 6
        do
          if [ -d $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"`-$i ]
          then
            continue
          else
            as_user "cd $MCPATH && tar -cf - $1 | pv | gzip - > $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"`-$i.tgz"
    #        as_user "cd $MCPATH && cp -r $1 $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"`-$i"
            break
          fi
        done
      else
        as_user "cd $MCPATH && tar -cf - $1 | pv | gzip - > $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"`-$i.tgz"
    #    as_user "cd $MCPATH && cp -r $1 $BACKUPPATH/${1}_`date "+%Y.%m.%d_%H.%M"`"
        echo "Backed up world"
      fi
    }
     
    mc_backup_service() {
      echo "Backing up $SERVICE"
      if [ -f "$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`.jar" ]
      then
        for i in 1 2 3 4 5 6
        do
          if [ -f "$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`-$i.jar" ]
          then
            continue
          else
            as_user "cd $MCPATH && cp $SERVICE \"$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`-$i.jar\""
            break
          fi
        done
      else
        as_user "cd $MCPATH && cp $SERVICE \"$BACKUPPATH/craftbukkit_`date "+%Y.%m.%d_%H.%M"`.jar\""
      fi
      echo "Backup complete"
    }
     
    mc_command() {
      command="$1";
      if pgrep -u $USERNAME -f $SERVICE > /dev/null
      then
        pre_log_len=`wc -l "$MCPATH/server.log" | awk '{print $1}'`
        echo "$SERVICE is running... executing command"
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"$command\"\015'"
        sleep .1 # assumes that the command will run and print to the log file in less than .1 seconds
        # print output
        tail -n $[`wc -l "$MCPATH/server.log" | awk '{print $1}'`-$pre_log_len] "$MCPATH/server.log"
      fi
    }
     
    #Start-Stop here
    case "$1" in
      start)
        mc_start
        ;;
      stop)
        mc_stop
        ;;
      restart)
        as_user "screen -p 0 -S mcserver -X eval 'stuff \"say SERVER REBOOTING IN 10 SECONDS, WILL BE BACK IN 30 to 40 SECONDS...\"\015'"
        mc_stop
        sleep 5
        mc_start
        ;;
      update)
        mc_stop
        mc_backup_world $WORLD
        mc_backup_world $WORLDNETHER
        mc_backup_world $WORLDEND
        mc_backup_service
        mc_update
        mc_start
        ;;
      backup)
        mc_saveoff
        mc_backup_world $WORLD
        mc_backup_world $WORLDNETHER
        mc_backup_world $WORLDEND
        mc_backup_service
        mc_saveon
        ;;
      status)
        if pgrep -u $USERNAME -f $SERVICE > /dev/null
        then
          echo "$SERVICE is running."
        else
          echo "$SERVICE is not running."
        fi
        ;;
      command)
        if [ $# -gt 1 ]; then
          shift
          mc_command "$*"
        else
          echo "Must specify server command (try 'help'?)"
        fi
        ;;
     
      *)
      echo "Usage: mc {start|stop|update|backup|status|restart|command \"server command\"}"
      exit 1
      ;;
    esac
     
    exit 0

    NOTE: You may want to replace the backup stuff I posted above with something easier like:

    Code:
    backupWorld() {
      echo "Backing up $1"
      as_user "tar -cf - $1 | pv | gzip - > $BACKUP/$1.tgz"
    }
     
    backupService() {
      echo "Backing up craftbukkit.jar"
      as_user "cp $bukkitdir/$cbfile $BACKUP/$cbfile"
      echo "Backup complete"
    }
     
    performBackup() {
            PATHDATE=`date "+%Y.%m.%d_%H.%M"`
            BACKUP="$BACKUPPATH/$PATHDATE"
            mkdir $BACKUP
            backupWorld $WORLD
            backupWorld $WORLDNETHER
            backupWorld $WORLDEND
            backupService
    }
    You'll see a result when you run it like:

    Code:
    Server Already Running..
    SERVER BACKUP STARTING.. Server going readonly...
    Backing up world
    241MB 0:00:18 [12.9MB/s] [                                <=>                                                      ]
    Backing up world_nether
    18.3MB 0:00:01 [  13MB/s] [  <=>                                                                                    ]
    Backing up world_the_end
    7.2MB 0:00:00 [  33MB/s] [ <=>                                                                                      ]
    Backing up craftbukkit.jar
    Backup complete
    SERVER BACKUP ENDED. Server going read-write...
    Sync complete. Server now read-write.
    This second example will create a directory that is simply a date inside your backup path. So, if your path is /home/user/mcbackup then it'll look like:

    Code:
    mcbackup/2012.03.03_20.17:
    total 183000
    -rw-r--r-- 1 palisade users  11039568 Mar  3 20:17 craftbukkit.jar
    -rw-r--r-- 1 palisade users  10929243 Mar  3 20:17 world_nether.tgz
    -rw-r--r-- 1 palisade users 164793721 Mar  3 20:17 world.tgz
    -rw-r--r-- 1 palisade users    414340 Mar  3 20:17 world_the_end.tgz
     
  6. Offline

    Solaridors

    I Dont understandt part 1 i dowload it but dont know how to instal it
     
  7. Offline

    Xptical

  8. Offline

    TheEstMacRam

    s
    sorry dude, but It does not, I can prove it, because I use OpenJDK 7 instead of oracle or sun java, and I can run minecraft with no problem at all, also my bukkit server works perfectly.
     
  9. Offline

    arweth

    Mate before you reply to a post especially regarding something about compatibility check how old the post is. Unless you are running the version that was current on the 16th of Jan 2011 then you cant say it did back then. It may work now with the latest versions but back then it obviously didn't.
     
  10. Offline

    blackice504

    Hi TNT i also use Ubuntu 64 bit Server working well, but read your tutorial anyway because you never know there maybe new tricks, here is my one for Sun Java 64bit.
    i hope this helps your tut,

    sudo apt-get install python-software-properties
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    java -version

    this was done on ubuntu64 bit linux 12.4

    This is a simpler way to install java.
    pm me if you have any problems.

    Great Tutorial.

    Java just changed there agreements, so if the first script not work this will

    sudo sh -c "echo 'deb http://www.duinsoft.nl/pkg debs all' >> /etc/apt/sources.list"
    sudo apt-get update
    sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 5CB36B26
    sudo apt-get update
    sudo apt-get install update-sun-jre
    java -version

    people if you use it more then once make a javaupdate.sh ;)
     
    Vern8k likes this.
  11. Offline

    waco001

    Will this work for the normal desktop version too? Thx
     
  12. Offline

    TnT

    Yes, they are very similar in nature.
     
  13. Offline

    Vern8k

  14. Offline

    Zeppelin

  15. Offline

    West_Dover

    TnT I need your help....
    I have already existing Bukkit server that I downloaded onto the OS. I created the file "start.sh" but i dont know how or where to download Java 64... Also i cant figure out how to SSH from my mac.

    Please help,
    West
     
  16. Offline

    TnT

  17. Offline

    computerman_

    i'm getting two errors that are repeating very fast they'er,
    Code:
    at net.minecraft.server.v_16_R2.PropertyManager.a(PropertyManger.java:66)
    at net.minecraft.server.v_16_R2.PropertyManager.savePropertiesFile(PropertyManger.java:82)
    
    and i'm also runing X32 bit not X64
     
  18. Offline

    TnT

    computerman_
    Pastebin your full server.log - that doesn't look to be an error with CraftBukkit.
     
  19. Offline

    computerman_

    TnT
    it was the start up code its fixed do you, do you still want me to paste it?
     
  20. Offline

    TnT

    I am interested in seeing details on the problem and what you did to fix it. :)
     
  21. Offline

    computerman_

    TnT
    i just used a different java code to start it that is in the coments that you might of posted, or i used the code on wiki
    :| i just noticed it didn't create the server.log with the errors sorry, also the java installation Din't work for me i used a command i found on a different forums for ubuntu "sudo apt-get install open-7-jdk icedtea-7-plugin" and last of all Thanks for the tutorial
     
  22. Offline

    TnT

    computerman_
    Ahh. My tutorial installs Oracle Java, not OpenJDK. Glad you found the rest of the tutorial useful. :)
     
    zaphodikus likes this.
  23. Offline

    LandonTheGeek

    I love how this was made back in 2011 but still gets great feedback. :) And it should, because this is a great tutorial. Very detailed and well done! :D TnT
     
  24. Offline

    Iroh

    Just set up my first vps for my new server this was a god send :)

    Just a note the auto-extracting of the jre file didn't work for me and I needed to use tar
    Code:
    tar -xvf /tmp/jre-7u67-linux-x64
    
    Not sure if this is a common problem or not but it might be worth including a note in the tutorial.
     
  25. Offline

    ZodiacTheories

  26. Offline

    LHammonds

    If a post adds information not previously mentioned, its OK in my book, even if extremely necrotic in nature (however, I have seen threads locked in similar situations before. hehehe)
     
  27. Offline

    Tabardia

    I got stuck at step 3, any updated info on how to do it?
    Guide seems nice though, thank you!
     
  28. Offline

    TnT

    Tabardia likes this.
  29. Offline

    Tabardia

    I figured it out and your guide was great help! just bypassed that step and downloaded the jar I wanted from bukkit.
     
  30. Offline

    Adb543MC

    When i hit the Windows download, it tells me there is a error and page can not be found... Any Help????
     
Thread Status:
Not open for further replies.

Share This Page