En una entrada anterior publicamos la información acerca del Tutorial World desarrollado por The Minecraft Teacher el cual permite acceder a un mundo diseñado para que los estudiantes comiencen su experiencia en Minecraft de forma ordenada y gradual, permitiendo ir practicando las diferentes habilidades como moverse, explorar y construir.
The Minecraft Teacher ha liberado una versión de este mundo Tutorial la cual podemos descargar e instalar en nuestro servidor de pruebas de Minecraft que hemos estado creando. Esto se logra reemplazando el directorio world por el descargado.
Instalación :
Descargar el archivo de Tutorial World desde MediaFire
Copiar en nuestro servidor en el directorio /tmp
Si estamos utilizando un Linux podemos copiar por ssh el archivo, se debe suministrar la clave
scp tutorial-world.zip minecraft@<ipservidor>:/tmp
Entrar como usuario administrador a nuestro servidor
Detener el servidor de Minecraft que hemos instalado anteriormente.
Si tenemos instalado McMyAdmin
sudo service mcmyadmin stop
Si solo tenemos instalado el servidor de Minecraft
sudo service minecraft stop
Convertirnos en el usuario minecraft y suministrar la clave
su -l minecraft
Cambiar al directorio del servidor
cd server
Para no perder nuestro mundo anterior, renombrar los directorios de este
mv world world01
mv world_nether world_nether01
Descomprimir el archivo
cd /tmp
unzip tutorial-world.zip
Moverlo al servidor bajo el nombre de world
mv tutorial-world /home/minecraft/server/world
Salir de la sección
exit
Reiniciar el servicio
Si tenemos instalado McMyAdmin
sudo service mcmyadmin start
Si solo tenemos instalado el servidor de Minecraft
sudo service minecraft start
McMyAdmin es una aplicación escrita en .NET que permite la administrador de un servidor de Minecraft vía web, administrando :
La ejecución del servidor de Minecraft
La creación de copias de seguridad
El acceso al chat
Banner con el estado del servidor
Configuracion del Servidor de Minecraft
Usuarios y Grupos
Permisos
Acceso desde el mundo de Minecraft
Automatizacion de tareas
Actualizaciones automaticas
Existen tres versiones de este software, una versión Personal Gratuita que solo permite el acceso de 8 usuarios al mismo tiempo, una version Professional para proveedores de Hosting con costo y una versión Enterprise para distribuidores y uso comercial.
Ir al directorio donde se quiere instalar el software
en nuestro caso entraremos con el usuario minecraft que creamos en el servidor de pruebas de Minecraft
su -l minecraft
Creamos el directorio donde instalaremos el software
mkdir mcmyadmin
Descargamos el archivo de McMyAdmin
wget http://phonicuk.com/downloads/McMyAdmin-Latest.zip
Desempacamos el archivo
unzip McMyAdmin-Latest.zip
Copiar el archivo de configuracion por defecto
cp McMyAdmin.conf.default McMyAdmin.conf
Generar la clave para el acceso al servidor, cambie la palabra "clave" por la que usara
echo -n clave | md5sum
esto arroja la siguiente linea
1d41c853af58d3a7ae54990ce29417d8 -
Copie el primer valor
Abra el archivo McMyAdmin.conf, busque la linea passwordmd5
Cambie el valor por el valor arrojado por el md5
passwordmd5=1d41c853af58d3a7ae54990ce29417d8
Busque la linea
minecraftpath=
cambiela por la ruta al servidor minecraft
minecraftpath=../server/
Cambie otros valores de la configuracion
Cambiar los permisos de ejecucion :
chmod +x McMyAdmin.exe
Detener el servidor de Minecraft si este se estaba ejecutando
sudo service minecraft stop
Ejecutar el servidor la primera vez :
./McMyAdmin.exe
Abra su navegador favorito y vaya a :
http://<ipservidor>:8080
Esto abre una pagina y solicita la clave de administrador
usuario : admin
clave : la registrada en la configuracion
Pulse Continue en el wizard de configuracion
Cambie los valores de configuracion, como nombre y demas
Pulse el boton Start Server
esto inicia el servidor y permite acceder a la configuracion, chat, preferencias del administrador
McMyAdmin en Ejecucion
Este servidor adiconalmente permite colocar un banner con la informacion del servidor
en la ruta http://<ipservidor>:8080/status.png:
A continuacion se realizara la instalacion del servidor como un servicio dentro de nuestro servidor :
Instalacion del Servicio de McMyAdmin
Entrar como administrador de la maquina
Desinstalar el servicio de Minecraft de nuestro servidor antes creado
sudo update-rc.d -f minecraft remove
Crear el archivo para el servicio de mcmyadmin
sudo vi /etc/init.d/mcmyadmin
Colocar el siguiente script
# --------------------------------------------------------
#!/bin/bash
# chkconfig: 345 71 29
# description: McMyAdmin Server
#
NAME='McMyAdmin' # Server handle for the screen session
MCPID='/usr/local/McMyAdmin/minecraft_server.pid'
USER='minecraft' # User that this will be running under.
DIR='/home/minecraft/mcmyadmin'
PWD=`pwd`
CMD="/usr/bin/screen -S $NAME -A -d -m mono McMyAdmin.exe"
RETVAL=0
service_start() {
if [ -f /var/run/$NAME.pid ]; then
if [ "$(ps -p `cat /var/run/$NAME.pid` | wc -l)" -gt 1 ]; then
echo -e "Cannot start $NAME. Server is already running."
else
rm -rf /var/run/$NAME.pid
service_start
fi
else
cd $DIR
su $USER -c "$CMD"
cd $PWD
sleep 1
ps -ef | grep SCREEN | grep "$NAME" | grep -v grep | awk '{ print $2}' > /var/run/$NAME.pid
echo "$NAME started."
fi
}
service_stop() {
if [ -f $MCPID ]; then
echo "Stopping Minecraft server."
kill `cat $MCPID`
rm -rf $MCPID
echo "Minecraft server stopped."
else
echo "Minecraft server not running."
fi
if [ -f /var/run/$NAME.pid ]; then
echo "Stopping $NAME."
kill `cat /var/run/$NAME.pid`
rm -rf /var/run/$NAME.pid
echo "$NAME stopped."
else
echo -e "Cannot stop $NAME. Server is not running."
fi
}
case "$1" in
'start')
service_start
;;
'stop')
service_stop
;;
'restart')
service_stop
sleep 5
service_start
;;
*)
echo "Usage $0 start|stop|restart"
esac
Minecraft es un juego escrito en el lenguaje de programación Java que permite la construcción de mundos en tercera dimensión donde todo esta hecho a partir de pequeños bloques de diferentes tipos los cuales se pueden obtener del mismo mundo en una actividad de minería.
Instalaremos un servidor de Minecraft en su versión Beta 1.6.6 como un servicio dentro de un servidor Ubuntu 11.04 de tal modo que quede como servicio y se ejecute con su propio usuario, en próximas entradas estaremos personalizando la configuración de nuestro mundo virtual.
Para conectarse a este servidor se debe tener una cuenta de Minecraft y comprar el juego
Instalación :
Instalación Java Puede instalarse el JDK de Oracle o el OpenJDK (no probado aun)
Instalacion JDK Oracle
echo deb http://archive.canonical.com natty partner | sudo tee /etc/apt/sources.list.d/java.list
sudo apt-get update
sudo apt-get install sun-java6-jdk
Instalación del OpenJDK (no probado aun) :
Abra una consola
Actualice la lista de paquetes
sudo apt-get update
Instalar el OpenJDK
sudo apt-get install openjdk-6-jdk
Instalación de Minecraft :
Adicionar el usuario minecraft
sudo adduser minecraft
Conectarse como el usuario minecraft y suministrar la clave
su -l minecraft
Crear el directorio para el servidor y pasarse a este
mkdir server
cd server
Buscar la distribución en formato jar minecraft_server.jar
descargarla y copiarla en el directorio de minecraft
O usar el siguiente comando para descargarla directamente
wget http://www.minecraft.net/download/minecraft_server.jar?v=1308806372045 -O minecraft_server.jar
Ejecutar el servidor por primera vez para que cree los archivos de configuracion :
java -Xmx1024M -Xms1024M -jar minecraft_server.jar
Para detener el servicio escriba el comando
stop <ENTER>
Instalar Script del Servicio :
Conectarse como superusuario
Descargar el script de inicio oficial para minecraft
sudo wget -O /etc/init.d/minecraft "http://www.minecraftwiki.net/Server_startup_script/Script?action=raw"
Editar el archivo /etc/init.d/minecraft y cambiar la linea :
MCPATH='/home/minecraft/minecraft'
por
MCPATH='/home/minecraft/server'
Si se quieren cambiar los valores de memoria RAM, por ejemplo si se quiere colocar 512MB
Cambiar los valores en la linea : java -Xmx1024M -Xms1024M
a java -Xmx512M -Xms512M
Cambiar los permisos de ejecucion :
chmod 755 /etc/init.d/minecraft
Activar los servicios en los diferentes modos :
sudo update-rc.d minecraft defaults
Inciar el servicio
sudo service minecraft start
Lista de Administradores :
En el archivo ops.txt se puede especificar la lista de usuarios que tienen permiso de administrador dentro del servidor, lo que permite ejecutar ciertos comandos
Abrir el archivo ops.txt
Escribir el nombre de usuario
Probando el Acceso :
Ir a la pagina del cliente en :
http://www.minecraft.net/game
Acceder o Registrarse (recuerde que se debe comprar el juego)
Probando de nuevo la creación de maquinas virtuales muy pequeñas que ocupen poco espacio en disco y en memoria, recordé la opción que viene con la version server de Ubuntu la cual permite realizar una instalación mínima sobre maquina virtual utilizando un kernel con soporte para PAE y que hasta el momento me ha funcionado muy bien para crear servidores de desarrollo como también de prueba.
La ultima vez que documente el proceso lo hice con la versión 10.04 y ahora que salio la versión 11.04 me di a la tarea de probar de nuevo la instalación la cual sigue funcionando de igual forma a excepción de la configuración de localización que al momento de seleccionar Colombia no encuentra los archivos del idioma mostrando una lista de idiomas adicionales, por tal motivo se instalo como si el servidor estuviera localizado en Estados Unidos.
Se debe habilitar la opción de PAE/NX de la maquina virtual
Esta configuración se puede encontrar en Settings -> System -> Processor
Se debe utilizar el controlador para discos IDE ya que al usar SATA el servidor no arranca
Esta configuración se puede encontrar en Settings -> Storage
Remover el disco duro del arbol de dispositivos, seleccionarlo y utilizar el boton con el menos
Remover el controlador SATA dando click sobre el Storage Controller ya que este no se utilizara
Adicionar el disco duro como IDE haciendo click sobre el controlador y adicionando un nuevo disco
Al momento de instalar el Ubuntu y después de seleccionar el idioma de instalación, se debe pulsar la tecla F4 y el modo "install minimal virtual machine", con esto tendremos una instalación mínima de Ubuntu Server con un kernel que soporta las plataformas de virtualizacion modernas.
Como muestra el vídeo la instalación del sistema operativo con solo el servicio de OpenSSH toma unos 14 minutos, menos o mas de acuerdo a la velocidad de la maquina host y la velocidad de Internet para las actualizaciones.
Al momento de exportar la maquina virtual en VirtualBox su tamaño es de 240MB.
Como se habia anunciado por parte del equipo de desarrollo de Glassfish en Oracle, la version 3.1 vio la luz en el mes de febrero de 2011, el ultimo día de ese mes, llegando con gran alboroto por parte de la comunidad en torno a este servidor de aplicaciones Java que al parecer ha comenzado a tomar mucha fuerza tanto a nivel de desarrolladores como de empresarios..
La version 3.1 de Glassfish se centra en la creación de clusters, alto desempeño y la administración centralizada, bajo estos tópicos podemos encontrar caracteristicas como infraestructuras básicas para la creación de clusters, reconfiguracion dinámica, sincronizacion, seguridad, nodos administrados via ssh, interface de linea de comandos CLI, emplazamiento, manejo de recursos, servicios de transacciones, monitoreo de servicios RESTful, versionamiento de aplicaciones, balanceadores de carga.
Pasos de Instalación :
Abrir una terminal o conectarse remotamente como administradores del servidor
Instalar una versión de Java si no se tiene :
Instalar JDK de Oracle
echo deb http://archive.canonical.com maverick partner | sudo tee /etc/apt/sources.list.d/java.list
sudo apt-get update
sudo apt-get install sun-java6-jdk
El pasado 11 de Enero de 2011 se anuncio el nuevo derrotero que se seguirá en el desarrollo de las próximas versiones de Glassfish, se han generado algunos cambios haciendo que la version final de Glassfish 3.1 este estipulada para el mes de febrero de este año y la version 3.2 este para el cuarto cuarto de 2011, osea a finales de este año.
La version 3.1 de Glassfish se centra en la creación de clusters, alto desempeño y la administración centralizada, bajo estos tópicos podemos encontrar caracteristicas como infraestructuras básicas para la creación de clusters, reconfiguracion dinámica, sincronizacion, seguridad, nodos administrados via ssh, interface de linea de comandos CLI, emplazamiento, manejo de recursos, servicios de transacciones, monitoreo de servicios RESTful, versionamiento de aplicaciones, balanceadores de carga.
Aunque la version final no ha salido todavía al mercado podemos comenzar a realizar pruebas con las versiones de prueba lo que llamariamos versiones Beta, para este caso utilizaremos la version 3.1 build 37 del 11 de Enero de 2011
Pasos de Instalación :
Abrir una terminal o conectarse remotamente como administradores del servidor
Instalar una versión de Java si no se tiene :
Instalar JDK de Oracle
echo deb http://archive.canonical.com maverick partner | sudo tee /etc/apt/sources.list.d/java.list
sudo apt-get update
sudo apt-get install sun-java6-jdk
A continuación se realizara la instalación de Glassfish versión 3.0.1 el Servidor de Aplicaciones J2EE en un servidor Ubuntu 10.04, permitiendo la ejecucion del servicio al momento de iniciar la maquina.
Pasos de Instalación :
Abrir una terminal o conectarse remotamente como administradores del servidor
Instalar una versión de Java si no se tiene :
Instalar JDK de Oracle
echo deb http://archive.canonical.com lucid partner | sudo tee /etc/apt/sources.list.d/java.list
sudo apt-get update
sudo apt-get install sun-java6-jdk
Glassfish es el servidor de aplicaciones Java basado en la versión empresarial de Java o JEE, este servidor permite la publicación de aplicaciones web gracias a su contenedor web que soporta las tecnologías web de servlets y JSP, así como también componentes empresariales gracias a su contenedor de EJB que permiten publicar servicios basados en tecnologías EJB, JPA y muchas otras.
Actualmente existen dos versiones finales en el mercado, la versión 2.1.x que ya lleva largo tiempo en el mercado y es la versión mas utilizada en el momento y la versión 3.0.x que es la nueva versión que implementa muchos cambios y que apenas esta siendo adoptada en el ambiente de desarrollo de aplicaciones empresariales.
Comparación :
Caracteristica
2.1.x
3.0.x
Fecha de Salida
2.1.1 Octubre 2009
3.0.1 Junio de 2010
Plataformas
Solaris,OpenSolaris,Linux,MacOS,Windows
Solaris,OpenSolaris,Linux,MacOS,Windows
JEE
JEE 5
JEE 6
Tecnologias
Servlet 2.5, JSP 2.1, JSF 1.2
Servlet 3.0, JSP 2.2, JSF 2.0
Base da Datos JavaDB
Java DB 10.4.2.1
Java DB 10.5.3.0
Transacciones JTA/JTS
JTA 1.1/JTS 1.0
JTA 1.1/JTS 1.0
Conectores
Connectors 1.5
Connectors 1.6
EJB
EJB 3.0
EJB 3.1
Servicio de Mensajes
JMS 1.1
JMS 1.1
Persistencia
JPA 1.0 (TopLink)
JPA 2.0 (EclipseLink)
AJAX
jMaki
jMaki
RESTFul
JAX-RS 1.0
JAX-RS 1.1
RESTFul
JAX-RS 1.0
JAX-RS 1.1
Interoperabilidad con .NET Webservices
Metro Web Services Stack .NET 3.0
Metro Web Services Stack .NET 3.5
Scripting
jRuby/Rails
jRuby/Rails,Groovy/Grails,Jython/Django
Telco Application Server
SailFin
Cliente
Application Cliente Container, Java WebStart
Application Cliente Container, Java WebStart
Cliente
Application Cliente Container, Java WebStart
Application Cliente Container, Java WebStart
Ambientes Desarrollo
NetBeans,Eclipse
NetBeans,Eclipse
Alto Desempeño
Clustering,Load Balancer Plugin,High Availability
Clustering
Integracion
Identity Manager,Access Manager,Registry Server,Java Business Integration
La pregunta ahora es cual se debería utilizar y la respuesta viene ligada a cuando vamos a colocar en producción nuestra aplicación y sobre que versión de JEE lo vamos hacer, si queremos sacarle todo el jugo a la nueva especificación de JEE la versión 6 que facilita mucho la creación de aplicaciones, el voto seria por la versión 3.0.1 de Glassfish pero si debemos tener nuestra aplicación en un ambiente probado, con la capacidad de alto desempeño y la integración con otros productos como OpenESB debemos pensar en trabajar todavía en la versión JEE 5 con Glassfish 2.0.1
Para crear una maquina virtual de Ubuntu Server que fuera muy liviana y sacara provecho de las características de virtualizacion de las plataformas actuales como VirtualBox, me di a la tarea de crear una maquina virtual de Ubuntu 10.04 Server con los componentes básicos la cual se ejecutara en VirtualBox 3.2.4, despues de muchas pruebas e instalaciones fallidas por fin pude dar con la configuración adecuada para que esta maquina virtual se ejecutara.
Se debe habilitar la opción de PAE/NX de la maquina virtual
Esta configuración se puede encontrar en Settings -> System -> Processor
Se debe utilizar el controlador para discos IDE ya que al usar SATA el servidor no arranca
Esta configuración se puede encontrar en Settings -> Storage
Remover el disco duro del arbol de dispositivos, seleccionarlo y utilizar el boton con el menos
Remover el controlador SATA dando click sobre el Storage Controller ya que este no se utilizara
Adicionar el disco duro como IDE haciendo click sobre el controlador y adicionando un nuevo disco
Al momento de instalar el Ubuntu y después de seleccionar el idioma de instalación, se debe pulsar la tecla F4 y el modo "install minimal virtual machine", con esto tendremos una instalación mínima de Ubuntu Server con un kernel que soporta las plataformas de virtualizacion modernas.
Tratando de crear una maquina virtual con lo mínimo requerido para crear un servidor para el proyecto, recordé que Ubuntu trae una versión JEOS (Just Enough Operating System) que trae el software mínimo para tener una maquina ejecutando Ubuntu Linux, lo que si no sabia era que ya no existía la distribución de Jeos, si no que es posible instalar esta versión mínima desde el CD de instalacion de la version Server.
Para instalar una de estas versiones mínimas de Ubuntu, se debe descargar la distribución servidor y despues de solicitar el idioma, en el menu principal de instalacion, se debe pulsar la tecla F4 para seleccionar el modo de instalacion, el cual tiene 4 opciones :
Normal :
Instala la versión normal del Ubuntu Server y permite seleccionar durante la instalación software adicional.
OEM Installation :
Instalación para los fabricantes de hardware que permite realizar la instalacion del sistema y luego el cliente es quien realiza la configuracion de enterno del equipo cuando lo utiliza por primera vez.
Install a Minimal System :
Realiza la instalacion minima del sistema, permitiendo instalar una version ultra basica de Ubuntu Linux, sin login, con los comandos basicos, esto es ideal para sistemas embebidos o sistemas con muy pocos recursos, tambien es posible adicionarle la distribucion basica de servidor.
Install a Minimal Virtual Machine : Realiza la instalación mínima del sistema pero utilizando un Kernel compilado para soportar el software de virtualizacion, permitiendo instalar una version ultra básica de Ubuntu Linux, sin login, con los comandos básicos, esto es ideal para sistemas embebidos o sistemas con muy pocos recursos, también es posible adicionarle la distribución básica de servidor.
De esta forma es posible instalar versiones normales o instalaciones mínimas que poseen el software necesario para correr un Linux, o versiones reducidas solo con el software necesario para cubrir ciertos servicios de red, como también se pueden realizar instalaciones para ejecutarse en maquinas virtuales diseñadas para aprovechar las tecnologías de virtualmente existentes.