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.