Tag Archives: minecraft

JavaOne4Kids 2015 Wrapup – Devoxx4Kids and Oracle Academy Together!

JavaOne4Kids is focused on promoting technology to next generation of developers; kids who want to learn more about programming, robotics and engineering.

Oracle Academy collaborated with Devoxx4Kids to bring kids content that includes several topics like Minecraft Modding, Java, Python, Scratch, Raspberry Pi, Arduino, NAO robot, LEGO Mindstorms, Greenfoot, Alice, and others at JavaOne 2015.

The attendance grew 3x from last year and it was certainly very heartening to see that!

If you live in/around San Francisco Bay Area, and want a more continued experience through out the year, then its highly recommend to join meetup.com/Devoxx4Kids-BayArea/!

Here are some statistics from the event:

javaone4kids-2015-boys-girls

A survey was sent to the attendees and some of them responded back. 95% of responses rated were happy with the event:

javaone4kids-2015-rate

90%+ would recommend JavaOne4Kids to a friend:

javaone4kids-2015-recommend

Instructors seem to have done a good job with 97% presenting in good, very good, and excellent way:

javaone4kids-2015-clear-way

Minecraft Modding continues to be the top rated workshop:

javaone4kids-2015-course

Here are some pictures from the event:

 
 Oracle Oracle
 Oracle Oracle
 Oracle Oracle
 
 

Check out the complete album:

JavaOne4Kids 2015 Album

Picture is worth a thousand words, and a video is worth a million words. Check out kids in action from the event, and then subsequently in JavaOne Community Keynote:

It takes a village to run an event like this. This was certainly not possible without the impeccable support from Oracle team, instructors, and volunteers who helped us through out the event!

Do we expect these kids to come back to again next year? Yes, absolutely!

At least, 88% of them want to come back :)

javaone4kids-2015-another-event

Don’t forget to join the local meetup.com/devoxx4kids-bayarea for local events in Bay Area.

Minecraft Modding at Schools and Libraries

Introduction to programming languages to kids need to be gamified. They typically seem to like it, and in the process, they  also develop a liking for the language. They also have a better understanding of the typical code and run steps that is common in a software developer’s life.

Getting Started with Java for Kids

As part of Devoxx4Kids, my son and I have been teaching Minecraft Modding workshop for 2+ years now. We’ve personally reached out to 2000+ kids in Bay Area and other parts of the world, and help them write first Hello World program for Java. And its not the conventional public static void main, its a Minecraft Mod. This workshop has also been used at several other Devoxx4Kids chapters around the world.

As part of our workshops, “code” to kids is copy/pasting the text from the website and understanding it. “Build” is just clicking a button in Eclipse bringing Minecraft launcher. Once the game comes up, they know how to play it and see instant modifications. They don’t have to wait for Hello World to appear on their screen. They type “potato” and see a stack of 64 potatoes in their inventor, or they spawn an Ender Dragon from dragon egg or they make skeletons fight with each other. This is the new Hello World!

The installation of JDK, Eclipse or NetBeans, and Forge typically takes ~45 minutes. But after that initial hump, kids are able to build 3-4 mods in a total of ~2 hrs. Our philosophy is more on the lines of teaching them how to think to mod. Yes, we do teach them a few mod but we enable them to create their own mods as well.

Java is often complained about being a verbose language. But Forge decompiled code in Java makes it much easier to read the code, and help kids understand how to change it to make modifications.

The fact that kids love playing the game, this allows the workshop to just leverage their passion and help them in their journey towards becoming a Java programmer. It really helps lowering the average age of Java developer!

Minecraft Modding over Summer

Over the Summer, we delivered Minecraft Modding workshops at:

We were also able to coach some additional volunteers and hopefully spread the Java fever to a wider audience.

Here are some pictures from the event delivered at West Valley San Jose Public Library over the weekend:

 
   
 
   

Check out complete photos at meetup.com/devoxx4kids-bayarea.

Minecraft Modding and You

Would you be interested in delivering this workshop at your local school, library, or corporate event?

Would you like teachers in your school to be trained for Minecraft Modding?

If you are in Bay Area, how about make this a social activity at your workplace for a weekend? Invite us to deliver this workshop.

If you are not in Bay Area, send us an email at info@devoxx4kids.org and we’ll hook you up with the local Devoxx4Kids chapter lead who can then help you get started.

Devoxx4Kids is a NPO and 501(c)(3) and we love to ignite that spark in kids for technology!

Minecraft Modding Resources

  • Workshop instructions are available at minecraftmodding.org.
  • Minecraft Modding with Forge book from O’Reilly. This book is targeted at 8+ year old who has no prior programming experience. Parents with no technical background have also found this book to be a great resource.
     
  • Minecraft Modding Video Tutorial
  • Course Curriculum for School

 

 

Minecon 2015 Wrapup

minecon2015-logo

From a gathering of ~50 people in 2010, Minecon 2015 with 10,000 attendees created a new world record for the biggest convention for a single game.

Minecon 2015 Experience

Do you want to know what what it feels like to be at Minecon?

Minecraft Modding Workshop

Devoxx4Kids was fortunate to give Minecraft Modding workshops to ~200 kids at Minecon 2015. Feedback from all the parents and kids was quite outstanding. Glad we were able to ignite spark in some kids and get them excited in programming, and open source tools like Java, Eclipse, and Minecraft Forge.

Here are a couple of tweets:

All the instructions for minecraft modding are at minecraftmodding.org.

Many thanks to Mark Little and his son Adam, and my son for helping with a successful workshop. Its very important that kids feel comfortable to play with open source tools, and be willing to hack!

Using Mods for Teaching Panel

I also got the opportunity to lead a panel on Using Mods for Teaching with @DorineFlies, @YouthDigital, and @_moonlapse.

Here are some of the questions we addressed:

  1. How are you involved with modding?
  2. How many students/kids have you reached out so far?
  3. What languages/platforms do you use?
  4. Can modding be the right medium for first introduction to programming?
  5. What is an appropriate age to start modding?
  6. What can be done to fundamentally change STEM education in schools?
  7. What would you like from Mojang to improve the modding experience?

The panel was recorded and should be made available at youtube.com/user/TeamMojang/videos. I’ll update this blog when the exact link is available.

Minecraft Youtubers

One of the big craze, and genuine one, in the Minecraft world is about youtubers who produce video of game plays and most of them have 1m+ subscribers. Several of them were attending Minecon and we were fortunate to meet a few of them:

 

As Lydia walked around the main hall, most of the kids were super excited to meet their favorite youtubers!

Minecon 2015 Cape

Every Minecon attendee also get a cape that their in-game character can wear it and show-off the fact you attended a big celebration! Theme for this year was Iron Golem and it looks like as shown:

Minecon 2015 Cape

Minecraft Characters with Snaak

We also met the team behind Snaak and played around with creating some of the Minecraft characters using it.

 

Minecraft and HoloLens

A re-run of HoloLens and Minecraft video was also shown during one of the keynotes, and a preview is available here:

Here is the complete opening ceremony animation:

Minecon 2015 Photo Album

Check out some pictures from our trip:

 
   
 
 

And the complete photo album:

To me the highlight of the conference was meeting @SeargeDP. If there is one name that is responsible for starting modding in Minecraft, that would be him! Many thanks to him for giving us a chance to deliver minecraft modding workshops at Minecon.

And then, of course, meeting @lexmanos who is the lead developer for Minecraft Forge. We’ve authored an O’Reilly book (targeted at 8+ years old kid) and video on this topic. Several Devoxx4Kids chapters around the world have delivered workshops using the instructions based on Minecraft Forge and explained at minecraftmodding.org.

Check out a nice credential about book from one of the parents we met:

And last, but not the least, many thanks to the Mojang team for keeping the release cadence and supporting different modding communities.

Minecraft is truly a revolutionary game and allows to introduce Java programming to kids at a very early age!

Hopefully we get invited to Minecon 2016 again :)

 

Minecon 2015 – Minecraft Modding Workshop and Education Panel

Devoxx4Kidsminecon 2015
Devoxx4Kids Minecraft Modding workshop has been used all around the world by kids as their first introduction to Java programming, even programming in several cases. This workshop has been delivered at our meetups, corporate events such as OSCON, Silicon Valley Code Camp, JavaOne and Red Hat Summit, schools, libraries, workplaces, homes, and many other venues. And now its going to the most coveted and sought after place for all minecrafters around the world – Minecon 2015!

Many thanks to Microsoft (now the parent company of Mojang) for extending the invitation!

Minecon is the biggest gathering of all minecrafters on this planet. About 10,000 attendees are expected to gather on Jul 4th and 5th in London this year. This will be our first time there. We are super excited and can’t wait to experience the phenomenon.

In addition, Microsoft has also asked us to lead a panel on “Using Mods for Teaching”. This panel will discuss the relevance of modding in education. We’ll try to answer some of the questions as:

  • Can modding be the right medium for first introduction to programming?
  • What is an appropriate age to start modding?
  • What would you like from Mojang to improve the modding experience?
  • What can be done to fundamentally change STEM education in schools?

Participate in Minecon 2015 Virtually

You can participate in Minecon virtually as well!

Are there any questions that you’d like to ask the panelists? Leave a comment in the blog and I’ll try to accommodate as many of them as possible.

As always, follow me @arungupta to watch out for comments/pictures from the event!

Devoxx4Kids Ancillary Event at Corporate

Running a Devoxx4Kids event as an ancillary to the main event is a great way to engage local community. Such an event can consist of not just minecraft modding, but several other topics such as Scratch, Greenfoot, and HTML5/CSS. Let us know if your corporate event is interested in running a Devoxx4Kids workshop the weekend before/after the main event!

Minecraft Modding with Forge – Print and Ebook Now Available

Would you like to learn Minecraft Modding in a family-friendly way?
Don’t have any previous programming experience?
Never programmed in Java?

This new O’Reilly book on Minecraft Modding with Forge is targeted at parents and kids who would like to learn how to create new Minecraft mods. It can be read by parents or kids independently, and is more fun when they read it together. No prior programming experience is required however some familiarity with software installation would be very helpful.

Minecraft Modding with Forge Book Cover

Release Date: April 2015
Language: English
Pages: 194
Print ISBN:978-1-4919-1889-0| ISBN 10:1-4919-1889-6
Ebook ISBN:978-1-4919-1883-8| ISBN 10:1-4919-1883-7

Minecraft is commonly associated with “addiction”. This book hopes to leverage the passionate kids and teach them how to do Minecraft Modding, and in the process teach some fundamental Java concepts. They also pick up basic Eclipse skills as well.

It uses Minecraft Forge and shows how to create over two dozen mods. Here is the complete Table of Content:

Chapter 1 Introduction
Chapter 2 Block Break Message
Chapter 3 Fun with Explosions
Chapter 4 Entities
Chapter 5 Movement
Chapter 6 New Commands
Chapter 7 New Block
Chapter 8 New Item
Chapter 9 Recipes and Textures
Chapter 10 Sharing Mods
Appendix A What is Minecraft?
Appendix B Eclipse Shortcuts and Correct Imports
Appendix C Downloading the Source Code from GitHub
Appendix D Devoxx4Kids

Each chapter also provide several additional ideas on what readers can try based upon what they learned.

It has been an extremely joyful and rewarding experience to co-author the book with my 12-year old son. Many thanks to O’Reilly for providing this opportunity of a lifetime experience to us.

Here is the effort distribution by different collaborators on the book:

The book is available in print and ebook and can be purchased from shop.oreilly.com/product/0636920036562.do.

Three reviews so far are all five star and so that is encouraging:

Minecraft Modding with Forge Book Feedback - April 2015

Its also marked as #1 hot new release at Amazon in Game Programming:

Minecraft Modding with Forge - #1 Hot Release on Amazon

Scan the QR code to get the URL on your favorite device and give the first Java programming lesson to your kid – the Minecraft Way. They are going to thank you for that!

minecraft-modding-book-qrcode

Happy modding and looking forward to your reviews.

Minecraft Server on Google Cloud – Tech Tip #82

Minecraft Logo

Bukkit Logo

If you’ve not followed the Minecraft/Bukkit saga over the past few months, Bukkit and CraftBukkit downloads were taken down by DMCA because a developer (@wolvereness) wanted Mojang to open up. Mojang (@vubui) posted an official statement in their forums. The general feeling is that @wolvereness left the Bukkit community hanging, and Mojang is not responsible for this debacle.

One of my friends (@ryanmichela), and a contributor to Bukkit, prepared a slide deck explaining the unfortunate debacle:

Anyway, leaving all the gory details behind, this blog will show how to get started with Bukkit 1.8.3.

What?

You just said, Bukkit was shutdown by DMCA.

SpigotMC LogoHail Spigot for reviving Bukkit, and updating to 1.8.3!

Its still not clear how did Spigot get around DMCA shutdown but the binaries seem to be available again, at least for now.

As a refresher, Bukkit is the API used by developers to make plugins. CraftBukkit is the modified Minecraft server that can understand plugins made by the Bukkit API.

Minecraft Server Hosting on OpenShift already explained how to setup a Minecraft server on OpenShift. This Tech Tip will show how to get a Minecraft server running on Google Cloud.

Lets get started!

Get Started with Google Cloud

Google Cloud Platform logo

  1. Sign up for a free trial at cloud.google.com. This gives you credit of $300, which should be pretty decent to begin with.

Create and Configure Google Compute Engine

  1. Go to console.developers.google.com and create a new project by specifying the values as shown:Create Project on Google Cloud
  2. In console.developers.google.com, go to “Compute”, “Compute Engine”, “Networks”, “default”, “New firewall rule” and enter the values as shown and click on “Create”.Google Cloud Firewall Rule
  3. In the left menu bar, click on “VM Instances” under “Compute Engine”, “Create instance”. Take everything default except:
    1. Provide a name as “minecraft-instance”
    2. Change Image to Ubuntu 14.10.
    3. Change External IP to “New static IP address” and fill in the details. IP address is automatically assigned.

    Exact values are shown here:

    Google Cloud Create Instance

    And click on “Create”.

    Note down the IP address, this will be used later to connect from Minecraft launcher.

  4. Click on the newly created instance, “Add tags”, and specify “minecraft” tag. Exact same tag on the VM instance and Firewall rule ensures that the rule is applied to the appropriate instance.

Install JDK, Git, and Spigot

In console.developers.google.com, select the recently created instance, click on “SSH”, “Open in browser window”. The software is installed in the shell window.

Install JDK

Make sure to answer questions and accept license during the install. Using OpenJDK 8 to install Spigot gives the following exception:

Install Git

This is required for installing Spigot.

Install Spigot

Download and Install Spigot

A successful completion of this task shows the following message:

Start Minecraft Server on Google Cloud

Run the server as:

This will generate “eula.txt”. Accept license agreement by giving the following command:

Run server as:

This will start the CraftBukkit 1.8 server in background.

Connect to Minecraft Server from the Client

Launch Minecraft client and create a new Minecraft server as:

Google Cloud Minecraft Multiplayer

Clicking on Done shows:

Google Cloud Multiplayer Minecraft Server

Now your client can connect to the Minecraft server running on Google Cloud.
Google Cloud Minecraft Client

The server is now live. Add 104.155.38.193  to your Minecraft launcher and put some Google resources to test :)

I was hoping to provide a script that can be run using Google Cloud SDK but the bundled CLI seems to have some issues creating the project. CLI equivalent for other commands can be easily seen from the console itself.

Enjoy and happy Minecrafting!

Minecraft Modding Course at Elementary School – Teach Java to Kids

Cross posted from weblogs.java.net/blog/arungupta/archive/2015/03/22/minecraft-modding-course-elementary-school-teach-java-kids

minecraft-logo

Exactly two years ago, I wrote a blog on Introducing Kids to Java Programming using Minecraft. Since then, Devoxx4Kids has delivered numerous Minecraft Modding workshops all around the world. The workshop material is all publicly accessible at bit.ly/d4k-minecraft. In these workshops, we teach attendees, typically 8 – 16 years of age, how to create Minecraft Mods. Given the excitement around Minecraft in this age range, these workshops are typically sold out very quickly.

One of the parents from our workshops in the San Francisco Bay Area asked us to deliver a 8-week course on Minecraft modding at their local public school. As an athlete, I’m always looking for new challenges and break the rhythm. This felt like a good option, and so the game was on!

My son has been playing the game, and modding, for quite some time and helped me create the mods easily. We’ve also finished authoring our upcoming O’Reilly book on Minecraft Modding using Forge so had a decent idea on what needs to be done for these workshops.

Minecraft Modding Workshop Material

All the workshop material is available at bit.ly/d4k-minecraft.

Getting Started with Minecraft Modding using Forge shows the basic installation steps.

These classes were taught from 7:30am – 7:45am, before start of the school. Given the nature of workshop, the enthusiasm and concentration in the kids was just amazing.

Minecraft Modding Course Outline

The 8 week course was delivered using the following lessons:

Week LESSON Java concepts
1 Watch through the video and understand the software required for modding Familiarity with JDK, Forge, Eclipse
2 Work through the installation and get the bundled sample mod running. This bundled mod, without any typing, allows to explain the basic concepts of Java such as class, packages, methods, running Minecraft from Eclipse, seeing the output in Eclipse panel.
3 Chat Items mod shows how to create a stack of 64 potatoes if the word “potato” is typed in the chat window.
  • Create a new class in Eclipse
  • Annotations and event-driven programming to listen for events when a player types a message in the chat window is introduced.
  • String variable types and how they are enclosed within a quotes is introduced.
4 Continue with Chat Items mod and a couple of variations. Change the number of items to be generated. Generate different items on different words, or multiple items on same word.
  • Integer variables for changing the number of items.
  • How  use Eclipse allows code completion and scroll through the list of items that can be generated.
  • Multiple if/else blocks and scope of a block.
5 Eclipse Tutorial for Beginners Some familiarity with Eclipse
6 Ender Dragon Spawner mod spawns an Ender Dragon every time a dragon egg is placed.
  •  == to compare objects
  • Accessing properties using . notation
  • Creating a new class
  • Calling methods on a class
7 Creeper Spawn Alert mod alerts a player when creeper is spawned
  •  instanceof operator
  • for loop
  • java.util.List
  • Enums
  • && and || operators
  • Parent/child class
8 Sharp Snowballs mod turns all snowballs into arrows
  • 15-20 LOC of methods
  • ! operator
  • Basic Math in Minecraft

Most of the kids in this 8-week course had no prior programming experience. And it was amazing to see them be able to read the Java code by week 7. Some kids who had prior experience finished the workshop in first 3-4 weeks, and were helping other kids.

Check out some of pictures from the 8-week workshops:

 Minecraft Modding at Public Elementary School
 

Many thanks to attendees, parents, volunteers, Parent Teacher Association, and school authorities for giving us a chance. The real benchmark was when all the kids raised their hands to continue workshop for another 8 weeks … that was awesome!

Is Java difficult as kids first programming language?

One of the common questions asked during these workshops is “Java is too difficult a language to start with”. Most of the times these questions are not based on any personal experience but more on the lines my-friend-told-me-so or i-read-an-article-explaining-so. My typical answer consists of the following parts:

  1. Yes, Java is a bit verbose, but was designed to be readable by humans and computer. Ask somebody to read Scala or Clojure code at this age and they’ll probably never come back to programming again. These languages serve a niche purpose, and their concepts are now anyway getting integrated into the mainstream language already.
  2. Ruby, Groovy, and Python are alternative decent languages to start with. But do you really want to start teaching them fundamental programming using Hello World.
  3. Kids are already “addicted” to Minecraft. Game is written using Java and modding can be done using Java. Lets leverage that addiction and convert that into their passion for programming. Minecraft provides a perfect platform for gamification of programming experience at this early age.
  4. There are 9 million Java developers. It is a very well adopted and understood language, with lots of help in terms of books, articles, blogs, videos, tools, etc. And the language has been around for almost 20 years now. Other languages come and go, but this is the one to stay!

As Alan Kay said

The best way to predict the future is to create it

Lets create some young Java developers by teaching them Minecraft modding. This will give them bragging rights in their friends, parents a satisfaction that their kids are learning a top notch programming language, and budding Java developers to the industry.

I dare you to pick up this workshop and run in your local school :)

Minecraft Modding Course References

Sign up for an existing Devoxx4Kids chapter in your city, or open a new one.

If you are in the San Francisco Bay Area, then register for one of our upcoming workshops at meetup.com/Devoxx4Kids-BayArea/. There are several chapters in the USA (Denver, Atlanta, Seattle, Chicago, and others).

Would your school be interested in hosting a similar workshop? Devoxx4Kids can provide train-the-trainer workshop. Let us know by sending an email to info@devoxx4kids.org.

As a registered NPO and 501(c)(3) organization in the US, it allows us to deliver these workshops quite selflessly, fueled by our passion to teach kids. But donations are always welcome :)

Minecraft Modding with Forge: Pre-release of a New O’Reilly Book

Would you like to learn Minecraft Modding in a simple and easy-to-understand language?
Don’t have any technical background or previous programming experience?
Never programmed in Java?

This new O’Reilly book on Minecraft Modding with Forge is targeted at parents and kids who would like to learn how to mod the game of Minecraft. It can be read by parents or kids independently, and is more fun when they read it together. No prior programming experience is required however some familiarity with software installation would be very helpful.

minecraft-modding-book

Release Date: May 2015 (hopefully sooner)
Language: English
Pages: 200
Print ISBN: 978-1-4919-1889-0| ISBN 10:1-4919-1889-6
Early Release Ebook ISBN: 978-1-4919-1882-1| ISBN 10:1-4919-1882-9

It uses Minecraft Forge and shows how to build 26 mods. Here is the complete Table of Content:

Chapter 1 Introduction
Chapter 2 Block Break Message
Chapter 3 Fun with Explosions
Chapter 4 Entities
Chapter 5 Movement
Chapter 6 New Commands
Chapter 7 New Block
Chapter 8 New Item
Chapter 9 Recipes and Textures
Chapter 10 Sharing Mods
Appendix A What is Minecraft?
Appendix B List of Forge Classes and Methods
Appendix C Eclipse Shortcuts and Correct Imports
Appendix D Downloading the Source Code from GitHub
Appendix E Devoxx4Kids

Each chapter also share several ideas on what readers can try.

Game of Minecraft is commonly associated with “addiction”. This book hopes to leverage the passionate kids and teach them how to do Minecraft Modding, and in the process teach them some fundamental Java concepts. They also pick up basic Eclipse skills as well.

It has been an extremely joyful and rewarding experience to co-author the book with my 12-year old son. Many thanks to O’Reilly for providing this opportunity of a lifetime experience to us.

The book is available in pre-released and can be purchased from shop.oreilly.com/product/0636920036562.do. Any pre-release buyers will get a final copy of the book as well.

Scan the QR code to get the URL on your favorite device.

minecraft-modding-book-qrcode

Happy modding and looking forward to your feedback!

Advise to Microsoft on Mojang and Minecraft

Microsoft bought Mojang for $2.5 billion, wow! Here is official press release by Microsoft.

minecraft-logo

The game is extremely popular within 8-14 years of age range, but also within other ages, including adults, as well. The education community has been extremely excited because of all the opportunities it provides to engage kids at an early age and teach them Java programming, object-oriented, and mathematical concepts by “modding” the game. The community is highly engaged, passionate and diverse. This “global phenomenon” indeed binds the community very well and gives them a common language to talk with each other. My son has been attending Minecraft-themed birthday parties for last 3 years. There are halloween costumes, 3d printed Minecraft worlds, tshirts, hoodies,  hats, slippers, swimming trunks, plates, spoons, and you name it, its all there!

On a personal level, My son and I’ve personally delivered multiple Minecraft Modding workshops around the San Francisco Bay Area. This workshop has also been delivered around the world by Devoxx4Kids volunteers, and even translated in German, Dutch, and French.

My first reaction to this purchase was a grandpa company that is desperate to be innovative just used their cash power to buy a company behind one of the most innovative game. I felt really miserable, especially knowing that the game is written in Java. Microsoft has no significant history of delivering or maintaining Java programs particularly. I may be wrong, but Microsoft J Sharp is dated 2006. And Visual J# was removed from Visual Studio a few years ago as well. Heck, you even need to install JDK on a Microsoft Windows machine.

Microsoft is known to provide tight integration within their portfolio. So another thought that came was that Microsoft will start integrating Silverlight, .NET, Office 365, Exchange integration, and their complete slew of Windows-specific technologies in the game. May be all backed Microsoft Access, Sharepoint, and Azure, oh no!

Another thought came to mind was that the newer features of the game will be released on XBox first, and then probably limp along on PC and other platforms later. May be make the game exclusive on Windows-based mobile phones, I hope not!

In general, the younger generation seems to not be very excited with Microsoft ecosystem. Anything ranging from virus-infected Windows, legacy Internet Explorer, to mobile phones. At least, that’s the reaction I’ve seen and heard from my family, friends, and hackathons around around the world. Players play Minecraft if they have XBox, they don’t buy XBox because they want to play Minecraft. The experience on PC/Desktop is pretty good IMHO. Although you can easily host a server and then join from any device, which is the cool part about the game.

I seriously hope, I’m wrong on all these initial, may be somewhat emotional, reactions. I really hope so!

Phil Spencer (head of Xbox, @XboxP3) has made it clear that “we plan to continue to make Minecraft available across platforms – including iOS, Android and PlayStation, in addition to Xbox and PC. ” I hope they stick to their promise on PC at the least 😉

Notch (@notch) has left Mojang already, and so have other co-founders. Minecraft was not intended to grow this big but it turned out to be, and he does not want to be responsible for it now. I respect that he likes to enjoy building games, and would continue to do so. The BIG payoff is accidental, and will allow him to focus his energy on what he is good at.

As father of an avid modder, an educator, Java evangelist, Java Champion, JUG leader, software engineer, here is my wish list for Microsoft to help with Minecraft:

  1. Maintain Minecraft on PC/desktop as a first class game. Make sure the latest snapshots are always available on PC first than any other platforms.
  2. Mojang has talked about delivering an official modding API for the past 2+ years but the status is unclear. It has been very disappointing to see Bukkit dying but fortunately there is Forge and other modding platforms. Deliver a formal modding API within next one year would really allow Microsoft to gain huge favors.
  3. Provide simpler tools/IDE that allow to create mods easily. Eclipse, IntelliJ, and NetBeans are too complex to be used by young developers. Please do not require Visual Studio or any other similar heavy weight tools to be downloaded in order to facilitate it though.
  4. Start bundling JDK with Windows machine so that Minecraft can run out-of-the-box instead of requiring to download it separately. Work on your relationship with Oracle, and help developers instead of getting stuck in your own rut.
  5. Keep Minecon as a separate conference. Do NOT mix it with other Microsoft shows. And organize it more frequently around the worlds.
  6. Start a formal Minecraft User Group (MUG) community where players can open local user groups and exchange ideas.
  7. MVP could now also embrace Minecraft Valueable Player.
  8. Open source Minecraft ?
  9. Do not introduce any Microsoft technologies in the game, keep it true Java on PC.
  10. Mojang launched Realms a few months. Make it more widely accessible.

If there is one thing Microsoft need to do about Minecraft, that is to at least maintain the same experience of the game on PC, or only make it better. DON’T screw up there, otherwise you’ll completely loose the community.

I’m happy that a big company is behind the game now. Hopefully, you’ll take the game to new heights, empower the community more, and truly help address the issues with your experience.

Good luck Microsoft!

FREE Minecraft Server Hosting on OpenShift (Tech Tip #15)

minecraft-logo

Are you looking for free Minecraft server hosting and invite your friends to join the party ?

If yes, then read on!

First some context …

bukkit-logo

Bukkit is a free, open source project that provides the API and runtime to extend Minecraft. It is one of the most popular ways to write Minecraft mods. Bukkit uses a more general terminology of “plugin” but essentially they are mods in Minecraft context. Developers write plugins using Bukkit API.

CraftBukkit is a mod for the Minecraft server that implements Bukkit API. Developers can download CraftBukkit JAR for a particular version of Minecraft and use it to run a Minecraft server. This allows plugins, or mods in Minecraft parlance, written using Bukkit API to be installed in the CraftBukkit server.

Tech Tip #7 introduced OpenShift – Red Hat’s PaaS platform.

OpenShift-logo

This tip will show how to host a CraftBukkit server on public PaaS (sign up for free) version of OpenShift.

  1. Install OpenShift client tools. For simplicity, Mac commands are given below:
    Note, you need to use MRI Ruby, not JRuby. Install RVM to manage different versions of Ruby on your machine. For example, install Ruby 2.1.0 as:
    And set the default Ruby version using:
  2. Create OpenShift DIY application as:
    This command uses an OpenShift QuickStart, created by John Yeary, to create an OpenShift application. CraftBukkit JAR is downloaded and Minecraft server is started using it by the time application is ready.

    Note, a free account gives 3 small gears where each gear is 512 MB RAM and 1GB of disk space. Minecraft wiki recommends 512 MB of RAM and 2GB of disk space for 6-10 players.

  3. As mentioned in Steven Citron-Pousty’s blog:At this time, OpenShift is primarily a HTTP server platform – we proxy HTTP calls but no other protocols. In addition, we only expose ports 80 (HTTP), 443 (HTTPS), and 22 (SSH) to the outside world from your gear. While we can start up Minecraft Server on any port we want (and tell the client to listen on that port), the Minecraft server and client do not talk HTTP so we can not proxy the calls. To get this to work we are going to have to SSH port-forward either from your laptop to the server or vice versa (both configurations are supported on OpenShift).So lets forward a port from our local machine to the Minecraft server port on OpenShift using the following command:

    This should show an output something similar to as shown:

    And now you are ready to connect your Minecraft client.

  4. Login to OpenShift using the command:

    Change the directory to view Miencraft logs as:

    Read through server.log file in that directory to check the Minecraft server version. Its 1.7.2 as of this writing and shows a message like:

    Now run Minecraft launcher and select the matching version as explained in this video. Click on Play to start the game.

    Now click on Multiplayer:

    tt15-minecraft-multiplayer

    Click on Add Server and specify the server details as:

    tt15-craftbukkit-openshift-server

    Click on Done. Select the recently added server and click on Join Server:

    tt15-join-server

    And now you are playing a CraftBukkit server hosted on OpenShift.

  5. Set up the administrative player (or operator in Minecraft parlance) by following the instructions here.

Minecraft is a lot more fun when played with other friends. The instructions above allow you to host a server and be the operator. The following instructions are needed on each player who wants to join the same server:

  1. Install and setup RHC
  2. The following steps need to be done by the player hosting the server.
    • Each player’s public key (typically in .ssh directory and file named id_rsa.pub) needs to be added to the domain hosting the server. This can be done at https://openshift.redhat.com/app/console/settings.
    • Each player’s OpenShift account (email id) needs to be added to the domain hosting the server (for example: https://openshift.redhat.com/app/console/domain/milestogo)
  3. For Windows machines only: Download Putty (used for ssh shell verification) and PuttyGen (used for importing the id_rsa key so that it can be recognized by Putty). Import the id_rsa key using PuttyGen as explained here.
  4. Port forward using the following command:

And now the players can connect to the same server using the multiplayer setup instructions explained above!

Note that even though server requirements for Minecraft state that 6-10 players can join in 512 MB of RAM but practically speaking only 2 players could play in this much memory. More memory can always be added to your existing account by signing up for Silver Plan.

minecraft-steve

Happy minecrafting!