Fabrizio Riga

Todos los proyectos

Plugins en Java para un servidor de juegos

Plugins propios con Paper API, con tareas programadas, listeners de eventos, comandos y un sistema de puntos con ranking, además del despliegue y la administración del servidor.

Estado
En producción
Año
2025
Stack
Java, Maven, Paper API
Diagrama de un plugin. Un evento del juego llega a un listener con reglas propias, que suma puntos al jugador y actualiza el ranking. Una tarea programada y los comandos también actúan sobre los puntos y el ranking.Plugin con Paper APIEventodel juegoListenerreglas propiasPuntospor jugadorRankingTarea programadaComandosJava con Maven, desplegado en un servidor propio.
Diagrama

Contexto

Además de lo que vemos en clase, programo en Java por mi cuenta: plugins para un servidor de juegos que despliego y administro yo.

Solución

Plugins propios que añaden funcionalidad al servidor:

  • Listeners de eventos: reaccionan a lo que pasa en el juego y aplican reglas propias.
  • Tareas programadas: procesos que se ejecutan cada cierto tiempo.
  • Comandos: para jugadores y para administración.
  • Sistema de puntos con ranking: los jugadores acumulan puntos y se ordenan en una clasificación.

Mi rol y decisiones

Desarrollo los plugins y me ocupo del servidor: despliegue, configuración y mantenimiento.

  • Maven para gestionar dependencias y generar el plugin de forma reproducible.
  • Paper API como base: es la API del servidor y obliga a respetar su ciclo de vida, sus eventos y su planificador de tareas.
  • Responsabilidades separadas: listeners, comandos y tareas programadas en piezas distintas, para poder cambiar una sin romper las demás.

Stack

  • Java y Maven.
  • Paper API, la API de servidores de Minecraft sobre la que funcionan los plugins.

Resultado

Los plugins funcionan en el servidor, que despliego y administro yo.

Lo que aprendí

Es Java fuera del aula: una API grande que no he diseñado yo, código que se ejecuta mientras hay gente conectada y errores que se notan al momento. Me ha obligado a leer documentación, depurar en un entorno real y pensar en el rendimiento.