Saltar a contenido

Minecraft

Enlaces

Varios

Educación

Mecanismos

Servidores

Configuraciones

Plugins interesantes

Ejecución Servidor en Raspberry Pi y/o ODROID-C1

Comandos para arrancarlo

Raspberry Pi

$ sudo java -Xms256M -Xmx496M -jar /home/mine/spigot/spigot.jar nogui

Raspberry Pi 2 o ODROID-C1

$ sudo java -Xms512M -Xmx768M -jar /home/mine/spigot/spigot.jar nogui

Settings aconsejadas

(Fuente)

server.properties

#Minecraft server properties
#Thu Jan 03 16:16:28 WET 2013

level-name=world #Determina la carpeta donde se almacena el mundo. Por tanto sirve para cambiar de mundo
level-type=DEFAULT
server-name=Niubit Server
motd=Raspberry Pi Minecraft server
max-players=6 #Máximo de jugadores admitidos
online-mode=false
spawn-monsters=false #No se generan monstruos
spawn-npcs=false #No se generan vecinos (villagers)
spawn-animals=true #Se generan animales
spawn-protection=16
generate-structures=true #Determina si se generan estructuras (como ciudades)
gamemode=1 #Creative
difficulty=0 #Peaceful
pvp=false #No se permiten daños entre jugadores
view-distance=4 #Es una medida del radio de visión que tienen los jugadores. Influye en el rendimiento del servidor
allow-flight=true #En modo Creative creo que se permite siempre
allow-nether=false
white-list=false #Si se activa sólo se permitirá la incorporación a la partida de determinados jugadores
level-seed=
server-ip=
enable-query=false #Si se permite obtener información del servidor mediante el protocolo GameSpy4
hardcore=false
enable-rcon=false
generator-settings=
server-port=25565
max-build-height=256 #Altura máxima permitida para construir, aunque el terreno generado puede superarla
snooper-enabled=false #Si se envían periódicamente datos a snoop.minecraft.net
op-permission-level=4 #Nivel máximo de permisos de op
announce-player-achievements=true #Se anuncian los logros obtenidos por los jugadores
debug=false
force-gamemode=true #Fuerza la configuración del servidor a cada jugador
resource-pack=
enable-command-block=false
player-idle-timeout=0

bukkit.yml

settings:
  allow-end: false #Desactiva el End (http://minecraft.gamepedia.com/The_End)

spigot.yml

world-settings:
  default:
    view-distance: 4

plugins/WorldBorder/config.yml

cfg-version: 11
message: Has alcanzado el límite de este mundo.
round-border: false
debug-mode: false
whoosh-effect: true
portal-redirection: true
knock-back-dist: 3.0
timer-delay-ticks: 5
remount-delay-ticks: 0
dynmap-border-enabled: true
dynmap-border-message: Has alcanzado el límite de este mundo.
player-killed-bad-spawn: false
deny-enderpearl: true
fill-autosave-frequency: 30
bypass-list-uuids: []
fill-memory-tolerance: 500
worlds:
  taller1:  # Nombre del mundo a limitar
    x: 0
    z: 0
    radiusX: 80
    radiusZ: 80
    wrapping: false

Comandos útiles

Terminal Linux

  • sudo chown -R usuario:grupo directorio: Asigna el usuario y el grupo recursivamente a partir del directorio indicado.
  • sudo poweroff: Apagar la máquina.
  • sudo reboot: Reiniciar la máquina.
  • ifconfig eth0: Datos de TCP/IP del adaptador de red eth0 (tarjeta de red ethernet; los adaptadores wifi suelen llamarse wlan0).
  • sudo nmap -sP 192.168.1.0/24: Escanea la red local 192.168.1.0 para encontrar máquinas conectadas a ella.

Servidor Minecraft

  • gamerule doDaylightCycle false: Paramos el reloj.
  • time set 6000: Pone el reloj al mediodía # Fijamos el reloj al mediodía.
  • tp <jugador> [<x> <y> <z>]: Teleporta a un jugador a una posición.
  • setworldspawn <x> <y> <z>: Definimos el punto de spawn del mundo.
  • toggledownfall: Activa/desactiva la lluvia.
  • weather rain <segundos>: Activa la lluvia durante los segundos indicados.
  • weather clear <segundos>: Desactiva la lluvia/nieve durante los segundos indicados.
  • gamerule doFireTick false: Evita que se propague el fuego.
  • gamerule doMobSpawning false: Evita que se generen Mobs (pasivos y enemigos). Util para evitar distracciones.
  • gamerule keepInventory true: Evita que los jugadores pierdan su inventario al morir.
  • give <jugador> <elemento> [cantidad] [data] [dataTag]: Dar un elemento a un jugador.
  • gamemode <modo> [jugador]: Asigna el modo de juego a uno o a todos los jugadores de entre los siguientes posibles: adventure, creative, survival
  • kick <jugador>: Expulsar a un jugador de la partida.
  • ban <player>: Expulsar a un jugador del servidor.

Plugins

WorldBorder
  • wb shape square: Ajustamos el tipo de borde a cuadrado.
  • wb <nombre_mundo> set 100 spawn: Ajustamos el radio del borde del mundo.
  • wb <nombre_mundo> fill: Forzamos la generación del mundo dentro del límite.
  • wb <nombre_mundo> trim: Eliminamos el mapeado del mundo que queda fuera del límite.
  • wb setmsg "Has alcanzado el límite de este mundo.": Ajustamos el mensaje que ven los jugadores al alcanzar el límite.
Dynmap
  • dynmap fullrender <world-name>: Genera el mapa que inicialmente aparece en negro.
WorldEdit

Los comandos de WorldEdit sólo se pueden lanzar desde la consola que hay dentro del juego (tecla T). Por ese motivo llevan la / delante, aunque curiosamente la mayoría de los comandos de WorldEdit llevan una doble / en realidad. Para poder utilizar WorldEdit el jugador debe ser operador (comando op <jugador> desde consola. Hay que acordarse de quitar el permiso de operador a todos los jugadores para no tener problemas de bloqueo de bloques alrededor del punto de spawn.

  • //wand: Te otorga la herramienta para definir regiones cúbicas o planas.
  • //walls <material>: Construye las 4 paredes del paralelepípedo definido por la selección (dejando el suelo y techo sin construir).
  • //faces <material>: Construye las 6 paredes del paralelepípedo definido por la selección.
  • //set <material>: Rellena todo el paralelepípedo definido por la selección.

La documentación de WorldEdit está aquí. Versión imprimible aquí.

Printbot

Para poder utilizar este plugin, necesitamos tener instalados los plugins de WorldEdit y WorldGuard. Los comandos de Printbot sólo se pueden lanzar siendo op.

  • /printselection: Previamente deberemos haber hecho una selección por medio de WorldEdit. Este comando envía información sobre lo que contenga la selección a los servidores de Printbot y tras un periodo de proceso aparece en la consola del juego una URL que nos permitirá descargar el fichero STL que podremos imprimir con la impresora 3D.

Montaje de un mundo plano para talleres

Antes de empezar paramos el servidor. Generamos un mundo nuevo cambiando lo siguiente en server.properties:

level-type=FLAT
level-name=taller1
allow-nether=false
gamemode=1 #Creative
difficulty=0 #Peaceful
generate-structures=false #No se generan estructuras (como ciudades)
spawn-npcs=false #No se generan vecinos (villagers)
online-mode=false
spawn-animals=false #No se generan animales
force-gamemode=true #Fuerza la configuración del servidor a cada jugador

Instalamos los siguientes plugins:

Arrancamos el servidor. Por medio de comandos lo modelamos:

setworldspawn 0 20 0
wb shape square
wb taller1 set 80 spawn # Lo limitamos a un cuadrado de 160x160 en torno al punto de spawn
wb taller1 fill # Generamos el mundo
wb fill confirm
wb taller1 trim # Eliminamos lo que sobra
wb trim confirm
wb setmsg "Has alcanzado el límite de este mundo." # Ajustamos mensajes
gamerule doDaylightCycle false # Paramos el reloj
time set 6000 # Pone el reloj al mediodía # Fijamos el reloj al mediodía

Bloques

Es útil tener a mano esta guía, aunque tiene el inconveniente de que está en inglés y que parece de una versión distinta a la que solemos usar, porque hay elementos de esta lista que no aparecen en nuestro servidor.

Indico el nombre del elemento en inglés, luego su código y finalmente el nombre del elemento en español:

  • LEASH - 420 - Riendas
  • IRON_BARDING - 417 - Armadura de caballo de hierro
  • BOW - 261 - Arco
  • ARROW - 262 - Flechas
  • SADDLE - 329 - Silla de montar
  • FENCE - 85 - Valla
  • DIRT - 3 - Tierra
  • BEDROCK - 7 - Piedra base

Otras guías en formato gráfico se han sacado de esta página:

Bloques Minecraft

Bloques Minecraft 2

Instalación MineOS en ODROID-C1

Como requerimiento previo, tendremos que tener instalado el JDK de Java, preferiblemente a partir de la versión 8. Aparte de eso, ejecutar los siguientes comandos:

$ sudo apt-get update
$ sudo apt-get -y install screen python-cherrypy3 rdiff-backup git
$ sudo mkdir -p /usr/games
$ cd /usr/games
$ sudo git clone git://github.com/hexparrot/mineos minecraft
$ cd minecraft
$ sudo git config core.filemode false
$ sudo chmod +x server.py mineos_console.py generate-sslcert.sh
$ sudo ln -s /usr/games/minecraft/mineos_console.py /usr/local/bin/mineos
$ sudo cp /usr/games/minecraft/init/mineos /etc/init.d/
$ sudo chmod 744 /etc/init.d/mineos
$ sudo update-rc.d mineos defaults
$ sudo cp /usr/games/minecraft/init/minecraft /etc/init.d/
$ sudo chmod 744 /etc/init.d/minecraft
$ sudo update-rc.d minecraft defaults
$ sudo cp /usr/games/minecraft/mineos.conf /etc/
$ cd /usr/games/minecraft
$ sudo ./generate-sslcert.sh
$ sudo service mineos start

A partir de ahora accederemos a la consola web en la dirección: https://ODROID_IP:8080