Servidor correcto
Paper 26.1.2 o superior (API 26.1) y Java 25. El proyecto se compila con maven.compiler.release=25; una Java anterior no carga las clases.
Todo el plugin en orden: requisitos, instalación, primera arena, partida de prueba, PCW, Parkour, permisos y personalización. Cada bloque de comandos se puede copiar tal cual.
Este orden evita los errores más comunes: arenas sin guardar, permisos regalados y pruebas en el servidor equivocado.
Paper 26.1.2 o superior (API 26.1) y Java 25. El proyecto se compila con maven.compiler.release=25; una Java anterior no carga las clases.
Instala únicamente ProtectTheCore-Free-2.0.1-SNAPSHOT.jar o ProtectTheCore-Premium-2.0.1-SNAPSHOT.jar. Dos JAR del mismo plugin en plugins/ provocan comandos y tareas duplicadas.
Multiverse-Core, LuckPerms, Vault y PlaceholderAPI son softdepend: el plugin arranca sin ellas. Se recomiendan LuckPerms (rangos) y PlaceholderAPI (prefijos y placeholders).
Antes de actualizar, copia plugins/ProtectTheCore/, la base de datos y la carpeta Mapas/. Prueba primero en staging con la misma versión de Paper.
Usa cuentas reales para validar TAB, belowname, scoreboard y permisos: parte del formato se decide en el cliente. Un bot o la consola no sustituyen esa prueba.
ptc.rank.owner solo para el dueño; ptc.rank.admin para administración; nunca entregues ptc.*, ptc.admin, ptc.event ni ptc.arena.repair a compradores.
target/free/ProtectTheCore-Free-2.0.1-SNAPSHOT.jar y target/premium/ProtectTheCore-Premium-2.0.1-SNAPSHOT.jar. Se compilan con .\mvnw.cmd clean verify -Pfree y .\mvnw.cmd clean verify -Ppremium.La consola debe confirmar edición, versión, proveedor de permisos y base de datos antes de tocar ninguna arena.
plugins/.FREE o PREMIUM, versión 2.0.1-SNAPSHOT, aviso [TAB], aviso de anuncios, conexión [Database] y proveedor de permisos detectado./ptc para ver la ayuda paginada y /ptc help admin para los comandos de administración.# En el servidor, como administrador: /ptc setlobby # Comprobaciones útiles: /ptc db status /ptc list /ptc rangos /ptc reload
plugins/ProtectTheCore/ con config.yml, mensajes_es.yml, chat_es.yml y las carpetas PTC-Games/, PTC-Clanes/, PCW-Core/, Parkour-Core/ y Shared/. Si aparece un error de YAML, corrige el archivo indicado antes de continuar.Ejemplo real con la arena Clasica y cuatro equipos. Ejecuta los comandos en este orden y colócate en el punto exacto antes de cada uno.
/ptc create Clasica 4 /ptc wand /ptc select map Clasica # Clic izquierdo en una esquina (Pos1) y clic derecho en la opuesta (Pos2). # Al segundo clic, PTC guarda los límites y analiza el mapa automáticamente. /ptc setspawnarena Clasica /ptc setspectatorspawn Clasica /ptc setspawn Clasica rojo /ptc setspawn Clasica azul /ptc setspawn Clasica verde /ptc setspawn Clasica amarillo # Mira un bloque de diamante (a menos de 10 bloques) antes de cada línea: /ptc core Clasica rojo set /ptc core Clasica azul set /ptc core Clasica verde set /ptc core Clasica amarillo set # Mira una piedra del End o un marco de portal del End: /ptc shop Clasica set # Refuerza la protección de mesas de cada equipo: /ptc protectenchant Clasica set /ptc protectcraft Clasica set # Granjas exactas (opcional, cantidad entre 5 y 10 por defecto): /ptc setfarmspawn Clasica rojo pig 5 /ptc setfarmspawn Clasica azul cow 8 # Hora, clima y ciclo (menú con clics): /ptc arena config Clasica # Alternativa directa para la hora: /ptc selectmap-time Clasica day # Regeneración de minerales y madera cada 15 minutos: /ptc setregen Clasica 900 # Verificar, guardar la copia base y habilitar: /ptc validate Clasica /ptc arena Clasica save /ptc enable Clasica
/ptc create <nombre> [equipos] admite de 2 a 15 equipos. Los nombres aceptan el color en inglés o su nombre visible: rojo, azul, verde, amarillo, aqua, dorado, rosa, morado, azul oscuro, verde oscuro, cian, granate, gris, gris oscuro y naranja. La capacidad recomendada inicial es de 8 jugadores por equipo.
La varita marca el cubo de la arena. El segundo clic ejecuta /ptc map confirm y retira la varita. PTC añade arena-map.selection-vertical-padding (24 bloques por defecto) arriba y abajo, analiza todos los bloques reales y registra minerales, madera y mesas de encantamiento dentro del área. Espera el mensaje de fin de análisis antes de seguir.
/ptc setspawnarena guarda la sala de espera en tu ubicación actual; /ptc setspectatorspawn fija el punto seguro de espectadores. Son ubicaciones distintas del lobby central y de los spawns de equipo.
Cada spawn se guarda donde estás de pie. El núcleo debe ser un bloque de diamante dentro de los límites; al guardarlo, PTC crea una COREZONE automática de radio 8 y altura 5 que protege el área. Si el bloque no está dentro del cubo de la arena, el comando se rechaza.
La tienda se registra mirando una END_STONE o un END_PORTAL_FRAME. Las mesas de encantamiento dentro de la arena ya quedan protegidas por el análisis; protectenchant set añade todas las mesas alrededor de cada spawn, núcleo y región BASE más la que estés mirando. Las mesas de trabajo no se detectan solas: usa protectcraft set.
Las granjas reponen solo los animales que faltan cada farms.check-interval-seconds (5 s). /ptc arena config permite fijar día, mediodía, atardecer, noche, medianoche o amanecer y desactivar el ciclo; también ofrece clima natural, despejado, lluvia o tormenta y su ciclo.
/ptc arena <arena> save crea la copia base .ptcmap v3 (solo el cubo de la arena, con SHA-256 y copia .bak). Sin copia base la arena no está lista. /ptc enable vuelve a comprobar límites, spawns, núcleos y copia; si falla, muestra el motivo exacto.
/ptc validate <arena> revisa límites, sala de espera, spawn y núcleo de cada equipo, regiones, capacidad y estado. Úsalo antes de guardar y después de cualquier cambio estructural.
/ptc selectedit-arena <arena>, termina con /ptc mapsave <arena> y guarda una copia nueva; la anterior no se actualiza sola.Una arena validada todavía necesita una partida real: espera, equipos, economía, núcleos y restauración.
/ptc join Clasica o usa /ptc join random para que el plugin elija una arena en cuenta atrás o con más jugadores./ptc team rojo si tu rango tiene ptc.perk.choose-team; si no, PTC asigna equipos al iniciar./ptc vote si o /ptc vote no. Si nadie vota, la tienda queda habilitada./ptc empezar (permiso ptc.start) o espera a que se cumpla el mínimo y la cuenta atrás configurada./ptc end Clasica o destruyendo el último núcleo; espera la restauración y vuelve a entrar.# Prueba con jugadores simulados (no altera recompensas reales): /ptc test start Clasica 8 /ptc test stop Clasica # Operación durante la partida: /ptc arena Clasica status /ptc arena Clasica pause /ptc arena Clasica resume /ptc end Clasica # Reparación manual si una copia quedó incompleta: /ptc arena Clasica repair
arena-restoration.verify-after-restore: false).PCW usa una arena propia con una aparición numerada por clan. No comparte la copia ni la restauración de PTC Games.
# 1. Crear la arena PCW y una aparición por clan (slot 1-15): /pcw arena create MapaClanes /pcw arena setspawn MapaClanes 1 /pcw arena setspawn MapaClanes 2 /pcw arena setspawn MapaClanes 3 /pcw arena setspawn MapaClanes 4 # 2. Hora y ciclo de la arena (opcional): /pcw arena time MapaClanes night /pcw arena cycle MapaClanes off # 3. El líder o co-líder crea la sala: 4 clanes, 3 jugadores por clan: /pcw create 4 3 MapaClanes # 4. Invitar a los otros clanes por tag: /pcw inviteclan ABC /pcw inviteclan XYZ # 5. Cada líder acepta y confirma su clan: /pcw accept /pcw confirm # 6. Invitar a los miembros conectados y que acepten: /pcw invite Jugador1 /pcw join # Ayuda y estado: /pcw help admin /pcw arena list
PCW-Core/config.yml: 2-15 clanes por partida, 1-15 jugadores por clan, 2 partidas simultáneas, fuego amigo desactivado, 15 Coins al clan ganador y objetos iniciales (espada de piedra, arco, 16 flechas, 16 panes).
Solo entra quien fue invitado y acepta con /pcw join. La partida empieza cuando todos los clanes completan su cupo; gana el último clan con jugadores vivos.
Las arenas anteriores migran red y blue a los slots 1 y 2. Puedes cambiar el tamaño de cada alineación al crear la sala, siempre dentro de los máximos configurados.
Necesitas un clan y el permiso de clan correspondiente. PCW no ofrece copia de bloques ni reparación de mapa: prepara el mapa a mano y evita cambios destructivos durante la guerra.
Un curso pertenece a un mapa, tiene inicio, meta y checkpoints consecutivos. El premio y el cooldown se configuran aparte.
# 1. Crear el curso asignado a un mapa: /pc create Mundo Parkour1 # 2. Recibir las placas de dificultad y colocarlas: /pc wand Parkour1 # Primera placa: inicio. Segunda placa del MISMO material: meta. # Madera = fácil, hierro = intermedio, oro = difícil. # 3. Desde cada ubicación, guardar checkpoints consecutivos: /pc checkpoint 1 /pc checkpoint 2 /pc checkpoint 3 # 4. Lobby opcional de Parkour: /pc setlobby # 5. Probar y publicar: /pc list /pc start Parkour1 /pc stop # Hologramas y rankings: /pc coreholograms Parkour1 /pc coreholograms topcoins /pc coreholograms list
Madera (fácil), hierro (intermedio) y oro (difícil). Las dos placas deben ser del mismo tipo; PTC retira las restantes al cerrar el curso. También existen /pc setstart, /pc setfinish y /pc setcheckpoint como alternativa.
10 Coins por completar, cooldown de 1800 s, timeout de 1800 s, distancia de caída 8.0 y 10 XP PTC por checkpoint. Se editan en Parkour-Core/config.yml y se multiplican por el multicoins activo.
Al pisar la placa de inicio configurada, la carrera comienza sin comando. Si el jugador cae, vuelve al último checkpoint; /pc stop cancela la carrera sin perder el inventario.
/pc coreholograms <curso> crea el top 10 del curso; topcoins, topcompletions, topstreak y topeasy crean rankings globales. list y remove <id> los administran.
La jerarquía staff y los rangos VIP se asignan con nodos reales; PTC no crea grupos por sí solo.
# Dueño: todo, incluida la eliminación de arenas. /lp creategroup dueno /lp group dueno permission set ptc.rank.owner true /lp user TuNick parent set dueno # Administrador: crea y gestiona, pero NO elimina arenas. /lp creategroup admin /lp group admin permission set ptc.rank.admin true # Moderador: eventos, reparaciones y chat de staff. /lp creategroup moderador /lp group moderador permission set ptc.rank.moderator true # Ayudante: canal de staff y espectador. /lp creategroup ayudante /lp group ayudante permission set ptc.rank.helper true # Ejemplo de un nivel VIP (crea los seis por separado): /lp creategroup vip_hierro /lp group vip_hierro permission set ptc.rank.vip-iron true /lp group vip_hierro meta.parent set default
ptc.*, ptc.admin, ptc.event, ptc.arena.repair ni ptc.arena.delete a grupos de compradores. Los perfiles staff son acumulativos: Moderador hereda Ayudante; Administrador hereda Moderador; Dueño hereda todo. Los nodos VIP solo activan beneficios de juego y nunca administración.ptc.* con la etiqueta DevOP. No es el modo recomendado para producción. La consola indica el proveedor detectado al arrancar.Todo lo visible y casi todas las reglas viven en YAML. El plugin nunca reescribe tus archivos al cargar ni al recargar.
| Archivo | Qué controla | Ejemplo |
|---|---|---|
config.yml | Lobby, cosméticos, anuncios, economía, almacenamiento, Tebex, granjas, análisis y restauración. | announcements.intervals.ptc: 180 |
mensajes_es.yml | Prefijo, bienvenida, anuncios, ayuda paginada y respuestas de comandos. | prefix: "&b&lPTC &7&l>> " |
chat_es.yml | Formato del chat general y de partida. | format: "{rank}{clan}{player}&7: &f{message}" |
PTC-Games/tab_es.yml | Lista TAB y belowname por contexto (lobby, espera, partida, espectador, parkour, PCW). | belowname.contexts.game.lines |
PTC-Games/scoreboard_es.yml | Sidebar por contexto, placeholders y animaciones. | titles.lobby, lines.game |
PTC-Games/shop.yml | Catálogo de la tienda: categorías, iconos, precios, encantamientos y objetos especiales. | items.*.price |
PTC-Games/kits.yml | Kits iniciales, armaduras y encantamientos por pieza. | kits.berserker.* |
PTC-Games/enchants.yml | Niveles máximos, costes y efectos personalizados (por ejemplo, rayos con Poder). | custom-effects.power-lightning |
PTC-Games/levels.yml | Progresión de nivel y recompensas por subida. | max-level |
PTC-Clanes/config.yml | Coste de fundación, nombres, invitaciones, solicitudes y tope de miembros. | settings.max-members: 250 |
PCW-Core/config.yml | Clanes y jugadores por partida, partidas simultáneas, fuego amigo, objetos y premio. | settings.maximum-team-size: 15 |
Parkour-Core/config.yml | Premio, cooldown, timeout, caída, XP y lobby de Parkour. | settings.xp-per-checkpoint: 10 |
# Aplicar cambios de YAML sin reiniciar: /ptc reload # Recargas específicas disponibles: /ptc reload shop /ptc reload kits /ptc reload enchants /pcw reload /pc reload # Diagnóstico si algo no se ve como esperas: /ptc debug /ptc db status
Prácticas que evitan pérdida de datos, lag y permisos excesivos en producción.
Copia plugins/ProtectTheCore/, Mapas/, los mundos dedicados ptc_<arena> y la base de datos. Una copia base dañada se repara solo con otra copia válida.
Compilar sin errores no demuestra compatibilidad con tus plugins. Prueba TAB, scoreboard, protecciones, economía y restauración con las mismas versiones y mapas.
Toda edición estructural (bloques, spawns, núcleos, regiones) necesita una copia nueva. Usa /ptc selectedit-arena → cambios → /ptc mapsave → /ptc arena <arena> save.
Si notes lag al analizar o restaurar, baja arena-map.analysis-max-millis-per-tick, arena-map.max-millis-per-tick o los lotes de bloques. Más bloques por tick acelera, pero sube la carga.
SQLite es suficiente para un servidor único. Para una red con varios servidores, usa MySQL/MariaDB y nunca publiques usuario, contraseña ni host en capturas o reportes.
No mezcles Free y Premium. Si actualizas, reemplaza el JAR anterior; conserva solo el artefacto actual y elimina copias intermedias.
PTC no muestra sus nombres VIP: el rango visible es el prefijo de LuckPerms/PAPI/Vault. Crea exactamente seis grupos y revisa /ptc rangos.
Ayudante solo observa y usa el chat de staff; Moderador repara y controla eventos; Administrador gestiona; Dueño elimina. No eleves un rango para “que funcione”.
La mayoría se explica por configuración incompleta. Lee primero el mensaje del comando y la consola.
| Síntoma | Causa habitual | Solución |
|---|---|---|
| La arena no aparece en el selector | Falta límites, spawn, núcleo, copia base o está deshabilitada. | /ptc validate <arena>, completa lo marcado y termina con /ptc arena <arena> save y /ptc enable <arena>. |
| “La arena no está lista” al entrar | Restauración pendiente, edición activa, llena o en partida. | El staff ve el motivo exacto en el mensaje; espera la restauración o usa /ptc arena <arena> status. |
| No se puede romper una mesa | Está registrada como mesa protegida. | /ptc protectenchant <arena> list o protectcraft <arena> list; quita la que estés mirando con remove. |
| Una mesa nueva sí se rompe | Solo se protegen las mesas guardadas con la arena. | Vuelve a ejecutar /ptc protectenchant <arena> set o protectcraft <arena> set mirando la mesa. |
| La hora cambia durante la partida | El ciclo día/noche sigue activo. | /ptc arena config <arena> y elige una hora; el ciclo se desactiva. También /ptc selectmap-time <arena> day. |
| Los troncos no regeneran | El intervalo no ha pasado, están fuera de la arena o en zona protegida. | Espera resource-regeneration-seconds (900 s por defecto) o fuerza /ptc regen <arena>; revisa la lista con /ptc setregen. |
| “No such table” en la base de datos | Versión antigua o esquema adelantado por una consulta. | Actualiza al JAR actual; el esquema se crea antes de la primera consulta. Revisa /ptc db status. |
| El nombre sale duplicado sobre la cabeza | JAR antiguo o belowname.enabled desactivado con una placa vanilla visible. | Usa el JAR actual; con belowname activo PTC oculta la placa vanilla en todos los equipos y contextos. |
| TAB o scoreboard se ve distinto | Otro plugin sustituye el scoreboard o los equipos. | Prueba sin ese plugin y revisa tab_es.yml/scoreboard_es.yml; PTC reaplica la visibilidad de equipos cada tick, pero no puede impedir que otro plugin reemplace el scoreboard completo. |
| Coins no suben al instante | /ptc coins solo cambia el saldo; las recompensas se pagan en eventos de juego. | Verifica la recompensa configurada y el multicoins con /ptc multicoins; las compras y entregas Tebex no se multiplican. |
/ptc debug, reproduce el problema y revisa la consola. Incluye la versión de Paper, la edición, la versión del JAR y el error completo al pedir soporte; nunca compartas contraseñas de base de datos.Si todo está marcado, la instalación está lista para jugadores reales.
/ptc setlobby configurado y probado con una cuenta nueva.