Hacer Servidor Minecraft Multiplayer con Fedora Linux y Hamachi [Actualizable]


Todos sabemos que Linux es la plataforma por excelencia para montar servidores, y si de videojuegos se trata, no es la excepción. Últimamente me está gustando mucho éste juego Minecraft y como unos amigos también son fans de hueso colorado, hace rato me propuse montar un server privado para jugar con ellos. La faena no es en sí difícil, pero con tanta información mezclada en la red no es tan sencillo para cualquiera sin conocimiento previo de servidores cómo montar uno de éste popular juego. En ésta ocasión vengo a explicarles cómo hacerlo dentro de Fedora Linux y lo que aprenderemos será a montar un servidor privado donde podamos jugar con nuestros amigos cada que queramos. Éste servidor se puede montar incluso en tu PC de uso diario, (ya que sólo tiene que correr cada que juegues) no hay problema.

NOTA: Las instrucciones que se darán a continuación pueden ser aplicables al momento de montar un servidor libre (no hamachi) cambiando ciertos procesos y datos en las partes adecuadas. No explicaré cómo montar un servidor de gran escala puesto que la idea de ésto es que se monten un server personal, Si tienes conocimientos de servidores y hardware para tu servidor propio, entonces sabrás adaptar éste tutorial a tus necesidades.

Primero: ¿Porqué Fedora?



Si bien Fedora no es una distribución linux enfocada directamente a uso en servidores, funciona perfectamente en ése ámbito, Especialmente en el de los servidores para Minecraft jajaja. Hice pruebas en Ubuntu también para éste tutorial, pero fue demasiado complicado (debido a las protecciones para usuarios avanzados del sistema) Montar el servidor en ésa distro. En Fedora en cambio, donde todo es más configurable y más a la poweruser todo fue más sencillo.

NOTA: Se necesita una computadora de al menos 2GB de RAM para correr un buen server

Comencemos...

1.- Instala Java


sudo yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-plugin

En el Sitio de Minecraft nos recomiendan usar la versión de SUN que porque según el juego no funciona con OpenJDK pero éso es historia vieja, a partir de las nuevas versiones todo funciona perfecto con el Java Libre (y es menos rollo instalar como podrán ver) jaja.

2.- Instala Hamachi y Haguichi

Para ésto, primero nos instalaremos algunas dependencias:

sudo yum -y install lsb mono-core ndesk-dbus ndesk-dbus-glib gtk-sharp2 gnome-sharp

Luego nos descargaremos los programas mencionados en RPM según nuestra arquitectura:


Y los instalaremos como más se nos acomode, via entorno gráfico o terminal.

3.- Descarga Minecraft Server

NOTA: Aquí es importante mencionar que la computadora que va a correr el server no tiene que tener Minecraft explícitamente. Al ser un Juego DRM-Free e indie, los creadores de Minecraft ponen a nuestra dispocisión Gratis la versión server del juego para que montemos nuestros servidores personalizados si así lo queremos.

La versión server del juego se descarga de acá: http://marker.to/xz3Die 

Y la versión de éste que usaremos para Linux será El JAR.

Nos creamos una carpeta nueva en la computadora donde vamos a correr el server (Puede ser con el nombre que sea en la ruta que sea, les recomiendo usar su carpeta personal como ruta y a la carpeta nueva ponerle algo así como "MinecraftServer" de nombre) y copiamos ahí el JAR de Minecraft Server.

4.- Port Forwarding

NOTA: Aquí tenemos que identificar si nuestro router es permisivo o no. Por ejemplo: si no puedes descargar desde clientes P2P o usar BitTorrent, éso significa que tu router tiene un firewall estricto activado y tendrás que desactivarlo o hacer el Port Forwarding a nivel Router/Modem también... Como la mayoría de Routers y/o Módems que se manejan actualmente son permisivos, manejaré ésto a nivel sistema sólamente.

Ahora tendremos que pedirle a nuestro sistema que nos permita usar el puerto que Minecraft requiere para correr el server y permitir que otros se conecten al mismo, para ésto en consola hacemos:

sudo system-config-firewall

y se nos abre una interfaz gráfica para la Configuración del Firewall, ahí nos vamos a "Otros Puertos>Añadir" y marcamos al casilla definido por el usuario para abrir el puerto 25565 TCP como se ve en la imagen:



Lo añadimos, Aplicamos los cambios, aceptamos la confirmación y cerramos el asistente de configuración del Firewall.

5.- Creando la Red con Hamachi

Utilizaremos Hamachi porque requerimos tener una especie de IP Fija en algo así como una VPN a donde se puedan conectar todas las computadoras de nuestro grupo de juegos, ya sean Windows, Mac o Linux. En la computadora Server abrimos el programa "Haguichi" que instalamos en uno de los pasos anteriores y nos aparecerá una advertencia con las leyendas "Configurar" y "Actualizar" Damos click en Configurar y cuando termine en Actualizar, Cambiamos el nick de "Anónimo" por el nuestro y finalmente nos conectamos... (Nos pedirá una contraseña de superusuario, se la damos y nos conectamos).

Nos vamos a Cliente>Crear una Red y ponemos un nombre para nuestra red y contraseña para la misma si así lo deseamos:


Una vez creada la red hacemos click sobre ella y nos vamos a "Cliente>Información" y ahí nos aparecerá una IP, (la IPv4) anotamos ésa IP y cerramos haguichi que se seguirá ejecutando en segundo plano.

6.- Ejecutar el Server

Ahora, abrimos una terminal y en ella navegamos con cd hasta la carpeta donde guardamos el JAR del server, estando ahí ejecutamos el server como está en el ejemplo a continuación:

[usuario@UsuarioPC MinecraftServer]$ java -jar -Xmx1024M -Xms512M minecraft_server.jar
 
Nótese que ahí estoy poniendo todo el prompt de la consola, ustedes sólo utilizarían el comando java -jar -Xmx1024M -Xms512M NombreJarSever.jar  para correr su servidor, éste se ejecuta como usuario normal.

7.- Configurar el Server

Una vez que el servidor se haya terminado de ejecutar y esté corriendo, notaremos que nos habrá generado unos archivos en la carpeta desde donde corrimos el "MinecraftServer.jar" y entre todos éstos veremos uno que se llama "server.properties" Abrimos ése archivo con un editor de texto y aquí lo importante a configurar es lo siguiente:

server-ip: Debe apuntar a la IP que anotamos de Hamachi.
server-port: Debe apuntar a 25565
online-mode: Si está puesto en true, sólo dejará accesar a usuarios Premium de Minecraft, (Los que compraron el juego) Si está en false, permitirá entrar a cualquiera, sea que haya comprado el juego o lo tenga pirata.
level-name: El nombre de tu mundo
motd: Una descripción/nombre para el server

Les recomiendo aquí agregar justo debajo de spawn-monsters la siguiente línea:

spawn-protection-size=0

Éso les permitirá colectar todos los bloques de su mundo, aún si están cercanos al lugar de aparición del muñeco.

Con un poco de búsqueda en Google, podrás añadirle infinidad de características a tu servidor, ésas son las más básicas para un server SURVIVAL pero también puedes montar server CREATIVE por ejemplo y cambiar lo que quieras en tu mundo... Sin embargo para éste tutorial lo dejaremos así.

Guardamos los cambios aplicados en nuestro server.properties y nos vamos a la consola donde habíamos ejecutado el JAR de MinecraftServer  para que se nos generaran los archivos y presionamos "Ctrl+C" para detenerlo; Acto seguido volvemos a ejecutar y LISTO! ya tenemos nuestro server configurado según nuestro gusto corriendo.

8.- Invitando Amigos

Todos los jugadores que quieran entrar en tu server deberán usar un cliente de Hamachi para conectarse a tu VPN vía ése servicio usando la opción de "Unirse a una Red" en sus clientes y poniendo el nombre de tu Red y Contraseña (Si le pusiste) en los campos requeridos... Una vez conectados a tu red Hamachi, podrán accesar a tu servidor privado desde Minecraft usando la opción "Multiplayer>Direct Connect" y poniendo en "Server Adress" la dirección IP de tu red Hamachi + el puerto de Minecraft (para ésto el servidor debe estar corriendo en la máquina que va a servir el juego al igual qe¿ue la red Hamachi) Ejemplo:

Si tu IP Hamachi es: 4.80.9.512 y ya abriste el puerto 25565 en la PC que sirve el juego, entonces la "Server Adress" que le pasarías a tus amigos para jugar sería:

4.80.9.512:25565

Y listo, éso es todo. Cada que quieras jugar con tus amigos, activas tu red Hamachi, corres mediante la consola el JAR de MinecraftServer dentro de la carpeta que creaste para el servidor, les pasas tu Server Adress a tus amigos y éso es todo. Minecraft Multiplayer cortesía de tu PC con Fedora Linux.

NOTAS Finales: El Minecraft server consume muy poca RAM, por lo tanto, si corres tu server con 1GB de RAM podrás invitar a más de 20 amigos a jugar al mismo tiempo si así lo deseas, simplemente cambia el valor adecuado en tu server.properties, El servidor que nos acabamos de montar es actualizable, ésto quiere decir que cada que salga una nueva versión de Minecraft y tus jugadores actualicen sus clientes, tú podrás actualizar también sin problemas simplemente bajando el nuevo Minecraft Server que Mojang ponga a tu disposición mediante su página de descargas y actualizando la carpeta de tu server con éste... No entraré en más detalles sobre ésto porque realmente no tiene gran ciencia.

Espero que les haya gustado éste tutorial :)