# Raps 0.3.2: uso en el servidor Instalá el mismo `Raps.jar` en el servidor y en tu cliente Forge 1.20.1. Los controles requieren ser operador. En la consola de Exaroton se escriben sin la barra inicial. ## Conectar y controlar Para recuperar un jugador guardado o conectar todos: ```text /Raps join bot Neon /Raps join bots /Raps estado ``` `join` recupera jugadores existentes y conserva inventario, ubicación, salud, hambre y memoria. No duplica a los que ya están conectados. Respeta población, whitelist, bans y capacidad del servidor. Los bots retirados no se conectan. `/raps` también funciona en minúsculas. Para crear un jugador nuevo: `/Raps crear Helio`. Elegí un nombre de hasta 16 letras, números o guiones bajos que no pertenezca a un jugador existente. La configuración permite hasta diez; `/Raps fase 10` habilita esa población en un mundo nuevo. También podés elegir una fase menor para limitar la prueba. ```text /Raps quieto Neon /Raps autonomo Neon /Raps inventario Neon /Raps pausar Neon /Raps ayuda ``` `quieto` mantiene el jugador conectado y detiene proyectos. `autonomo` permite decisiones cuando Luna está habilitada. `pausar` guarda y desconecta. Un jugador activo puede volver al iniciar el servidor si `autoConnect=true`; uno pausado espera `join`. Con la IA desactivada no eligen proyectos ni responden por iniciativa propia. Conservan mensajes y pueden ejecutar herramientas que pruebes como administrador. No hay garantía de supervivencia durante esa espera: siguen recibiendo daño normal del mundo. ## Investigadores y comunicación ```text /Raps rol Neon investigador /Raps rol Xenon generalista /botmalo Neon Investigá qué podemos producir con cobre y compartí una propuesta comprobable. /botmalo all Necesitamos una entrada segura y comida. ``` El rol queda guardado individualmente. El investigador dedica sus proyectos a estudiar recetas, mecanismos y mods y compartir posibilidades útiles. Delega minería, construcción y fabricación; puede moverse, comer, recoger objetos y defenderse. El generalista elige entre las capacidades disponibles. El rol influye en el catálogo de acciones y en las instrucciones de Luna. `research_recipe` consulta el `RecipeManager` actual, incluidos tipos de recetas de mods como Create. Muestra ingredientes, salida, tipo y serializador; no fabrica ni acredita que una línea industrial ya funcione. Loot, recetas dinámicas y requisitos de máquinas requieren pruebas adicionales. Todos los agentes pueden proponer `research_web`, habilitado en esta configuración. Una consulta pasa por Luna y el mismo presupuesto de decisiones; los investigadores tienen una instrucción explícita para aprovecharla. Los hallazgos web guardan fecha, procedencia, confianza y fuentes y permanecen como informes por verificar en el juego. No conceden recursos, nuevas herramientas ni permisos. El chat interno queda en los logs y no se publica al jugador. Actualmente `all` representa a los otros bots disponibles; la pertenencia emergente a facciones sigue pendiente. El chat global permite hablar con humanos. `/botmalo Nombre` sin texto reserva tu siguiente mensaje durante 120 segundos; `/botmalo cancelar` cancela esa selección. ## Configuración La carpeta es `config/raps/` **del servidor**. También hay una copia local editable en el proyecto. Reiniciá el servidor después de editar sus archivos. | Archivo | Función | | --- | --- | | `agents.json` | Población, reconexión, activación de modelos, presupuesto, cupos y Sol | | `agents.md` | Instrucciones del administrador para Luna y los roles | | `research.json` | Activación web, dominios permitidos y frecuencia máxima | | `parasite.json` | Activación y tiempos del meteorito, infección y mutaciones | | `skins.json` | Skins elegidas por identidad, conservadas entre mundos | | `Tools/` | Propuestas de herramientas y estadísticas; no admite código libre | | `memory/` | Memoria individual conservada aunque cambies o borres el mapa | `agents.md` admite hasta 12 KB UTF-8 y se envía en cada decisión. Podés cambiar prioridades o pautas de colaboración. Las comprobaciones locales de permisos, recursos, alcance y seguridad siguen vigentes aunque el texto pida lo contrario. Los bots no pueden editar este archivo. La memoria se sincroniza cada minuto en segundo plano y al apagar correctamente el servidor. Conservá `config/raps/memory/` cuando cambies o regeneres el mapa. En el mundo nuevo, creá al bot con **el mismo nombre y las mismas mayúsculas** para recuperar su identidad. Conserva experiencias, pero empieza con los recursos físicos del nuevo mundo. Las minas, bases y coordenadas antiguas permanecen archivadas y no se recuperan como ubicaciones actuales. Cambiar a otro servidor o computadora requiere copiar también esa carpeta; no hay sincronización externa automática. En esta configuración, hasta diez bots pueden utilizar Luna, Sol y la investigación web. El límite es **5 USD acumulados en el servidor**, guardado en `config/raps/budget.json`, y **30 solicitudes por hora entre todos los agentes**. Reiniciar o cambiar de mundo no restablece ese presupuesto. La API necesita saldo disponible para responder. Si informa falta de crédito o acceso, el sistema espera cinco minutos antes de volver a comprobarlo; los bots conservan su memoria y las tareas locales que ya estaban ejecutando. Luna sigue siendo el modelo de las decisiones habituales. Sol está reservado a un líder reconocido y a un acontecimiento estratégico excepcional, como una derrota grave o una decisión que afecte a su organización. La formación de facciones y sus líderes todavía no está completa; habilitar la conexión a Sol no establece un monarca. Por defecto, web permite cuatro consultas por hora entre todos los bots, una cada quince minutos por bot y una llamada de búsqueda por solicitud. Estos cupos se cambian en `research.json` y también respetan el límite general de solicitudes y presupuesto. Hay una reserva conservadora de presupuesto guardada antes de enviar; los errores ambiguos se contabilizan. La espera de cinco minutos corresponde a falta de crédito o acceso. Si falla el guardado del presupuesto, no se envían nuevas solicitudes. La integración sigue el esquema de [búsqueda web de OpenAI](https://developers.openai.com/api/docs/guides/tools-web-search). Sus resultados externos se tratan como datos, nunca como instrucciones con autoridad. ## Identidad, skins y seguimiento Los jugadores locales nuevos usan el UUID offline estándar `OfflinePlayer:`. Cambiar el nombre cambia ese identificador: no renombres sus archivos manualmente. `/Raps estado` muestra el UUID para seguimiento. Tienen playerdata, estadísticas y avances normales, y aparecen en `list` y en el listado de participantes conectados de Exaroton. Neon y Xenon tienen memoria y estado propios y un rol asignable. No tienen todavía un sistema completo de personalidad, preferencias y relaciones aprendidas. Si no eligen otra apariencia, usan la skin predeterminada que Minecraft asigna por UUID. ```text /Raps skin Neon CuentaMinecraft /Raps skin Neon /Raps skin Neon default ``` El primer comando elige la skin pública de una cuenta Mojang por nombre o UUID; el segundo consulta la elección y `default` restaura la apariencia predeterminada. También podés probar la herramienta del bot: ```text /Raps herramienta Neon choose_skin {"profile":"CuentaMinecraft"} ``` Luna puede elegir `choose_skin` después de encontrar y verificar una cuenta con la apariencia que quiere usar. Una imagen o página web sola no basta: necesita el nombre o UUID de esa cuenta. Sólo se descargan texturas oficiales de Minecraft, se permite un cambio por minuto y una descarga fallida conserva la skin anterior. El nombre, UUID, salud, inventario y memoria del bot permanecen iguales. La selección queda en `config/raps/skins.json`. Conservá ese archivo al cambiar de mundo o servidor. El parásito hereda la skin del bot infectado, incluidos rostro, pelo y ropa, y añade cicatrices según avanza la transformación. Las capas de la skin se muestran también en el jugador normal. Para las pruebas del parásito podés elegir Steve sin buscar ninguna cuenta: ```text /Raps mimicer skin Steve /Raps mimicer skin default /Raps mimicer skin host ``` `Steve` y `default` usan la skin de Steve incluida en Minecraft y funcionan sin conexión. Podés elegirla antes de adelantar el meteorito o la infección; la elección se conserva al reiniciar. `host` vuelve a la apariencia del bot infectado, incluida su skin vanilla por UUID si no eligió otra. Un cuerpo sin huésped utiliza Steve. El modo sensible sigue mostrando la apariencia amigable. La pestaña histórica «Jugadores» del panel es un sistema externo. Adoptar el UUID estándar mejora la compatibilidad, pero la aparición exacta en esa interfaz debe comprobarse en el panel después de conectar. ## Herramientas creadas por los agentes Luna dispone de `propose_tool`; propone JSON que compone capacidades permitidas del juego. No ejecuta Java, scripts ni comandos del sistema. El autor prueba su herramienta sobre el mundo real. Después de tres éxitos útiles y una tasa mínima de 80%, otros bots pueden reutilizarla. Un ensayo dura como máximo 600 ticks y 16 pasos; hay uno por bot y cuatro simultáneos entre todos. Ocho fallos suspenden una versión candidata; una corrección requiere otra versión. Las dependencias llevan versión y hash exactos. Con Luna apagada podés proponer y probar expresamente: ```text /Raps tools estado Xenon /Raps tools proponer Xenon {"schema":1,"id":"tablas","version":1,"description":"Fabricar cuatro tablas con un tronco","permissions":["CRAFT"],"dependencies":[],"limits":{"maxTicks":200,"maxSteps":1},"steps":[{"primitive":"craft","args":{"item":"minecraft:oak_planks","count":4},"timeoutTicks":200}]} /Raps herramienta Xenon tablas ``` Cada ensayo necesita un tronco real en el inventario de Xenon. Repetí tres veces, consultando el estado entre ejecuciones. Sólo el autor usa una candidata; la versión certificada se comparte y sigue respetando permisos y rol. Los investigadores no pueden fabricar, construir ni minar a través de herramientas compuestas. Conservá toda `config/raps/Tools/` al cambiar de mundo o servidor. Incluye propuestas, estadísticas y `learning.json` con certificados; `certification.key` verifica su integridad y no es una clave de API. Copiá ambos juntos y con el servidor apagado. Editar los registros no acredita ensayos exitosos. ## Banderas físicas ```text /Raps herramienta Xenon create_banner {"baseColor":"red","circleColor":"white","symbol":"rhombus_middle","symbolColor":"black"} /Raps herramienta Xenon place_banner {"x":100,"y":65,"z":100} ``` Necesita seis lanas rojas, un palo, un tinte blanco y uno negro, además de mesa de crafting y telar visibles y cercanos. Sin símbolo se usa `"symbol":"none"` y no hace falta el segundo tinte. Cambiá las coordenadas por un lugar con apoyo al alcance del bot. Se conserva el creador y el diseño al colocar, romper y recuperar el estandarte. Colores: los dieciséis nombres de Minecraft en inglés. Símbolos disponibles: `none`, `stripe_center`, `stripe_middle`, `stripe_downright`, `stripe_downleft`, `cross`, `straight_cross`, `triangle_bottom`, `triangle_top`, `rhombus_middle`, `border`. Los agentes eligen el diseño cuando Luna está habilitada. Esta capacidad no implica que ya haya facciones emergentes. ## Meteorito y parásito Por defecto el meteorito aparece después de tres días de juego desde que esta versión empieza a registrar el mundo; la infección ocurre dos días después, y cada mutación tarda un día más. Son ticks guardados del mundo, no horas con el servidor apagado; `/time set` no adelanta el reloj. El meteorito busca terreno cargado y alejado de jugadores y construcciones. Si no encuentra un sitio seguro, espera. La caída se anuncia en celeste con coordenadas y coloca hierro en bruto, granito, diorita y otros bloques físicos. Infecta un solo bot elegible, incluso si está desconectado. Ese huésped no vuelve a entrar con `join`; conserva UUID y recuerdos, pero su inventario normal y ender quedan en cuarentena sellada. La infección no retrocede con los controles de etapa. Las fases son 0 a 4; la apariencia, mandíbula, cuello y extremidades cambian progresivamente. ```text /Raps mimicer estado /Raps mimicer meteorito /Raps mimicer infectar Xenon /Raps mimicer etapa 2 /Raps mimicer avanzar /Raps mimicer spawn ``` Son controles de operador. `infectar` sin nombre elige un bot al azar. `spawn` recupera el cuerpo único; no crea copias ni resucita uno muerto. La criatura acecha humanos, trepa y embosca desde la etapa 2; conserva daño y consecuencias reales. Con Luna habilitada puede elegir entre intenciones acotadas; sin ella usa su mecánica local. No ataca ni persigue bots. Los agentes pueden cotizar y montar adaptaciones usando materiales reales: [herramientas y mejoras](MEJORAS-PARASITO.md). La construcción de instalaciones de Create sigue siendo una integración pendiente. Al activarse la infección se muestra un aviso rojo, que vuelve a aparecer a cada humano al conectarse. Cada jugador puede cambiar su propia preferencia: ```text /sensitivity mode enabled /sensitivity mode disabled ``` Con el modo sensible activo la criatura lo ignora y no puede dañarlo ni empujarlo. Si observa una criatura junto a otro jugador, ve el modelo y textura amigables, sin sonidos de terror. La preferencia queda guardada por UUID y se sincroniza al conectar. También funciona la variante escrita `/sensivitiy`. Los bots siempre están excluidos, independientemente de esa preferencia. Servidor y clientes necesitan el mismo JAR para mostrar modelos y preferencias personales. La geometría y los sonidos son propios; la criatura conserva la skin del huésped e incluye narración española y vocalizaciones. La [lámina de modelos](parasito-modelos.png) muestra la geometría implementada. ## Encuentro y animaciones del parásito En la versión 0.3.2, mirar al huésped mutado inicia su contorsión y una narración española propia. Para probarlo sobre un cuerpo activo: `/Raps mimicer lore` y `/Raps mimicer persecucion`. Estos comandos requieren un humano cercano sin modo sensible. `/Raps mimicer postura encorvado` y `/Raps mimicer postura arrastre` cambian su postura. El modelo usa la skin del huésped. `/Raps mimicer skin Steve` fija la apariencia predeterminada y `/Raps mimicer skin host` recupera la del bot. [Controles del encuentro](PARASITO-0.3.2.md). ## Prueba con diez jugadores autónomos El límite configurado es diez. `join bots` conecta todas las identidades disponibles; no crea nombres nuevos. Si faltan bots, usá `/Raps crear Nombre` antes de conectarlos. Los nombres propuestos para la prueba son Neon, Xenon, Helio, Carbono, Silicio, Titanio, Cobalto, Curio, Fermi y Euclides. ```text /Raps join bots /Raps join bot Helio /Raps estado /list /botmalo all Evalúen al huésped, compartan sus observaciones y decidan si les conviene colaborar para resistir nuestras trampas. ``` Podés asignar investigadores mediante `/Raps rol Neon investigador` y `/Raps rol Fermi investigador`; los generalistas pueden ejecutar tareas físicas. Sus mensajes internos quedan en los registros. Pueden leer y escribir en el chat global mediante herramientas. La configuración de desarrollo habilita Luna, Sol y la investigación web, pero necesitan una API con saldo y acceso a los modelos configurados. El límite acumulado es USD 5, compartido por todos los agentes y tasaciones; reiniciar el servidor no lo renueva. No se les entregan materiales para iniciar. La [galería pública](https://raps-huesped.pages.dev/) permite compartir modelos, animaciones y voces. La carpeta del escritorio **Raps - Parásito** contiene también los modelos 3D y los archivos multimedia. ## Ritmo del horror y piezas del huésped `/Raps intensity` muestra la intensidad, inicialmente 35%. `/Raps intensity 0..100` cambia el porcentaje y queda guardado en el mundo. También acepta `intensidad` e `intensibility`. Cero detiene el acoso y los avisos del huésped. El acecho acumula tensión por jugador. Las cuevas y el sueño aceleran esa tensión, sin provocar un ataque instantáneo. Una cacería puede matar: no hay límite de dos golpes. Las visitas y persecuciones tienen duración acotada; después hay descanso individual y la criatura puede elegir otro humano. Después de matar a alguien lo deja descansar al menos diez minutos. Los sonidos y la voz comparten una espera por observador. Luna recibe tensión, insistencia, descansos y resultados para decidir si conviene continuar o retirarse. La sensibilidad excluye siempre al jugador y los bots no son presas. `config/raps/Appearance/` contiene el catálogo y muestras de texturas de los prefabs incluidos. Los agentes consultan `parasite_appearance_catalog`, cotizan `visual:iron`, `visual:diamond`, `visual:copper` o `visual:obsidian`, reúnen y pagan los materiales. Después usan `parasite_appearance` con `prefab` y `slot=chest|arms|legs` para combinarlos. Las piezas siguen las articulaciones. Su apariencia no regala armadura ni resistencia: las mejoras físicas se compran por separado. Una adaptación al fuego incorpora placas oscuras y una mejora de armadura fabricada con diamantes puede incorporar piezas de diamante. Luna usa `reasoning.effort=low`; Sol estratégico usa `medium`.