User Tools

Site Tools


java:instalacionsencillaservidor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
java:instalacionsencillaservidor [2015/04/06 19:30] – created rlunarojava:instalacionsencillaservidor [2022/12/02 22:02] (current) – external edit 127.0.0.1
Line 7: Line 7:
 ===== Creando usuario ===== ===== Creando usuario =====
  
-Crearemos un usuario que será el que aloje todos los datos del servidor, los ficheros *jar, posibles mods y otras cosas que suelen crearseOpcionalmentelas copias de respaldo que se hagan de los mundos pueden ser un buen lugar para guardarlas+Crearemos un usuario que será el que aloje todos los datos del servidor. A mí me gusta crearlo con su propio grupo de seguridad (usuario minecraftgrupo minecraft).  
 + 
 +<code shell> 
 +useradd --create-home --user-group --system minecraft2 
 +</code> 
 + 
 +===== Instalación y configuración de Java =====  
 + 
 +El servidor tiene que tener instalado java y funcionando. Omito las instrucciones específicas. Simplemente incluyo una breve instruccion para comprobar que nuestro usuario tiene capacidad para ejecutar java:  
 + 
 +<code bash> 
 +minecraft@server:~$ java -version 
 +java version "1.7.0_75" 
 +OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1) 
 +OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode) 
 +</code> 
 + 
 +===== Descargar servidor ===== 
 + 
 +Se descarga de aquí: https://minecraft.net/download 
 + 
 +**Para descargar versiones antiguas,** es preciso "fabricar" la dirección correcta de descarga. Por ejemplo, la dirección de descarga para la popular versión 1.6.4 es ésta: 
 + 
 +https://s3.amazonaws.com/Minecraft.Download/versions/1.6.4/minecraft_server.1.6.4.jar 
 + 
 +Para otras versioneshe comprobado que basta con cambiar los números y pegar la url resultante en un navegador.  
 + 
 +Simplemente dejaremos el fichero minecraft_server.1.6.4.jar en la carpeta del usuario y le pondremos los permisos adecuados.  
 + 
 +Para facilitarnos el mantenimiento en el futuro crearemos un enlace simbólico ''minecraft.current.jar'' que apuntará al servidor actual: así, la actualización de versiones en un futuro pasará sólamente por cambiar el enlace simbólico: 
 + 
 +<code shell> 
 +root@server:/home/minecraft# su minecraft  
 +minecraft@server:~$ ln -s minecraft_server.1.6.4.jar minecraft.current.jar  
 +</code> 
 + 
 +===== Instalar servicio ===== 
 + 
 +Para ejecutar minecraft [[#Apéndice: servicio para ejecutar minecraft|tengo un servicio creado]] que sencillamente instalaremos en ''/etc/init.d'' --Debian/Ubuntu-- o bien en ''/etc/rc.d'' --SuSE--. 
 + 
 +Puedes descargarlo aquí: 
 + 
 +{{:java:minecraft.zip|}} 
 + 
 +Al instalarlo, configuraremos la ruta correcta a la máquina virtual java: 
 + 
 +<code shell> 
 +JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/ 
 +</code> 
 + 
 +y el directorio home de nuestro usuario "minecraft" (si se llama "minecraft", te funcionará como está). También hay que configurar el acceso al fichero jar. En nuestro caso nos bastará con poner la ruta del enlace simbólico que creamos en el paso anterior:  
 + 
 +<code shell> 
 +SERVER_HOME=/home/minecraft 
 +MINECRAFT_JAR=$SERVER_HOME/minecraft.current.jar 
 +</code> 
 + 
 +===== Instalando mods y mundo ===== 
 + 
 +Lo que necesitamos es instalar el forge installer en el servidorPara ello podemos descargar de [[java:comoinstalarlosmodspasoapaso|esta página]] el fichero para la 1.6.4.  
 + 
 +Descomprimiremos y subiremos al servidor el fichero ''forge-1.6.4-9.11.1.965-installer.jar'' y procederemos a ejecutarlo:  
 + 
 +<code shell> 
 +java -jar forge-1.6.4-9.11.1.965-installer.jar 
 +</code> 
 + 
 +Seleccionaremos una carpeta vacíadonde minecraft forge nos dejará un jar especialmente preparado para soportar mods:  
 + 
 +{{:java:screenshot_from_2015-04-10_21_28_46.png?200|}} 
 + 
 +Nos dejara un jar server ya preprado para ejecutarse que deberemos subir a nuestro servidor: 
 + 
 +{{:java:screenshot_from_2015-04-10_21_33_57.png?200|}} 
 + 
 + 
 + 
 +==== Crear una carpeta .minecraft vacía y hacer una copia de seguridad de la existente ==== 
 + 
 +La carpeta .minecraft de tu ordenador es donde se guardan toda la configuración de minecraft, mundos incluidos.  
 + 
 +Comenzaremos por cambiarle el nombre y ejecutar minecraft: eso es el equivalente a crear un entorno minecraft vacío. A continuación ejecutaremos minecraft y nos logaremos de nuevo.  
 + 
 +==== Al logarnos, ir al editor de perfiles y establecer la version en la 1.6.4 (la del servidor) ==== 
 + 
 +**Inmediatamente** iremos al editor de perfiles y cambiaremos la versión de minecraft por la del servidor: 1.6.4: 
 + 
 +{{:java:screenshot_from_2015-04-10_20_48_14.png?200|}} 
 + 
 +Lo siguiente que tenemos que hacer es arrancar minecraft al menos una vez: eso provocará que se descargue la versión "cliente" de minecraft en la carpeta .minecraft/versions/1.6.4. 
 + 
 +==== Reemplazaremos ese fichero 1.6.4.jar por el fichero del servidor ==== 
 + 
 +Tampoco mucho que contar: 
 + 
 +<code> 
 +user@casa:~/.minecraft/versions$ cd 1.6.4 
 +user@casa:~/.minecraft/versions/1.6.4$ cp SOMEWHEREELSE/minecraft_server.1.6.4.jar . 
 +user@casa:~/.minecraft/versions/1.6.4$ rm 1.6.4.jar 
 +user@casa:~/.minecraft/versions/1.6.4$ mv minecraft_server.1.6.4.jar 1.6.4.jar 
 +</code> 
 + 
 + 
 + 
 +===== Apéndice: servicio para ejecutar minecraft ===== 
 + 
 +El servicio levanta con los privilegios del usuario ''minecraft'' una máquina virtual java con los parámetros adecuados y la referencia al JAR del servidor. Mi servicio está configurado con unos parámetros de ms y mx (que indican los consumos máximos de la memoria de Java) de 1.500M, aunque pueden configurarse a la baja (configuración mínima 1000M). 
 + 
 +Para evitar posibles cuelgues de la máquina virtual java, en el comando stop hago primero un gentle kill y tras cuatro segundos un hard kill, eliminando el fichero PID al final del proceso 
 + 
 + 
 + 
 +<code java> 
 +#!/bin/bash 
 +
 +# minecraft.sh  - to start / stop the minecraft server  
 +
 +# http://minecraft.gamepedia.com/Tutorials/Setting_up_a_server 
 +
 + 
 +### BEGIN INIT INFO 
 +# Provides: minecraft1 
 +# Required-Start: $local_fs $network $syslog 
 +# Required-Stop: $local_fs $network $syslog 
 +# Default-Start: 2 3 4 5 
 +# Default-Stop: 0 1 6 
 +# Short-Description: Minecraft server 1 
 +### END INIT INFO 
 + 
 +JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/ 
 +JAVA=$JAVA_HOME/bin/java 
 + 
 +SERVER_HOME=/home/minecraft 
 +MINECRAFT_JAR=$SERVER_HOME/minecraft.jar 
 +PID_FILE=$SERVER_HOME/pidfile 
 + 
 +umask 022 
 + 
 +test -f "$JAVA" || exit 0  
 +test -f "$MINECRAFT_JAR" || exit 0  
 + 
 + 
 +case $1 in 
 +start) 
 +    echo "Starting minecraft server" 
 +    cd "$SERVER_HOME" 
 +    sudo -u minecraft $JAVA -Xms1300M -Xmx1500M -Djava.awt.headless=true -jar "$MINECRAFT_JAR" nogui &> console.log & 
 +    echo $! > "$PID_FILE" 
 +    echo "done"     
 +    ;; 
 +stop) 
 +    echo "Stopping minecraft server" 
 +    # first make a gentle kill  
 +    kill $(cat "$PID_FILE"
 +    # then sleep and make a hard kill  
 +    sleep 4s 
 +    kill -9 $(cat "$PID_FILE") 2> /dev/null 
 +    rm "$PID_FILE" 
 +    echo "done" 
 +    ;; 
 +reload) 
 +    $0 stop 
 +    $0 start 
 +    ;; 
 +status) 
 +    if kill -0 $(cat "$PID_FILE") ; then  
 +    echo "Minecraft process is running" 
 +    else 
 +    echo "Minecraft process has stopped" 
 +    fi 
 +    ;; 
 +*) 
 +    echo "Usage: $0 start | stop | reload | status" 
 +    ;; 
 +esac  
 + 
 +exit 0  
 + 
 + 
 + 
 + 
 +</code>
  
  
java/instalacionsencillaservidor.1428341407.txt.gz · Last modified: 2022/12/02 22:02 (external edit)