Instalando y optimizando Minecraft en Ubuntu

Quién iba a pensar que se podrían ofrecer tantas posibilidades en un juego con la apariencia de un clásico de 8 bits.

Llevaba tiempo oyendo hablar del Minecraft pero nunca me había llamado la atención, a pesar de todos los vídeos que hay por ahí mostrando las posibilidades a la hora de hacer construcciones. A fin de cuentas LittleBigPlanet, por ejemplo, también permite crear mecanismos complejos y a pesar de ello el juego me aburrió casi instantáneamente.

Hace unos días me decidí a probarlo y lo cierto es que estoy enganchado, sobre todo por su modo online cooperativo.

La instalación en Linux de todas formas puede resultar algo complicada, así que vamos a ver los pasos necesarios para poder empezar a construir cosas.

Primero necesitaremos, obviamente, descargar el juego de la web de netcraft.net, y recomiendo encarecidamente comprarlo y disfrutar de su versión online, mucho más divertida que jugar solo.

1.- Instalación

Minecraft es un programa hecho en Java, y la versión que trae Ubuntu (OpenJDK) no es la más apropiada ya que nos puede provocar errores durante la ejecución. Tendremos que instalar el Java de Oracle, que no tenemos en los repositorios de Ubuntu y por tanto instalaremos desde un PPA (podéis pausar la reproducción de esta consola a continuación y copiar y pegar los comandos):


Si observáis el final de la instalación veréis que sale esta advertencia:

update-binfmts: warning: current package is oracle-java7, but binary format already installed by openjdk-6

No es un problema importante, pero si queréis dejarlo fino podéis hacer lo siguiente:

sudo update-binfmts --package openjdk-6 --remove jar /usr/bin/jexec
sudo apt-get install --reinstall oracle-java7-installer

Con esto tendríamos Minecraft listo para jugar, pero necesitaremos hacer algunas cosas más para que funcione correctamente.

2.- Ajustes y optimizaciones

2.1.- Actualización de librerías

Este paso sólo es necesario si estás usando la versión 1.2.5 de Minecraft, en la 1.3.1 o superior ya vienen las librerías necesarias actualizadas con el juego.

Minecraft usa una librería llamada lwjgl, que en Minecraft 1.2.5 no está a la última versión y esto provoca algunos problemas en Linux que sí están resueltos en la última versión de la librería (por ejemplo que se nos queden “pegadas” las teclas de movimiento y tengamos que abrir el menú para dejar de andar, o que salga el puntero del ratón en la pantalla al hacer click derecho para usar objetos).

Descargamos la última versión aquí: http://lwjgl.org/download.php

Al hacer click en el enlace debajo de “Download” nos lleva a una página con una lista cosas que podemos descargar:

De los paquetes que aparecen sólo necesitamos el que pone lwjgl-2.8.3.zip (o sea, ni “docs”, ni “source” ni “applet”).

Extraemos el zip y veremos varias carpetas. Nos interesan sólo la “jar” y la “natives”.

Abrimos otra ventana del explorador y vamos a la ruta .minecraft/bin dentro de vuestra carpeta de usuario (atención al punto antes de “minecraft” en la ruta):

Copiamos todos los archivos de la carpeta “jar” que extrajimos del zip y los copiamos aquí, sobreescribiendo siempre que nos pregunte.

A continuación vamos a la carpeta “natives” del zip extraido, y dentro de ella entramos a la carpeta “linux”. Copiamos todos los archivos que hay ahí dentro.

Volvemos a la ventana que teníamos en ~/.minecraft/bin y entramos en la carpeta llamada “natives”, y pegamos ahí los archivos que habíamos copiado, sobreescribiendo siempre que nos pregunte.

2.2.- Creando un lanzador

A continuación vamos a realizar otro paso en el que crearemos un script para arrancar el juego. Este script nos permitirá dos cosas:

  • Ajustar los valores de memoria de Java.
  • Indicar la ruta de las librerías del Java de Oracle que instalamos anteriormente para que sean usadas por el juego.

Para empezar coloca el archivo minecraft.jar en la ruta definitiva donde tendrás el juego, ya que indicaremos esta ruta en el script. Por ejemplo supongamos que lo tienes en la ruta ~/juegos/minecraft de tu carpeta de usuario.

Crea un nuevo archivo de texto en esa carpeta llamado por ejemplo minecraft.sh, ábrelo con el notepad y escribe lo siguiente:

#!/bin/bash
cd ~/juegos/minecraft
export LD_LIBRARY_PATH="/usr/lib/jvm/java-7-oracle/jre/lib/i386/"
java -Xms384M -Xmx512M -jar minecraft.jar

En la última línea estamos pasando dos parámetros adicionales:

  • Xms384M: indica la cantidad mínima de memoria que se dedicará a Minecraft.
  • Xmx512M: indica la cantidad máxima de memoria que se dedicará al juego.

Es posible que tengáis una máquina con cantidad de gigas de memoria RAM y os sintáis tentados de incrementar esos valores. Podéis hacerlo, pero tened en cuenta dos cosas:

  1. Minecraft no necesita realmente una cantidad enorme de memoria para funcionar, y una cantidad excesiva puede dar lugar a ralentizaciones al swappear al disco.
  2. Nunca asignéis más memoria de la que tiene vuestro ordenador, ya que lo único que conseguiréis es colgarlo. De hecho dejad algo de margen entre la memoria máxima asignada y la disponible, ya que como mínimo vuestro sistema operativo seguirá necesitando algo de memoria mientras jugáis.

Como último paso, una vez hecho todo esto podéis usar “alacarte” para crear un lanzador en vuestro menú para arrancar el juego. Alacarte es el programa de edición de menús que venía con Gnome2 y que ya no viene instalado por defecto en Ubuntu aunque sirve para añadir aplicaciones al menú tanto en Unity como en Gnome Shell.

sudo apt-get install alacarte

Una vez instalado, alacarte aparece en vuestro menú de aplicaciones con el nombre de “Menú principal”.

Dentro de alacarte id a la sección de juegos y dadle a “Elemento nuevo”. En el diálogo que aparece rellenad el campo del nombre y poned como comando la ruta al archivo minecraft.sh que habéis creado antes.

Opcionalmente y para que quede bonito, podéis buscar una imagen de Minecraft en Google y ponerlo como icono del lanzador.

2.3.- Ajustes dentro del juego

Esta parte no es específica de Linux, pero en caso de que tengáis problemas de rendimiento hay algunos ajustes en el menú de opciones de vídeo que os pueden ayudar:

  • OpenGL Avanzado: en tarjetas no integradas puede mejorar bastante el rendimiento. Lo que hace es activar el “occlusion culling” de forma que sólo se rendericen los objetos que vemos realmente en pantalla. A mi personalmente me provoca que el juego se cuelgue, pero tu experiencia puede variar.
  • Gráficos: la opción “rápido” disminuye el nivel de detalle aumentando el rendimiento.
  • Distancia de renderizado: controla cómo de lejos podemos ver. La opción “Larga” nos permite ver muy lejos a costa de menor rendimiento, mientras que la opción “Mínima” puede ser demasiado corta para poder jugar ya que apenas veremos lo que tenemos delante. Si tienes problemas de rendimiento prueba con valores intermedios (“Normal” o “Corta”).
  • Nubes: podemos eliminar el renderizado de las nubes, lo que nos dará algo más de rendimiento.

Además podéis probar a alternar entre el modo a pantalla completa y en ventana (tecla F11). Con algunas tarjetas se obtiene mejor rendimiento a pantalla completa pero con otras no.

  • No lo instaleis ese java ni esas librerias, quizás a la fecha del post (19 de mayo) si funcionaba pero ahora mismo lo único que he conseguido haciendolo es cargarme el java. El de oracle me ha pisao los jdk y no funciona ni con uno ni con otro. Voy a tener que formatear el ordenador para que funcione. Repito, NO LO HAGÁIS

    • Efectivamente las librerías lwjgl ya no deberían ser necesarias en la versión 1.3.x de Minecraft. He añadido un comentario al post para aclararlo, gracias por el aviso.

      El java de oracle lo acabo de probar a reinstalar desde cero y me ha funcionado. Si tienes problemas con él de todas formas no hace falta llegar al extremo de reinstalar, basta con que desinstales el paquete oracle-java7-installer y te dejará el sistema con la versión anterior de java que tuvieses instalada.

      Lo único que hace el paquete es descargar el tar.gz de la web de oracle, instalarlo en /usr/lib/jvm/java-7-oracle/ e indicar al sistema cuál es la versión activa de java. Los scripts de desinstalación deshacen los cambios (un java -version me saca correctamente que la versión activa vuelve a ser el icedtea).

      Si me das más datos del error que tienes ahora con el java y cómo reproducirlo (cómo romper mi java y cómo compruebo que está roto) lo investigo y actualizo el post.

      Saludos.

  • mario

    hola

  • JosemaCXful

    no puedo cuando creo el lanzador y lo lanzo, me pone el proseso hijo noseque (permiso denegado) ayudaa

  • victor

    Amigo!! una gran ayuda que pille por internet:

    por un lado el instalador

    sudo add-apt-repository ppa:minecraft-installer-peeps/minecraft-installer
    sudo apt-get update && sudo apt-get install minecraft-installer
    y luego nos descargamos las librerias http://lwjgl.org/download.php
    las descomprimimos y las ponemos en la carpeta personal
    luego corremos esto: cd lwjgl-2.8.5; cp -r native/linux/* ~/.minecraft/bin/natives/; cp
    jar/lwjgl.jar ~/.minecraft/bin/;cp jar/jinput.jar ~/.minecraft/bin/;cp
    jar/lwjgl_util.jar ~/.minecraft/bin/
    el numero de arriba lo cambiamos por la version que este disponible, ahora es la 2.8.5
    se ejecuta el instalador y voila!
    Te recomiendo que lo pongas en tu foro 🙂
    Un saludo, Victor

    • M Luciano Eze

      LOL! Esta es dificil, la otra es, Instalas Java, Bajas el .jar, Le creas un Script, y “voila!”

  • Hugo

    Se me queda el minecraft en NEGROOOO!!! y no ejecuta que hagoo??

    • Comprueba que tengas instalado el java de Oracle como se indica en esta guía, y que se esté utilizando para lanzar el Minecraft (apartado 2.2).
      Supongo que puede haber más causas, pero lo de la pantalla en negro suele ser causa de una versión de java no compatible.