Servidor local de Minecraft

Una de las consecuencias naturales de que un niño tenga una computadora, es que quiera jugar en ella. Un juego bastante popular desde hace algunos años es Minecraft y como en mí también hay algo de gamer decidí crear un servidor en la red local para Derek y así en caso que vengan sus primos, se pueden unir a la misma partida del servidor o bien podemos jugar juntos.

Existen 2 versiones de Minecraft: Java edition y Bedrock edition. La versión Java es compatible con Windows, Mac y Linux de manera oficial. La versión Bedrock es compatible con consolas, dispositivos móviles (Android, iOS) y Windows 10 pero no es compatible de manera oficial con Linux, aún así hay forma de poder ejecutarla en entornos Linux.

Ahora bien, el detalle es el siguiente, Derek tiene Linux Mint, yo Arch Linux, el servidor dónde lo pienso instalar tiene Debian. En esta guía detallaré como crear un servidor local y tener una partida con clientes locales usando Minecraft Java Edition. Más adelante haré algo parecido con Minecraft Bedrock Edition.

Minecraft Java Edition

Es la versión más fácil de poner a funcionar, tiene mayor cantidad de mods y skins y es también la que usa el entorno de Java…

Iniciando el servidor

Para el servidor seré simple y breve. Docker se encargará de la magia.

docker run -d -it \
  -e TZ=America/Panama \
  -e EULA=TRUE \
  -p 25565:25565 \
  -v /home/usuario/minecraft:/data \
  --name mc itzg/minecraft-server \
  -e ENABLE_AUTOPAUSE=TRUE

Destripemos un poco a que se refiere todo esto:

-e TZ=America/Panama: fija la zona horaria en nuestro país. UTC-5

-e EULA=TRUE: Microsoft y Mojang requiere aceptar los términos de la EULA para poder usar Minecraft.

-p 25565:25565: se refiere al puerto que redireccionará docker las peticiones para el contenedor

-v /home/usuario/minecraft:/data: básicamente se trata de la carpeta local que será el volumen /data de Minecraft. Aquí tenemos un archivo persistente con las opciones de configuración de Minecraft e incluso podemos cargar mods y otras cosas.

–name mc itzg/minecraft-server: hace referencia al nombre del contenedor de minecraft mc y la imagen que usará del repositorio itzg/minecraft-server.

-e ENABLE_AUTOPAUSE=TRUE: está opción es experimental, pero bastante útil. Normalmente no estamos todo el día usando el servidor, solo por ratos durante el día o la semana. Lo que hace esta opción es detener el juego y escuchar peticiones hacia el contenedor, al ocurrir una, levanta el juego nuevamente en el último lugar donde había quedado. De este modo, el juego no consume tantos recursos físicos (sobre todo RAM).

Con este comando docker en menos de 5 minutos estaremos ejecutando un servidor vanilla de Minecraft.

Configurando el servidor con el archivo server.properties

En este archivo se guarda la configuración base del servidor Minecraft. Podemos encontrarlo dentro del directorio que definimos como volumen /data. Aquí podremos personalizar el motd y el mapa de nuestro servidor. Cualquier cambio realizado, lo actualizaremos reiniciando el contenedor.

docker stop mc
docker start mc

El cambio más importante en este archivo es deshabilitar la autenticación en línea de los clientes. Solo es cuestión de editar la línea online_mode de true a false.

Para cambiar el motd (message of the day) solo hay que editar la línea que hace referencia a ella y colocar el contenido nuevo.

Configurando los clientes

Como ya he dejado atrás los tiempos de corsarios y piratas, fui a la página de Minecraft y compré una licencia. Instalé el launcher oficial en cada una de las computadoras que usaré como cliente y con la misma cuenta de Microsoft. Solamente una de ellas, podrá emplearse con Minecraft en internet, tendrá el acceso libre a los servidores oficiales. No se puede emplear la misma cuenta en dos dispositivos en uso simultáneamente.

Para instalar el lanzador oficial en Arch Linux, solo es cuestión de instalarlo desde el AUR.

yay -S minecraft-launcher

Ahora veamos algunas imágenes de como va todo:

Lanzador oficial de Minecraft
El juego cargado de manera oficial

Para ingresar al servidor, Minecraft detecta automáticamente cualquier servidor en la red y lo muestra en un listado. Si esto no ocurre, solo es cuestión de agregar el servidor e ingresar la IP de la máquina donde tenemos corriendo el contenedor docker.

Ingresando a la lista de servidores desde el cliente oficial
Ya dentro del servidor oficial

El resto de las computadoras en casa tendrán entonces el lanzador oficial de Minecraft, e instalaré un segundo lanzador, TLauncher. Si bien, dejé atrás los tiempos de corsarios y piratería, en este caso muy particular estoy promoviendo el uso por la simple razón de poder jugar en familia con mi hijo y sus primos.

Anteriormente existían métodos dónde editabas un archivo o desactivabas la conexión a internet y editabas el perfil del juego y luego reconectabas para ingresar al servidor local. No obstante, estos métodos han dejado de funcionar desde que Microsoft obligó a utilizar una cuenta Microsoft para utilizar el juego. He intentado emplear varios de ellos, pero en cuanto encuentre un método válido actualizaré la entrada. Por el momento, sería cuestión de instalar TLauncher que se encuentra en el AUR.

yay -S mctlauncher

Eso es todo, una vez instalado, ya podremos lanzar el juego de manera rápida. Desde nuestro menú de aplicaciones del entorno de escritorio que usemos. En el recuadro de abajo, solo escribimos el nombre de usuario que utilizaremos, la versión y hacemos click en entrar al juego.

TLauncher en acción
El juego ya lanzado con TLauncher, en la esquina inferior izquierda vemos que dice «con mods» esto es porque TLauncher carga un skin por defecto
Lista de servidores en modo LAN
Una vez ingresado al servidor

Como se ve, es bastante sencillo crear un servidor y tener una partida familiar utilizando GNU/Linux. Claro está, la forma oficial sería tener una cuenta oficial por cada dispositivo, pero considerando el costo arriba de B/. 26.00 y el uso que al menos de mi parte yo le daría, no justifica la inversión.


avatar
Moisés Serrano Samudio Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth y diseñador/desarrollador de sitios web de salud. Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
  1. Aún no hay comentarios...

Deja una respuesta

Su email no será publicado. Required fields are marked *