Yupick/mc-simple
Servidor Minecraft Java basado en Paper con sistema RPG, economía integrada y soporte multicliente para Java y Bedrock. Ideal para jugadores que buscan una experiencia inmersiva y divertida en Minecraft.
🎮 Instalador de Servidor Minecraft Paper
Sistema completo para instalar y gestionar un servidor de Minecraft Paper con interfaz de línea de comandos.
📋 Requisitos
Antes de ejecutar el instalador, asegúrate de tener instalados:
# Ubuntu/Debian
sudo apt update
sudo apt install curl jq openjdk-21-jre-headless screen
# O verifica qué tienes instalado
curl --version
jq --version
java --version
screen --version🚀 Instalación Rápida
-
Ejecuta el instalador:
./install-paper.sh
-
Sigue el asistente interactivo:
- Selecciona la versión de Minecraft (desde 1.19 en adelante)
- Decide si instalar plugins de compatibilidad:
- ViaVersion: permite que jugadores con versiones anteriores/posteriores se conecten
- Geyser + Floodgate: permite que jugadores de Bedrock Edition se conecten
-
El instalador creará:
- ✅ Carpeta
server/con el servidor - ✅ Carpeta
server/plugins/para plugins - ✅ Script
server/manage-control.shpara gestionar el servidor - ✅ Archivos de configuración (
eula.txt,server.properties)
- ✅ Carpeta
🎛️ Gestión del Servidor
Una vez instalado, navega a la carpeta del servidor:
cd serverComandos Disponibles
# Iniciar el servidor (se ejecuta en segundo plano)
./manage-control.sh start
# Detener el servidor de forma segura
./manage-control.sh stop
# Reiniciar el servidor
./manage-control.sh restart
# Ver los logs en tiempo real
./manage-control.sh logs
# IMPORTANTE: Presiona Ctrl+A y luego D para salir sin cerrar el servidor
# Abrir cliente de consola para enviar comandos
./manage-control.sh console
# Ver estado del servidor
./manage-control.sh status
# Ver ayuda
./manage-control.sh help💻 Cliente de Consola
El cliente de consola te permite enviar comandos al servidor sin usar un cliente gráfico:
./manage-control.sh consoleUna vez dentro:
- Escribe comandos sin el
/inicial - Ejemplos:
minecraft> list minecraft> give Player diamond 64 minecraft> tp Player 0 64 0 minecraft> say ¡Hola a todos! minecraft> weather clear - Escribe
exitoquitpara salir (el servidor sigue corriendo)
📊 Características
✨ Servidor
- Ejecución en segundo plano: El servidor corre continuamente
- Optimización: Flags de Aikar para mejor rendimiento
- RAM configurable: 1GB mín, 4GB máx (editable en manage-control.sh)
- RCON habilitado: Puerto 25575, contraseña:
minecraft
🔌 Plugins Opcionales
-
ViaVersion
- Permite compatibilidad entre diferentes versiones de Minecraft
- Los jugadores con versiones anteriores o posteriores pueden conectarse
-
Geyser + Floodgate
- Permite que jugadores de Bedrock Edition (consolas, móviles) se conecten
- Puerto Bedrock predeterminado: 19132 (UDP)
🎮 Gestión Avanzada
- Logs en tiempo real: Ve qué sucede en el servidor sin interferir
- Detención segura: Guarda el mundo antes de cerrar
- Reinicio rápido: Para aplicar cambios de configuración
📝 Configuración
Editar propiedades del servidor
nano server/server.propertiesPropiedades importantes:
server-port=25565- Puerto del servidormax-players=20- Máximo de jugadoresgamemode=survival- Modo de juego predeterminadodifficulty=easy- Dificultadonline-mode=true- Verificación de cuentas de Mojangrcon.password=minecraft- Contraseña RCON
Ajustar RAM del servidor
nano server/manage-control.shBusca y modifica:
MIN_RAM="1G" # RAM mínima
MAX_RAM="4G" # RAM máxima🔧 Solución de Problemas
El servidor no inicia
# Verifica que Java esté instalado
java --version
# Revisa los logs
cd server
./manage-control.sh logsScreen no encontrado
sudo apt install screenPuerto ya en uso
# Verifica qué usa el puerto 25565
sudo lsof -i :25565
# Cambia el puerto en server.properties
nano server/server.properties
# Modifica: server-port=25566Problemas con Geyser (Bedrock)
- Asegúrate de que el puerto UDP 19132 esté abierto
- Verifica la configuración en
server/plugins/Geyser-Spigot/config.yml
🌐 Conectarse al Servidor
Java Edition
- Abre Minecraft Java Edition
- Multijugador → Añadir servidor
- Dirección:
tu-ip:25565(o tu puerto configurado)
Bedrock Edition (si Geyser está instalado)
- Abre Minecraft Bedrock
- Servidores → Añadir servidor
- Dirección:
tu-ip - Puerto:
19132
📁 Estructura de Archivos
mc-paper/
├── install-paper.sh # Script de instalación
├── README.md # Este archivo
└── server/ # Carpeta del servidor (creada al instalar)
├── paper-X.XX-XXX.jar # Servidor Paper
├── manage-control.sh # Script de gestión
├── eula.txt # EULA aceptado
├── server.properties # Configuración del servidor
├── plugins/ # Carpeta de plugins
│ ├── ViaVersion.jar # (opcional)
│ ├── Geyser-Spigot.jar # (opcional)
│ └── floodgate-spigot.jar # (opcional)
├── world/ # Mundo principal (generado)
├── world_nether/ # Nether (generado)
├── world_the_end/ # End (generado)
└── logs/ # Logs del servidor (generado)
🔐 Seguridad
- Cambia la contraseña de RCON en
server.properties - Configura el firewall para permitir solo puertos necesarios:
sudo ufw allow 25565/tcp # Java sudo ufw allow 19132/udp # Bedrock (si usas Geyser)
- Habilita whitelist si es un servidor privado:
./manage-control.sh console minecraft> whitelist on minecraft> whitelist add NombreJugador
📚 Recursos Útiles
- Paper MC - Sitio oficial
- ViaVersion - Compatibilidad de versiones
- GeyserMC - Compatibilidad Bedrock/Java
- Aikar's Flags - Optimización JVM
📄 Licencia
Este script es de código abierto. El servidor Paper y los plugins tienen sus propias licencias.
🌿 Flujo de Desarrollo (GitFlow)
Este proyecto usa GitFlow para gestión ordenada de versiones y desarrollo.
📌 Estructura de Ramas
main: Código en producción, 100% establedevelop: Rama de integración, último código desarrolladofeature/*: Nuevas funcionalidadesrelease/*: Preparación de versioneshotfix/*: Correcciones urgentes en producción
🚀 Contribuir
- Fork del repositorio
- Crear feature branch:
git checkout develop git checkout -b feature/mi-funcionalidad
- Commits con convención:
git commit -m "feat(scope): descripción" - Push y Pull Request:
Crear PR hacia
git push origin feature/mi-funcionalidad
developen GitHub
📝 Convención de Commits
feat: Nueva funcionalidadfix: Corrección de bugdocs: Documentaciónstyle: Formato, estilosrefactor: Refactorizaciónperf: Mejora de rendimientotest: Testschore: Mantenimiento, configuración
📦 Versionado
Usamos Semantic Versioning: vMAJOR.MINOR.PATCH
- MAJOR: Cambios incompatibles
- MINOR: Nueva funcionalidad compatible
- PATCH: Correcciones de bugs
Ver CHANGELOG.md para historial completo.
¿Necesitas ayuda? Revisa los logs del servidor con ./manage-control.sh logs o ejecuta ./manage-control.sh status para ver el estado actual.