[{"data":1,"prerenderedAt":1932},["ShallowReactive",2],{"nav-docs-es":3,"page-/es/docs/webspace/examples/monster-raid":1156,"surround-/es/docs/webspace/examples/monster-raid":1926,"raw-/es/docs/webspace/examples/monster-raid":1929},[4,67,374,775,902,1074,1084,1109],{"title":5,"tags":6,"slug":6,"path":7,"stem":8,"children":9,"page":66,"sourcePath":7},"Primeros pasos con SpaceBuilder",null,"/getting-started","00.getting-started",[10,15,20,27,34,39,45,50,55,60],{"title":11,"path":12,"stem":13,"tags":6,"slug":14,"sourcePath":12},"Introducción a SpaceBuilder","/getting-started/overview","00.getting-started/00.overview","/getting-started/overview/",{"title":16,"path":17,"stem":18,"tags":6,"slug":19,"sourcePath":17},"Crear una cuenta de SetFN","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account","/getting-started/create-setfn-account/",{"title":21,"path":22,"stem":23,"tags":24,"slug":26,"sourcePath":22},"Instalación en Linux","/getting-started/install-linux","00.getting-started/10.install-linux",[25],"recommended","/getting-started/install-linux/",{"title":28,"path":29,"stem":30,"tags":31,"slug":33,"sourcePath":29},"Instalación con Docker","/getting-started/install-docker","00.getting-started/12.install-docker",[32],"preparing","/getting-started/install-docker/",{"title":35,"path":36,"stem":37,"tags":6,"slug":38,"sourcePath":36},"Instalación en Windows","/getting-started/install-windows","00.getting-started/14.install-windows","/getting-started/install-windows/",{"title":40,"path":41,"stem":42,"tags":43,"slug":44,"sourcePath":41},"Instalación en macOS","/getting-started/install-macos","00.getting-started/16.install-macos",[32],"/getting-started/install-macos/",{"title":46,"path":47,"stem":48,"tags":6,"slug":49,"sourcePath":47},"Configuración inicial","/getting-started/initial-setup","00.getting-started/20.initial-setup","/getting-started/initial-setup/",{"title":51,"path":52,"stem":53,"tags":6,"slug":54,"sourcePath":52},"Activar la licencia","/getting-started/license-activation","00.getting-started/30.license-activation","/getting-started/license-activation/",{"title":56,"path":57,"stem":58,"tags":6,"slug":59,"sourcePath":57},"Consultar la dirección de acceso (red local/interna)","/getting-started/access-url","00.getting-started/35.access-url","/getting-started/access-url/",{"title":61,"path":62,"stem":63,"tags":64,"slug":65,"sourcePath":62},"Elegir un método de acceso externo","/getting-started/access-domain","00.getting-started/40.access-domain",[25],"/getting-started/access-domain/",false,{"title":68,"tags":6,"slug":6,"path":69,"stem":70,"children":71,"page":66,"sourcePath":69},"Administración del espacio","/admin","10.admin",[72,92,162,197,249,274,289,299,339],{"title":73,"tags":6,"slug":6,"path":74,"stem":75,"children":76,"page":66,"sourcePath":74},"Inicio del administrador","/admin/home","10.admin/00.home",[77,82,87],{"title":78,"path":79,"stem":80,"tags":6,"slug":81,"sourcePath":79},"Acceder a la página de administración","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access","/admin/home/admin-page-access/",{"title":83,"path":69,"stem":84,"tags":6,"slug":85,"sourcePath":86},"Recorrer los menús de administración","10.admin/00.home/00.overview","/admin/","/admin/home/overview",{"title":88,"path":89,"stem":90,"tags":6,"slug":91,"sourcePath":89},"Gestión de licencias","/admin/home/license","10.admin/00.home/20.license","/admin/home/license/",{"title":93,"tags":6,"slug":6,"path":94,"stem":95,"children":96,"page":66,"sourcePath":94},"Gestión de usuarios","/admin/user-management","10.admin/10.user-management",[97,102,107,112,117,122,127,132,137,142,147,152,157],{"title":98,"path":99,"stem":100,"tags":6,"slug":101,"sourcePath":99},"Configurar la política de registro y los permisos predeterminados","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy","/admin/user-management/signup-policy/",{"title":103,"path":104,"stem":105,"tags":6,"slug":106,"sourcePath":104},"Registrar los términos de registro","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms","/admin/user-management/signup-terms/",{"title":108,"path":109,"stem":110,"tags":6,"slug":111,"sourcePath":109},"Crear una cuenta de usuario","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member","/admin/user-management/invite-new-member/",{"title":113,"path":114,"stem":115,"tags":6,"slug":116,"sourcePath":114},"Modificar una cuenta de usuario","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member","/admin/user-management/edit-member/",{"title":118,"path":119,"stem":120,"tags":6,"slug":121,"sourcePath":119},"Añadir un administrador","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin","/admin/user-management/add-new-admin/",{"title":123,"path":124,"stem":125,"tags":6,"slug":126,"sourcePath":124},"Gestión de equipos","/admin/user-management/team","10.admin/10.user-management/22.team","/admin/user-management/team/",{"title":128,"path":129,"stem":130,"tags":6,"slug":131,"sourcePath":129},"Gestión de niveles","/admin/user-management/level","10.admin/10.user-management/24.level","/admin/user-management/level/",{"title":133,"path":134,"stem":135,"tags":6,"slug":136,"sourcePath":134},"Consultar los registros de acceso","/admin/user-management/access-log","10.admin/10.user-management/30.access-log","/admin/user-management/access-log/",{"title":138,"path":139,"stem":140,"tags":6,"slug":141,"sourcePath":139},"Administrar dispositivos activos","/admin/user-management/active-devices","10.admin/10.user-management/31.active-devices","/admin/user-management/active-devices/",{"title":143,"path":144,"stem":145,"tags":6,"slug":146,"sourcePath":144},"Configurar las políticas de cuenta y seguridad","/admin/user-management/account-security","10.admin/10.user-management/32.account-security","/admin/user-management/account-security/",{"title":148,"path":149,"stem":150,"tags":6,"slug":151,"sourcePath":149},"Configurar CAPTCHA","/admin/user-management/captcha","10.admin/10.user-management/33.captcha","/admin/user-management/captcha/",{"title":153,"path":154,"stem":155,"tags":6,"slug":156,"sourcePath":154},"Configurar avisos a miembros","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings","/admin/user-management/notice-settings/",{"title":158,"path":159,"stem":160,"tags":6,"slug":161,"sourcePath":159},"Enviar un correo colectivo a los miembros","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail","/admin/user-management/bulk-mail/",{"title":163,"tags":6,"slug":6,"path":164,"stem":165,"children":166,"page":66,"sourcePath":164},"Configuración de servicios","/admin/service-config","10.admin/20.service-config",[167,172,177,182,187,192],{"title":168,"path":169,"stem":170,"tags":6,"slug":171,"sourcePath":169},"Configuración del área de archivos","/admin/service-config/file-area","10.admin/20.service-config/10.file-area","/admin/service-config/file-area/",{"title":173,"path":174,"stem":175,"tags":6,"slug":176,"sourcePath":174},"Configuración de webhooks","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings","/admin/service-config/webhook-settings/",{"title":178,"path":179,"stem":180,"tags":6,"slug":181,"sourcePath":179},"Configuración de la comunidad","/admin/service-config/community-space","10.admin/20.service-config/22.community-space","/admin/service-config/community-space/",{"title":183,"path":184,"stem":185,"tags":6,"slug":186,"sourcePath":184},"Configurar la política del chatbot de IA","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot","/admin/service-config/community-ai-chatbot/",{"title":188,"path":189,"stem":190,"tags":6,"slug":191,"sourcePath":189},"Configuración de correo","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings","/admin/service-config/email-settings/",{"title":193,"path":194,"stem":195,"tags":6,"slug":196,"sourcePath":194},"Configuración de marca","/admin/service-config/brand","10.admin/20.service-config/40.brand","/admin/service-config/brand/",{"title":198,"tags":6,"slug":6,"path":199,"stem":200,"children":201,"page":66,"sourcePath":199},"Servicios de conocimiento","/admin/knowledge","10.admin/30.knowledge",[202,207,214,219,224,229,234,239,244],{"title":203,"path":199,"stem":204,"tags":6,"slug":205,"sourcePath":206},"Introducción a los servicios de conocimiento","10.admin/30.knowledge/00.overview","/admin/knowledge/","/admin/knowledge/overview",{"title":208,"path":209,"stem":210,"children":211,"tags":6,"slug":213,"sourcePath":209},"Recopilación e indexación","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[212],{"title":208,"path":209,"stem":210,"tags":6,"slug":213,"sourcePath":209},"/admin/knowledge/indexing/",{"title":215,"path":216,"stem":217,"tags":6,"slug":218,"sourcePath":216},"Calidad e idioma de búsqueda","/admin/knowledge/search","10.admin/30.knowledge/20.search","/admin/knowledge/search/",{"title":220,"path":221,"stem":222,"tags":6,"slug":223,"sourcePath":221},"Almacenamiento de conocimiento","/admin/knowledge/storage","10.admin/30.knowledge/30.storage","/admin/knowledge/storage/",{"title":225,"path":226,"stem":227,"tags":6,"slug":228,"sourcePath":226},"Operar el almacenamiento de conocimiento","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations","/admin/knowledge/storage-operations/",{"title":230,"path":231,"stem":232,"tags":6,"slug":233,"sourcePath":231},"Conectar Qdrant","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant","/admin/knowledge/qdrant/",{"title":235,"path":236,"stem":237,"tags":6,"slug":238,"sourcePath":236},"Preparar un servidor Qdrant","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup","/admin/knowledge/qdrant-server-setup/",{"title":240,"path":241,"stem":242,"tags":6,"slug":243,"sourcePath":241},"Conectar Milvus","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus","/admin/knowledge/milvus/",{"title":245,"path":246,"stem":247,"tags":6,"slug":248,"sourcePath":246},"Búsqueda externa y fuentes","/admin/knowledge/web-search","10.admin/30.knowledge/40.web-search","/admin/knowledge/web-search/",{"title":250,"tags":6,"slug":6,"path":251,"stem":252,"children":253,"page":66,"sourcePath":251},"Servicios de IA","/admin/ai","10.admin/35.ai",[254,259,264,269],{"title":255,"path":251,"stem":256,"tags":6,"slug":257,"sourcePath":258},"Administrar los servicios de IA","10.admin/35.ai/00.overview","/admin/ai/","/admin/ai/overview",{"title":260,"path":261,"stem":262,"tags":6,"slug":263,"sourcePath":261},"Configurar modelos y entornos de ejecución","/admin/ai/models","10.admin/35.ai/10.models","/admin/ai/models/",{"title":265,"path":266,"stem":267,"tags":6,"slug":268,"sourcePath":266},"Configurar herramientas e integraciones","/admin/ai/integrations","10.admin/35.ai/20.integrations","/admin/ai/integrations/",{"title":270,"path":271,"stem":272,"tags":6,"slug":273,"sourcePath":271},"Administrar servidores MCP","/admin/ai/mcp","10.admin/35.ai/30.mcp","/admin/ai/mcp/",{"title":275,"tags":6,"slug":6,"path":276,"stem":277,"children":278,"page":66,"sourcePath":276},"Plugins","/admin/plugin","10.admin/40.plugin",[279,284],{"title":280,"path":281,"stem":282,"tags":6,"slug":283,"sourcePath":281},"Administrar plugins","/admin/plugin/overview","10.admin/40.plugin/00.overview","/admin/plugin/overview/",{"title":285,"path":286,"stem":287,"tags":6,"slug":288,"sourcePath":286},"Configurar plugins de extensión","/admin/plugin/settings","10.admin/40.plugin/10.settings","/admin/plugin/settings/",{"title":290,"path":291,"stem":292,"children":293,"page":66,"sourcePath":291},"Operations","/admin/operations","10.admin/45.operations",[294],{"title":295,"path":291,"stem":296,"tags":6,"slug":297,"sourcePath":298},"Consultar los registros de operaciones y auditoría","10.admin/45.operations/00.overview","/admin/operations/","/admin/operations/overview",{"title":300,"tags":6,"slug":6,"path":301,"stem":302,"children":303,"page":66,"sourcePath":301},"Seguridad","/admin/security","10.admin/50.security",[304,309,314,319,324,329,334],{"title":305,"path":306,"stem":307,"tags":6,"slug":308,"sourcePath":306},"Resumen de seguridad","/admin/security/overview","10.admin/50.security/00.overview","/admin/security/overview/",{"title":310,"path":311,"stem":312,"tags":6,"slug":313,"sourcePath":311},"Consultar el registro de actividad","/admin/security/audit-log","10.admin/50.security/05.audit-log","/admin/security/audit-log/",{"title":315,"path":316,"stem":317,"tags":6,"slug":318,"sourcePath":316},"Gestionar bloqueos","/admin/security/block-management","10.admin/50.security/10.block-management","/admin/security/block-management/",{"title":320,"path":321,"stem":322,"tags":6,"slug":323,"sourcePath":321},"Configurar la seguridad","/admin/security/security-setting","10.admin/50.security/12.security-setting","/admin/security/security-setting/",{"title":325,"path":326,"stem":327,"tags":6,"slug":328,"sourcePath":326},"Procesar dispositivos pendientes de aprobación","/admin/security/device-approvals","10.admin/50.security/14.device-approvals","/admin/security/device-approvals/",{"title":330,"path":331,"stem":332,"tags":6,"slug":333,"sourcePath":331},"Restringir el acceso por IP","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction","/admin/security/ip-restriction/",{"title":335,"path":336,"stem":337,"tags":6,"slug":338,"sourcePath":336},"Configurar la verificación en dos pasos para administradores","/admin/security/two-factor-auth","10.admin/50.security/18.two-factor-auth","/admin/security/two-factor-auth/",{"title":340,"tags":6,"slug":6,"path":341,"stem":342,"children":343,"page":66,"sourcePath":341},"Administración del sistema","/admin/system-admin","10.admin/60.system-admin",[344,349,354,359,364,369],{"title":345,"path":346,"stem":347,"tags":6,"slug":348,"sourcePath":346},"Consultar la información del dispositivo","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info","/admin/system-admin/device-info/",{"title":350,"path":351,"stem":352,"tags":6,"slug":353,"sourcePath":351},"Reiniciar y mantener el servidor","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart","/admin/system-admin/server-restart/",{"title":355,"path":356,"stem":357,"tags":6,"slug":358,"sourcePath":356},"Gestionar servicios en segundo plano","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service","/admin/system-admin/background-service/",{"title":360,"path":361,"stem":362,"tags":6,"slug":363,"sourcePath":361},"Actualizar SpaceBuilder","/admin/system-admin/update","10.admin/60.system-admin/16.update","/admin/system-admin/update/",{"title":365,"path":366,"stem":367,"tags":6,"slug":368,"sourcePath":366},"Desinstalar SpaceBuilder","/admin/system-admin/uninstall","10.admin/60.system-admin/18.uninstall","/admin/system-admin/uninstall/",{"title":370,"path":371,"stem":372,"tags":6,"slug":373,"sourcePath":371},"Migrar a otro servidor","/admin/system-admin/server-migration","10.admin/60.system-admin/20.server-migration","/admin/system-admin/server-migration/",{"title":375,"tags":6,"slug":6,"path":376,"stem":377,"children":378,"page":66,"sourcePath":376},"Uso de Workspace","/workspace","20.workspace",[379,419,439,523,662,718,754],{"title":380,"tags":6,"slug":6,"path":381,"stem":382,"children":383,"page":66,"sourcePath":381},"Menú","/workspace/menu","20.workspace/05.menu",[384,389,394,399,404,409,414],{"title":385,"path":386,"stem":387,"tags":6,"slug":388,"sourcePath":386},"Introducción al espacio de trabajo","/workspace/menu/overview","20.workspace/05.menu/00.overview","/workspace/menu/overview/",{"title":390,"path":391,"stem":392,"tags":6,"slug":393,"sourcePath":391},"Espacio de equipo","/workspace/menu/team-space","20.workspace/05.menu/05.team-space","/workspace/menu/team-space/",{"title":395,"path":396,"stem":397,"tags":6,"slug":398,"sourcePath":396},"Espacio de cliente","/workspace/menu/client-space","20.workspace/05.menu/06.client-space","/workspace/menu/client-space/",{"title":400,"path":401,"stem":402,"tags":6,"slug":403,"sourcePath":401},"Favoritos","/workspace/menu/favorites","20.workspace/05.menu/10.favorites","/workspace/menu/favorites/",{"title":405,"path":406,"stem":407,"tags":6,"slug":408,"sourcePath":406},"Documentos recientes","/workspace/menu/recent","20.workspace/05.menu/20.recent","/workspace/menu/recent/",{"title":410,"path":411,"stem":412,"tags":6,"slug":413,"sourcePath":411},"Uso compartido externo","/workspace/menu/external-share","20.workspace/05.menu/30.external-share","/workspace/menu/external-share/",{"title":415,"path":416,"stem":417,"tags":6,"slug":418,"sourcePath":416},"Papelera","/workspace/menu/trash","20.workspace/05.menu/40.trash","/workspace/menu/trash/",{"title":420,"tags":6,"slug":6,"path":421,"stem":422,"children":423,"page":66,"sourcePath":421},"Cuenta","/workspace/account","20.workspace/10.account",[424,429,434],{"title":425,"path":426,"stem":427,"tags":6,"slug":428,"sourcePath":426},"Registrarse e iniciar sesión","/workspace/account/signup","20.workspace/10.account/10.signup","/workspace/account/signup/",{"title":430,"path":431,"stem":432,"tags":6,"slug":433,"sourcePath":431},"Restablecer la contraseña","/workspace/account/reset-password","20.workspace/10.account/20.reset-password","/workspace/account/reset-password/",{"title":435,"path":436,"stem":437,"tags":6,"slug":438,"sourcePath":436},"Configuración de la cuenta","/workspace/account/account-settings","20.workspace/10.account/30.account-settings","/workspace/account/account-settings/",{"title":440,"tags":6,"slug":6,"path":441,"stem":442,"children":443,"page":66,"sourcePath":441},"Carpetas","/workspace/folder","20.workspace/20.folder",[444,449,454,459,464,471,476,481,486,491,496,501,506,511,518],{"title":445,"path":446,"stem":447,"tags":6,"slug":448,"sourcePath":446},"Funciones básicas de las carpetas","/workspace/folder/basic","20.workspace/20.folder/10.basic","/workspace/folder/basic/",{"title":450,"path":451,"stem":452,"tags":6,"slug":453,"sourcePath":451},"Crear varias carpetas a la vez","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation","/workspace/folder/bulk-folder-creation/",{"title":455,"path":456,"stem":457,"tags":6,"slug":458,"sourcePath":456},"Filtro","/workspace/folder/filter","20.workspace/20.folder/13.filter","/workspace/folder/filter/",{"title":460,"path":461,"stem":462,"tags":6,"slug":463,"sourcePath":461},"Configurar las opciones de vista de una carpeta","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options","/workspace/folder/folder-view-options/",{"title":465,"path":466,"stem":467,"tags":468,"slug":470,"sourcePath":466},"Usar una carpeta como tablón de anuncios","/workspace/folder/board-view","20.workspace/20.folder/15.board-view",[469],"hot","/workspace/folder/board-view/",{"title":472,"path":473,"stem":474,"tags":6,"slug":475,"sourcePath":473},"Vista web de una carpeta","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view","/workspace/folder/folder-web-view/",{"title":477,"path":478,"stem":479,"tags":6,"slug":480,"sourcePath":478},"Organizar carpetas","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize","/workspace/folder/folder-organize/",{"title":482,"path":483,"stem":484,"tags":6,"slug":485,"sourcePath":483},"Aviso de carpeta (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme","/workspace/folder/folder-readme/",{"title":487,"path":488,"stem":489,"tags":6,"slug":490,"sourcePath":488},"Exportar listas de carpetas y archivos","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export","/workspace/folder/folder-export/",{"title":492,"path":493,"stem":494,"tags":6,"slug":495,"sourcePath":493},"Configurar permisos de acceso por nivel","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions","/workspace/folder/level-access-permissions/",{"title":497,"path":498,"stem":499,"tags":6,"slug":500,"sourcePath":498},"Configurar permisos de acceso por equipo","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions","/workspace/folder/team-access-permissions/",{"title":502,"path":503,"stem":504,"tags":6,"slug":505,"sourcePath":503},"Configurar reglas de archivos","/workspace/folder/file-rules","20.workspace/20.folder/28.file-rules","/workspace/folder/file-rules/",{"title":507,"path":508,"stem":509,"tags":6,"slug":510,"sourcePath":508},"Webhooks de carpeta","/workspace/folder/webhook","20.workspace/20.folder/30.webhook","/workspace/folder/webhook/",{"title":512,"path":513,"stem":514,"children":515,"tags":6,"slug":517,"sourcePath":513},"Configurar el índice de conocimiento de una carpeta","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[516],{"title":512,"path":513,"stem":514,"tags":6,"slug":517,"sourcePath":513},"/workspace/folder/knowledge-index/",{"title":519,"path":520,"stem":521,"tags":6,"slug":522,"sourcePath":520},"Carpeta de automatización del trabajo","/workspace/folder/automation","20.workspace/20.folder/40.automation","/workspace/folder/automation/",{"title":524,"tags":6,"slug":6,"path":525,"stem":526,"children":527,"page":66,"sourcePath":525},"Archivos","/workspace/file","20.workspace/30.file",[528,533,538,543,548,553,558,563,568,573,578,583,588,593,598,603,608,613,618,623,628,633,637,642,647,652,657],{"title":529,"path":530,"stem":531,"tags":6,"slug":532,"sourcePath":530},"Funciones básicas de gestión de archivos","/workspace/file/overview","20.workspace/30.file/00.overview","/workspace/file/overview/",{"title":534,"path":535,"stem":536,"tags":6,"slug":537,"sourcePath":535},"Consultar la lista mientras ve un archivo","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file","/workspace/file/list-in-file/",{"title":539,"path":540,"stem":541,"tags":6,"slug":542,"sourcePath":540},"Ver y editar archivos Markdown y de texto","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer","/workspace/file/text-file-viewer/",{"title":544,"path":545,"stem":546,"tags":6,"slug":547,"sourcePath":545},"Ver archivos HTML","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer","/workspace/file/html-viewer/",{"title":549,"path":550,"stem":551,"tags":6,"slug":552,"sourcePath":550},"Ver y editar archivos CSV","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer","/workspace/file/csv-viewer/",{"title":554,"path":555,"stem":556,"tags":6,"slug":557,"sourcePath":555},"Ver archivos de imagen y vídeo","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer","/workspace/file/image-file-viewer/",{"title":559,"path":560,"stem":561,"tags":6,"slug":562,"sourcePath":560},"Ver archivos de Office y PDF","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer","/workspace/file/office-viewer/",{"title":564,"path":565,"stem":566,"tags":6,"slug":567,"sourcePath":565},"Pegar páginas web (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html","/workspace/file/paste-html/",{"title":569,"path":570,"stem":571,"tags":6,"slug":572,"sourcePath":570},"Pegar capturas de pantalla","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot","/workspace/file/paste-screenshot/",{"title":574,"path":575,"stem":576,"tags":6,"slug":577,"sourcePath":575},"Pegar Markdown (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md","/workspace/file/paste-md/",{"title":579,"path":580,"stem":581,"tags":6,"slug":582,"sourcePath":580},"Grabar la pantalla","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording","/workspace/file/screen-recording/",{"title":584,"path":585,"stem":586,"tags":6,"slug":587,"sourcePath":585},"Nota rápida","/workspace/file/quick-note","20.workspace/30.file/24.quick-note","/workspace/file/quick-note/",{"title":589,"path":590,"stem":591,"tags":6,"slug":592,"sourcePath":590},"Etiquetas de archivo","/workspace/file/file-tag","20.workspace/30.file/33.file-tag","/workspace/file/file-tag/",{"title":594,"path":595,"stem":596,"tags":6,"slug":597,"sourcePath":595},"Cambiar nombres de archivos en bloque","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise","/workspace/file/bulk-name-revise/",{"title":599,"path":600,"stem":601,"tags":6,"slug":602,"sourcePath":600},"Conversión de archivos","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview","/workspace/file/file-convert-overview/",{"title":604,"path":605,"stem":606,"tags":6,"slug":607,"sourcePath":605},"Archivos de plantilla","/workspace/file/templates","20.workspace/30.file/41.templates","/workspace/file/templates/",{"title":609,"path":610,"stem":611,"tags":6,"slug":612,"sourcePath":610},"Lista de tareas (Todo)","/workspace/file/template-todo","20.workspace/30.file/42.template-todo","/workspace/file/template-todo/",{"title":614,"path":615,"stem":616,"tags":6,"slug":617,"sourcePath":615},"Formulario de aprobación","/workspace/file/template-approval","20.workspace/30.file/43.template-approval","/workspace/file/template-approval/",{"title":619,"path":620,"stem":621,"tags":6,"slug":622,"sourcePath":620},"Tablero Kanban","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban","/workspace/file/template-kanban/",{"title":624,"path":625,"stem":626,"tags":6,"slug":627,"sourcePath":625},"Cronología","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline","/workspace/file/template-timeline/",{"title":629,"path":630,"stem":631,"tags":6,"slug":632,"sourcePath":630},"Bloc de notas","/workspace/file/template-memo","20.workspace/30.file/46.template-memo","/workspace/file/template-memo/",{"title":634,"path":635,"stem":636,"tags":6,"slug":635,"sourcePath":635},"Archivo de chat con AI","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":638,"path":639,"stem":640,"tags":6,"slug":641,"sourcePath":639},"Consultar el registro de cambios del archivo","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail","/workspace/file/audit-trail/",{"title":643,"path":644,"stem":645,"tags":6,"slug":646,"sourcePath":644},"Control de versiones de archivos","/workspace/file/version-trail","20.workspace/30.file/51.version-trail","/workspace/file/version-trail/",{"title":648,"path":649,"stem":650,"tags":6,"slug":651,"sourcePath":649},"Bloqueo de edición","/workspace/file/file-lock","20.workspace/30.file/52.file-lock","/workspace/file/file-lock/",{"title":653,"path":654,"stem":655,"tags":6,"slug":656,"sourcePath":654},"Cifrado de archivos","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt","/workspace/file/file-encrypt/",{"title":658,"path":659,"stem":660,"tags":6,"slug":661,"sourcePath":659},"Registrar archivos del disco","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration","/workspace/file/disk-file-registration/",{"title":663,"tags":6,"slug":6,"path":664,"stem":665,"children":666,"page":66,"sourcePath":664},"Colaboración","/workspace/cooperation","20.workspace/35.cooperation",[667,672,677,682,687,692,697,702,707,713],{"title":668,"path":669,"stem":670,"tags":6,"slug":671,"sourcePath":669},"Comentarios en archivos y carpetas","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments","/workspace/cooperation/file-comments/",{"title":673,"path":674,"stem":675,"tags":6,"slug":676,"sourcePath":674},"Chat","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat","/workspace/cooperation/chat/",{"title":678,"path":679,"stem":680,"tags":6,"slug":681,"sourcePath":679},"Chat colaborativo y bloqueo de edición","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat","/workspace/cooperation/collaboration-chat/",{"title":683,"path":684,"stem":685,"tags":6,"slug":686,"sourcePath":684},"Seguir la ubicación de un miembro del equipo","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location","/workspace/cooperation/follow-team-location/",{"title":688,"path":689,"stem":690,"tags":6,"slug":691,"sourcePath":689},"Menciones","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention","/workspace/cooperation/mention/",{"title":693,"path":694,"stem":695,"tags":6,"slug":696,"sourcePath":694},"Mensajes directos","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm","/workspace/cooperation/dm/",{"title":698,"path":699,"stem":700,"tags":6,"slug":701,"sourcePath":699},"Archivo de notificaciones","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox","/workspace/cooperation/notification-inbox/",{"title":703,"path":704,"stem":705,"tags":6,"slug":706,"sourcePath":704},"Consultar la actividad del equipo","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity","/workspace/cooperation/file-activity/",{"title":708,"path":709,"stem":710,"tags":711,"slug":712,"sourcePath":709},"Crear un enlace para compartir externamente","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",[469],"/workspace/cooperation/share-link-creation/",{"title":714,"path":715,"stem":716,"tags":6,"slug":717,"sourcePath":715},"Enviar un enlace compartido por correo","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email","/workspace/cooperation/share-link-email/",{"title":719,"tags":6,"slug":6,"path":720,"stem":721,"children":722,"page":66,"sourcePath":720},"Búsqueda","/workspace/search","20.workspace/40.search",[723,728,734,739,744,749],{"title":724,"path":725,"stem":726,"tags":6,"slug":727,"sourcePath":725},"Buscar archivos","/workspace/search/search","20.workspace/40.search/00.search","/workspace/search/search/",{"title":729,"path":730,"stem":731,"tags":732,"slug":733,"sourcePath":730},"Búsqueda contextual (búsqueda con AI)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[469],"/workspace/search/context-search/",{"title":735,"path":736,"stem":737,"tags":6,"slug":738,"sourcePath":736},"Buscar imágenes","/workspace/search/image-search","20.workspace/40.search/20.image-search","/workspace/search/image-search/",{"title":740,"path":741,"stem":742,"tags":6,"slug":743,"sourcePath":741},"Buscar en el chat","/workspace/search/chat-search","20.workspace/40.search/30.chat-search","/workspace/search/chat-search/",{"title":745,"path":746,"stem":747,"tags":6,"slug":748,"sourcePath":746},"Buscar comentarios","/workspace/search/comment-search","20.workspace/40.search/40.comment-search","/workspace/search/comment-search/",{"title":750,"path":751,"stem":752,"tags":6,"slug":753,"sourcePath":751},"Buscar sinónimos","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search","/workspace/search/synonym-search/",{"title":755,"tags":6,"slug":6,"path":756,"stem":757,"children":758,"page":66,"sourcePath":756},"IA","/workspace/ai","20.workspace/50.ai",[759,764,770],{"title":760,"path":761,"stem":762,"tags":6,"slug":763,"sourcePath":761},"Resumen de funciones de AI","/workspace/ai/overview","20.workspace/50.ai/00.overview","/workspace/ai/overview/",{"title":765,"path":766,"stem":767,"tags":768,"slug":769,"sourcePath":766},"Solicitar tareas a la AI local","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[469],"/workspace/ai/ai-work/",{"title":771,"path":772,"stem":773,"tags":6,"slug":774,"sourcePath":772},"Usar una AI externa","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai","/workspace/ai/external-ai/",{"title":776,"tags":6,"slug":6,"path":777,"stem":778,"children":779,"page":66,"sourcePath":777},"Webspace","/webspace","40.webspace",[780,785,790,795,800,805,811,816,821,826,831,866],{"title":781,"path":782,"stem":783,"tags":6,"slug":784,"sourcePath":782},"¿Qué es Webspace?","/webspace/overview","40.webspace/00.overview","/webspace/overview/",{"title":786,"path":787,"stem":788,"tags":6,"slug":789,"sourcePath":787},"Desplegar un sitio web","/webspace/website-release","40.webspace/10.website-release","/webspace/website-release/",{"title":791,"path":792,"stem":793,"tags":6,"slug":794,"sourcePath":792},"Crear un archivo de esquema (.sfn)","/webspace/create-database","40.webspace/20.create-database","/webspace/create-database/",{"title":796,"path":797,"stem":798,"tags":6,"slug":799,"sourcePath":797},"Crear API y desplegar una base de datos","/webspace/api-overview","40.webspace/24.api-overview","/webspace/api-overview/",{"title":801,"path":802,"stem":803,"tags":6,"slug":804,"sourcePath":802},"Consultar el ejemplo de frontend","/webspace/frontend-example","40.webspace/26.frontend-example","/webspace/frontend-example/",{"title":806,"path":807,"stem":808,"tags":809,"slug":810,"sourcePath":807},"Crear un servicio web interno para el equipo","/webspace/internal-webservice","40.webspace/32.internal-webservice",[469],"/webspace/internal-webservice/",{"title":812,"path":813,"stem":814,"tags":6,"slug":815,"sourcePath":813},"Crear un servicio web de acceso público","/webspace/external-webservice","40.webspace/34.external-webservice","/webspace/external-webservice/",{"title":817,"path":818,"stem":819,"tags":6,"slug":820,"sourcePath":818},"Importar y exportar SQL","/webspace/sql-converter","40.webspace/42.sql-converter","/webspace/sql-converter/",{"title":822,"path":823,"stem":824,"tags":6,"slug":825,"sourcePath":823},"Convertir un esquema en código","/webspace/code-converter","40.webspace/44.code-converter","/webspace/code-converter/",{"title":827,"path":828,"stem":829,"tags":6,"slug":830,"sourcePath":828},"Rendimiento y escalado","/webspace/performance","40.webspace/48.performance","/webspace/performance/",{"title":832,"tags":6,"slug":6,"path":833,"stem":834,"children":835,"page":66,"sourcePath":833},"Administración de Webspace","/webspace/admin","40.webspace/50.admin",[836,841,846,851,856,861],{"title":837,"path":838,"stem":839,"tags":6,"slug":840,"sourcePath":838},"Empezar a administrar Webspace","/webspace/admin/overview","40.webspace/50.admin/00.overview","/webspace/admin/overview/",{"title":842,"path":843,"stem":844,"tags":6,"slug":845,"sourcePath":843},"Operaciones","/webspace/admin/operations","40.webspace/50.admin/10.operations","/webspace/admin/operations/",{"title":847,"path":848,"stem":849,"tags":6,"slug":850,"sourcePath":848},"Acceso al espacio de trabajo","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access","/webspace/admin/workspace-access/",{"title":852,"path":853,"stem":854,"tags":6,"slug":855,"sourcePath":853},"Seguridad de API y sitios","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security","/webspace/admin/api-site-security/",{"title":857,"path":858,"stem":859,"tags":6,"slug":860,"sourcePath":858},"Servicios y capacidad","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity","/webspace/admin/service-capacity/",{"title":862,"path":863,"stem":864,"tags":6,"slug":865,"sourcePath":863},"Gestión de despliegues y versiones de frontend","/webspace/admin/deployments","40.webspace/50.admin/50.deployments","/webspace/admin/deployments/",{"title":867,"tags":868,"slug":6,"path":869,"stem":870,"children":871,"page":66,"sourcePath":869},"Ejemplos de Webspace",[469],"/webspace/examples","40.webspace/60.examples",[872,876,881,887,892,897],{"title":867,"path":869,"stem":873,"tags":6,"slug":874,"sourcePath":875},"40.webspace/60.examples/00.overview","/webspace/examples/","/webspace/examples/overview",{"title":877,"path":878,"stem":879,"tags":6,"slug":880,"sourcePath":878},"Crear su propio sistema empresarial","/webspace/examples/my-own-system","40.webspace/60.examples/10.my-own-system","/webspace/examples/my-own-system/",{"title":882,"path":883,"stem":884,"tags":885,"slug":886,"sourcePath":883},"Crear un juego de Gomoku en tiempo real","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",[469],"/webspace/examples/realtime-gomoku/",{"title":888,"path":889,"stem":890,"tags":6,"slug":891,"sourcePath":889},"Crear un tablón de recursos con archivos de una carpeta","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board","/webspace/examples/folder-board/",{"title":893,"path":894,"stem":895,"tags":6,"slug":896,"sourcePath":894},"Crear una incursión cooperativa contra un monstruo","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid","/webspace/examples/monster-raid/",{"title":898,"path":899,"stem":900,"tags":6,"slug":901,"sourcePath":899},"Desplegar un ejemplo de chat de asistencia con AI","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat","/webspace/examples/ai-support-chat/",{"title":903,"tags":6,"slug":6,"path":904,"stem":905,"children":906,"page":66,"sourcePath":904},"Uso de plugins","/plugin","50.plugin",[907,912,932,993,1014,1049],{"title":908,"path":909,"stem":910,"tags":6,"slug":911,"sourcePath":909},"Introducción a los plugins","/plugin/overview","50.plugin/00.overview","/plugin/overview/",{"title":913,"tags":6,"slug":6,"path":914,"stem":915,"children":916,"page":66,"sourcePath":914},"Calendario","/plugin/calendar","50.plugin/10.calendar",[917,922,927],{"title":918,"path":919,"stem":920,"tags":6,"slug":921,"sourcePath":919},"Introducción a Calendar","/plugin/calendar/overview","50.plugin/10.calendar/00.overview","/plugin/calendar/overview/",{"title":923,"path":924,"stem":925,"tags":6,"slug":926,"sourcePath":924},"Crear, editar y eliminar eventos","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event","/plugin/calendar/create-event/",{"title":928,"path":929,"stem":930,"tags":6,"slug":931,"sourcePath":929},"Consultar el historial de actividad","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity","/plugin/calendar/file-activity/",{"title":933,"tags":6,"slug":6,"path":934,"stem":935,"children":936,"page":66,"sourcePath":934},"Correo electrónico","/plugin/email","50.plugin/20.email",[937,942,947,952,957,963,968,973,978,983,988],{"title":938,"path":939,"stem":940,"tags":6,"slug":941,"sourcePath":939},"Introducción a Email","/plugin/email/overview","50.plugin/20.email/00.overview","/plugin/email/overview/",{"title":943,"path":944,"stem":945,"tags":6,"slug":946,"sourcePath":944},"Configurar Email","/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting","/plugin/email/setfn-email-setting/",{"title":948,"path":949,"stem":950,"tags":6,"slug":951,"sourcePath":949},"Conectar una cuenta de correo externa","/plugin/email/external-email","50.plugin/20.email/07.external-email","/plugin/email/external-email/",{"title":953,"path":954,"stem":955,"tags":6,"slug":956,"sourcePath":954},"Funciones básicas de Email","/plugin/email/email-basic","50.plugin/20.email/10.email-basic","/plugin/email/email-basic/",{"title":958,"path":959,"stem":960,"tags":6,"slug":961,"sourcePath":962},"Usar Email AI Assistant","/plugin/email/ai-assistant","50.plugin/20.email/15.email-ai-assistant","/plugin/email/ai-assistant/","/plugin/email/email-ai-assistant",{"title":964,"path":965,"stem":966,"tags":6,"slug":967,"sourcePath":965},"Redactar y enviar mensajes","/plugin/email/email-compose","50.plugin/20.email/20.email-compose","/plugin/email/email-compose/",{"title":969,"path":970,"stem":971,"tags":6,"slug":972,"sourcePath":970},"Adjuntar archivos","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment","/plugin/email/email-attachment/",{"title":974,"path":975,"stem":976,"tags":6,"slug":977,"sourcePath":975},"Gestionar carpetas de correo","/plugin/email/email-folders","50.plugin/20.email/40.email-folders","/plugin/email/email-folders/",{"title":979,"path":980,"stem":981,"tags":6,"slug":982,"sourcePath":980},"Clasificar mensajes automáticamente","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify","/plugin/email/email-auto-classify/",{"title":984,"path":985,"stem":986,"tags":6,"slug":987,"sourcePath":985},"Archivar y compartir mensajes en File Space","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space","/plugin/email/email-open-in-space/",{"title":989,"path":990,"stem":991,"tags":6,"slug":992,"sourcePath":990},"Seguridad de Email","/plugin/email/email-security","50.plugin/20.email/70.email-security","/plugin/email/email-security/",{"title":994,"tags":6,"slug":6,"path":995,"stem":996,"children":997,"page":66,"sourcePath":995},"Flujos de trabajo (automatización)","/plugin/workflow","50.plugin/30.workflow",[998,1003,1009],{"title":999,"path":1000,"stem":1001,"tags":6,"slug":1002,"sourcePath":1000},"Introducción a Workflow","/plugin/workflow/overview","50.plugin/30.workflow/00.overview","/plugin/workflow/overview/",{"title":1004,"path":1005,"stem":1006,"tags":1007,"slug":1008,"sourcePath":1005},"Crear un workflow","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[469],"/plugin/workflow/new-workflow/",{"title":1010,"path":1011,"stem":1012,"tags":6,"slug":1013,"sourcePath":1011},"Consultar el historial de ejecución","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history","/plugin/workflow/execution-history/",{"title":1015,"tags":6,"slug":6,"path":1016,"stem":1017,"children":1018,"page":66,"sourcePath":1016},"Fine-Tuning (entrenamiento de IA)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[1019,1024,1029,1034,1039,1044],{"title":1020,"path":1021,"stem":1022,"tags":6,"slug":1023,"sourcePath":1021},"Introducción a Fine-tuning","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview","/plugin/fine-tuning/overview/",{"title":1025,"path":1026,"stem":1027,"tags":6,"slug":1028,"sourcePath":1026},"Preprocesar datos de entrenamiento","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing","/plugin/fine-tuning/pre-processing/",{"title":1030,"path":1031,"stem":1032,"tags":6,"slug":1033,"sourcePath":1031},"Entrenar","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training","/plugin/fine-tuning/training/",{"title":1035,"path":1036,"stem":1037,"tags":6,"slug":1038,"sourcePath":1036},"Evaluar","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation","/plugin/fine-tuning/evaluation/",{"title":1040,"path":1041,"stem":1042,"tags":6,"slug":1043,"sourcePath":1041},"Probar el chat","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test","/plugin/fine-tuning/chat-test/",{"title":1045,"path":1046,"stem":1047,"tags":6,"slug":1048,"sourcePath":1046},"Exportar","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export","/plugin/fine-tuning/export/",{"title":1050,"tags":6,"slug":6,"path":1051,"stem":1052,"children":1053,"page":66,"sourcePath":1051},"EDC (recopilación de datos)","/plugin/edc","50.plugin/50.edc",[1054,1059,1064,1069],{"title":1055,"path":1056,"stem":1057,"tags":6,"slug":1058,"sourcePath":1056},"Introducción a EDC","/plugin/edc/overview","50.plugin/50.edc/00.overview","/plugin/edc/overview/",{"title":1060,"path":1061,"stem":1062,"tags":6,"slug":1063,"sourcePath":1061},"Introducir datos y consultar Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry","/plugin/edc/data-entry/",{"title":1065,"path":1066,"stem":1067,"tags":6,"slug":1068,"sourcePath":1066},"Builder","/plugin/edc/builder","50.plugin/50.edc/20.builder","/plugin/edc/builder/",{"title":1070,"path":1071,"stem":1072,"tags":6,"slug":1073,"sourcePath":1071},"Configurar usuarios y centros","/plugin/edc/account","50.plugin/50.edc/30.account","/plugin/edc/account/",{"title":1075,"tags":6,"slug":6,"path":1076,"stem":1077,"children":1078,"page":66,"sourcePath":1076},"Herramienta de línea de comandos","/cli","90.cli",[1079],{"title":1080,"path":1081,"stem":1082,"tags":6,"slug":1083,"sourcePath":1081},"Administrar el servidor mediante comandos","/cli/commands","90.cli/10.commands","/cli/commands/",{"title":1085,"tags":6,"slug":6,"path":1086,"stem":1087,"children":1088,"page":66,"sourcePath":1086},"Actualizaciones de seguridad","/security-updates","95.security-updates",[1089,1094,1099,1104],{"title":1090,"path":1091,"stem":1092,"tags":6,"slug":1093,"sourcePath":1091},"Conocer las revisiones de seguridad y el método de actualización","/security-updates/overview","95.security-updates/00.overview","/security-updates/overview/",{"title":1095,"path":1096,"stem":1097,"tags":6,"slug":1098,"sourcePath":1096},"Registro de revisiones de seguridad","/security-updates/review-log","95.security-updates/10.review-log","/security-updates/review-log/",{"title":1100,"path":1101,"stem":1102,"tags":6,"slug":1103,"sourcePath":1101},"Estado de revisión de las principales vulnerabilidades","/security-updates/vulnerability-status","95.security-updates/20.vulnerability-status","/security-updates/vulnerability-status/",{"title":1105,"path":1106,"stem":1107,"tags":6,"slug":1108,"sourcePath":1106},"Comprobar las actualizaciones de seguridad del servidor","/security-updates/server-checklist","95.security-updates/30.server-checklist","/security-updates/server-checklist/",{"title":1110,"tags":6,"slug":6,"path":1111,"stem":1112,"children":1113,"page":66,"sourcePath":1111},"Preguntas frecuentes","/faq","99.FAQ",[1114,1120,1126,1132,1138,1144,1150],{"title":1115,"path":1116,"stem":1117,"tags":6,"slug":1118,"sourcePath":1119},"Comparación entre SetFN y los servicios en la nube","/FAQ/comparison-cloud","99.FAQ/10.comparison-cloud","/FAQ/comparison-cloud/","/faq/comparison-cloud",{"title":1121,"path":1122,"stem":1123,"tags":6,"slug":1124,"sourcePath":1125},"Comparación entre SetFN y NAS","/FAQ/comparison-nas","99.FAQ/20.comparison-nas","/FAQ/comparison-nas/","/faq/comparison-nas",{"title":1127,"path":1128,"stem":1129,"tags":6,"slug":1130,"sourcePath":1131},"Política de seguridad","/FAQ/security-policy","99.FAQ/30.security-policy","/FAQ/security-policy/","/faq/security-policy",{"title":1133,"path":1134,"stem":1135,"tags":6,"slug":1136,"sourcePath":1137},"Por qué SetFN es rápido","/FAQ/why-fast","99.FAQ/40.why-fast","/FAQ/why-fast/","/faq/why-fast",{"title":1139,"path":1140,"stem":1141,"tags":6,"slug":1142,"sourcePath":1143},"Preguntas sobre licencias","/FAQ/license-faq","99.FAQ/50.license-faq","/FAQ/license-faq/","/faq/license-faq",{"title":1145,"path":1146,"stem":1147,"tags":6,"slug":1148,"sourcePath":1149},"Preguntas sobre funciones de AI","/FAQ/ai-faq","99.FAQ/60.ai-faq","/FAQ/ai-faq/","/faq/ai-faq",{"title":1151,"path":1152,"stem":1153,"tags":6,"slug":1154,"sourcePath":1155},"Solución de problemas","/FAQ/troubleshooting","99.FAQ/70.troubleshooting","/FAQ/troubleshooting/","/faq/troubleshooting",{"id":1157,"title":893,"body":1158,"cover":6,"description":1912,"extension":1913,"image":6,"meta":1914,"navigation":1915,"path":894,"reviewSummary":6,"reviewedAt":6,"seo":1916,"slug":896,"stem":895,"tags":6,"thumbnail":6,"thumbnailPosition":6,"thumbnailScale":6,"__hash__":1925},"docs_es/40.webspace/60.examples/40.monster-raid.md",{"type":1159,"value":1160,"toc":1901},"minimal",[1161,1165,1174,1179,1200,1204,1219,1247,1258,1262,1265,1315,1321,1325,1331,1447,1461,1465,1472,1566,1572,1576,1582,1692,1702,1717,1724,1802,1807,1811,1843,1853,1857,1874,1878,1897],[1162,1163,893],"h1",{"id":1164},"crear-una-incursión-cooperativa-contra-un-monstruo",[1166,1167,1168,1169,1173],"p",{},"Este ejemplo crea una incursión en tiempo real en la que varios miembros atacan al mismo monstruo y comparten los resultados hasta que su salud llega a cero. El procesador común ",[1170,1171,1172],"code",{},"shared-resource"," de Webspace gestiona en el servidor los ataques, los cambios de salud y las recompensas por acción.",[1175,1176,1178],"h2",{"id":1177},"antes-de-empezar","Antes de empezar",[1180,1181,1182,1186,1197],"ul",{},[1183,1184,1185],"li",{},"Necesita permiso para desplegar esquemas y API.",[1183,1187,1188,1189,1192,1193,1196],{},"Los miembros participantes deben disponer de los permisos en tiempo real ",[1170,1190,1191],{},"Send"," y ",[1170,1194,1195],{},"Receive",".",[1183,1198,1199],{},"Limite a los administradores el uso de la API que crea el objetivo de la incursión.",[1175,1201,1203],{"id":1202},"empezar-con-el-esquema-completo","Empezar con el esquema completo",[1166,1205,1206,1215,1216,1218],{},[1207,1208,1210,1211,1214],"a",{"href":1209},"/examples/webspace/monster-raid/shared-resource-game.sfn","Descargue el esquema del juego con recursos compartidos (",[1170,1212,1213],{},".sfn",")",". Incluye las columnas y los permisos de las tres tablas utilizadas en este documento, además de la configuración del procesador ",[1170,1217,1172],{},". Todas las versiones de esta guía utilizan el mismo archivo, con las descripciones de tablas y columnas en inglés.",[1220,1221,1222,1225,1244],"ol",{},[1183,1223,1224],{},"Descargue el archivo, súbalo a una carpeta personal o de equipo y ábralo en el editor de esquemas.",[1183,1226,1227,1228,1231,1232,1235,1236,1239,1240,1243],{},"En la configuración de despliegue de ",[1170,1229,1230],{},"API Build",", revise ",[1170,1233,1234],{},"Database identifier",". Cambie el valor predeterminado ",[1170,1237,1238],{},"resource_game"," por un identificador nuevo, como ",[1170,1241,1242],{},"monster_raid_team_a",", para evitar conflictos con una base de datos existente.",[1183,1245,1246],{},"Revise los permisos y la configuración del procesador y despliegue el esquema.",[1166,1248,1249,1250,1253,1254,1257],{},"Este archivo es un ejemplo de estructura de backend para un recurso compartido. Como ",[1170,1251,1252],{},"includeClient"," es ",[1170,1255,1256],{},"false",", no genera automáticamente la interfaz del juego ni incluye los datos iniciales del monstruo. Cree por separado una interfaz que use las siguientes API y eventos WebSocket y cree también el objetivo de la incursión.",[1175,1259,1261],{"id":1260},"separar-los-datos-en-tres-tablas","Separar los datos en tres tablas",[1166,1263,1264],{},"La estructura de recursos compartidos separa tres tipos de datos.",[1266,1267,1268,1281],"table",{},[1269,1270,1271],"thead",{},[1272,1273,1274,1278],"tr",{},[1275,1276,1277],"th",{},"Tabla",[1275,1279,1280],{},"Datos almacenados",[1282,1283,1284,1295,1305],"tbody",{},[1272,1285,1286,1292],{},[1287,1288,1289],"td",{},[1170,1290,1291],{},"game_resources",[1287,1293,1294],{},"Código del monstruo, estado, salud actual y máxima, versión y objeto de recompensa",[1272,1296,1297,1302],{},[1287,1298,1299],{},[1170,1300,1301],{},"game_actions",[1287,1303,1304],{},"ID de la acción, miembro que ataca, daño aplicado, salud resultante y cantidad de recompensa",[1272,1306,1307,1312],{},[1287,1308,1309],{},[1170,1310,1311],{},"game_inventory",[1287,1313,1314],{},"Objetos y cantidades acumuladas de cada miembro",[1166,1316,1317,1318,1320],{},"El ID de acción de ",[1170,1319,1301],{}," permite identificar los reintentos. Aunque envíe de nuevo el mismo ID de acción, los cambios de salud y las recompensas no se aplicarán dos veces.",[1175,1322,1324],{"id":1323},"configurar-el-procesador-en-tiempo-real","Configurar el procesador en tiempo real",[1166,1326,1327,1328,1330],{},"Active la función en tiempo real y seleccione ",[1170,1329,1172],{}," como procesador de eventos. Si usa los nombres de tabla predeterminados, la configuración del procesador tendrá esta estructura:",[1332,1333,1338],"pre",{"className":1334,"code":1335,"language":1336,"meta":1337,"style":1337},"language-json shiki shiki-themes github-light github-dark monokai","{\n  \"resourcesTable\": \"game_resources\",\n  \"actionsTable\": \"game_actions\",\n  \"inventoryTable\": \"game_inventory\",\n  \"actionPower\": 1,\n  \"rewardPerAction\": 1,\n  \"maxClientAmount\": 1,\n  \"broadcast\": \"namespace\"\n}\n","json","",[1170,1339,1340,1349,1366,1379,1392,1406,1418,1430,1441],{"__ignoreMap":1337},[1341,1342,1345],"span",{"class":1343,"line":1344},"line",1,[1341,1346,1348],{"class":1347},"sMOD_","{\n",[1341,1350,1352,1356,1359,1363],{"class":1343,"line":1351},2,[1341,1353,1355],{"class":1354},"s-m8C","  \"resourcesTable\"",[1341,1357,1358],{"class":1347},": ",[1341,1360,1362],{"class":1361},"sCZoN","\"game_resources\"",[1341,1364,1365],{"class":1347},",\n",[1341,1367,1369,1372,1374,1377],{"class":1343,"line":1368},3,[1341,1370,1371],{"class":1354},"  \"actionsTable\"",[1341,1373,1358],{"class":1347},[1341,1375,1376],{"class":1361},"\"game_actions\"",[1341,1378,1365],{"class":1347},[1341,1380,1382,1385,1387,1390],{"class":1343,"line":1381},4,[1341,1383,1384],{"class":1354},"  \"inventoryTable\"",[1341,1386,1358],{"class":1347},[1341,1388,1389],{"class":1361},"\"game_inventory\"",[1341,1391,1365],{"class":1347},[1341,1393,1395,1398,1400,1404],{"class":1343,"line":1394},5,[1341,1396,1397],{"class":1354},"  \"actionPower\"",[1341,1399,1358],{"class":1347},[1341,1401,1403],{"class":1402},"s7F3e","1",[1341,1405,1365],{"class":1347},[1341,1407,1409,1412,1414,1416],{"class":1343,"line":1408},6,[1341,1410,1411],{"class":1354},"  \"rewardPerAction\"",[1341,1413,1358],{"class":1347},[1341,1415,1403],{"class":1402},[1341,1417,1365],{"class":1347},[1341,1419,1421,1424,1426,1428],{"class":1343,"line":1420},7,[1341,1422,1423],{"class":1354},"  \"maxClientAmount\"",[1341,1425,1358],{"class":1347},[1341,1427,1403],{"class":1402},[1341,1429,1365],{"class":1347},[1341,1431,1433,1436,1438],{"class":1343,"line":1432},8,[1341,1434,1435],{"class":1354},"  \"broadcast\"",[1341,1437,1358],{"class":1347},[1341,1439,1440],{"class":1361},"\"namespace\"\n",[1341,1442,1444],{"class":1343,"line":1443},9,[1341,1445,1446],{"class":1347},"}\n",[1166,1448,1449,1450,1253,1453,1456,1457,1460],{},"Cuando ",[1170,1451,1452],{},"broadcast",[1170,1454,1455],{},"namespace",", todos los clientes conectados al mismo espacio de nombres en tiempo real de Webspace reciben el evento de resultado. Configúrelo como ",[1170,1458,1459],{},"actor"," para enviar el resultado solo al miembro que realizó la acción.",[1175,1462,1464],{"id":1463},"crear-el-objetivo-de-la-incursión","Crear el objetivo de la incursión",[1166,1466,1467,1468,1471],{},"Llame a ",[1170,1469,1470],{},"game_resources/create"," con permisos de administrador para crear el monstruo.",[1332,1473,1475],{"className":1334,"code":1474,"language":1336,"meta":1337,"style":1337},"{\n  \"code\": \"RAID-1\",\n  \"kind\": \"monster\",\n  \"status\": \"active\",\n  \"current_value\": 10000,\n  \"max_value\": 10000,\n  \"version\": 0,\n  \"reward_item_code\": \"monster-core\"\n}\n",[1170,1476,1477,1481,1493,1505,1517,1529,1540,1552,1562],{"__ignoreMap":1337},[1341,1478,1479],{"class":1343,"line":1344},[1341,1480,1348],{"class":1347},[1341,1482,1483,1486,1488,1491],{"class":1343,"line":1351},[1341,1484,1485],{"class":1354},"  \"code\"",[1341,1487,1358],{"class":1347},[1341,1489,1490],{"class":1361},"\"RAID-1\"",[1341,1492,1365],{"class":1347},[1341,1494,1495,1498,1500,1503],{"class":1343,"line":1368},[1341,1496,1497],{"class":1354},"  \"kind\"",[1341,1499,1358],{"class":1347},[1341,1501,1502],{"class":1361},"\"monster\"",[1341,1504,1365],{"class":1347},[1341,1506,1507,1510,1512,1515],{"class":1343,"line":1381},[1341,1508,1509],{"class":1354},"  \"status\"",[1341,1511,1358],{"class":1347},[1341,1513,1514],{"class":1361},"\"active\"",[1341,1516,1365],{"class":1347},[1341,1518,1519,1522,1524,1527],{"class":1343,"line":1394},[1341,1520,1521],{"class":1354},"  \"current_value\"",[1341,1523,1358],{"class":1347},[1341,1525,1526],{"class":1402},"10000",[1341,1528,1365],{"class":1347},[1341,1530,1531,1534,1536,1538],{"class":1343,"line":1408},[1341,1532,1533],{"class":1354},"  \"max_value\"",[1341,1535,1358],{"class":1347},[1341,1537,1526],{"class":1402},[1341,1539,1365],{"class":1347},[1341,1541,1542,1545,1547,1550],{"class":1343,"line":1420},[1341,1543,1544],{"class":1354},"  \"version\"",[1341,1546,1358],{"class":1347},[1341,1548,1549],{"class":1402},"0",[1341,1551,1365],{"class":1347},[1341,1553,1554,1557,1559],{"class":1343,"line":1432},[1341,1555,1556],{"class":1354},"  \"reward_item_code\"",[1341,1558,1358],{"class":1347},[1341,1560,1561],{"class":1361},"\"monster-core\"\n",[1341,1563,1564],{"class":1343,"line":1443},[1341,1565,1446],{"class":1347},[1166,1567,1568,1569,1571],{},"Al abrir la pantalla, consulte en la API de ",[1170,1570,1291],{}," la salud y la versión actuales. Vuelva a consultarlas después de establecer o recuperar una conexión para sincronizar la interfaz con el estado actual del servidor.",[1175,1573,1575],{"id":1574},"enviar-un-ataque-mediante-websocket","Enviar un ataque mediante WebSocket",[1166,1577,1578,1579,1196],{},"Después de que un miembro que haya iniciado sesión se suscriba a la conexión en tiempo real, envíe un evento ",[1170,1580,1581],{},"resource-game.act",[1332,1583,1585],{"className":1334,"code":1584,"language":1336,"meta":1337,"style":1337},"{\n  \"type\": \"webspace:send\",\n  \"data\": {\n    \"dbName\": \"monster_raid_team_a\",\n    \"event\": \"resource-game.act\",\n    \"payload\": {\n      \"actionId\": \"attack-00000001\",\n      \"resourceCode\": \"RAID-1\",\n      \"amount\": 1\n    }\n  }\n}\n",[1170,1586,1587,1591,1603,1611,1623,1635,1642,1654,1665,1675,1681,1687],{"__ignoreMap":1337},[1341,1588,1589],{"class":1343,"line":1344},[1341,1590,1348],{"class":1347},[1341,1592,1593,1596,1598,1601],{"class":1343,"line":1351},[1341,1594,1595],{"class":1354},"  \"type\"",[1341,1597,1358],{"class":1347},[1341,1599,1600],{"class":1361},"\"webspace:send\"",[1341,1602,1365],{"class":1347},[1341,1604,1605,1608],{"class":1343,"line":1368},[1341,1606,1607],{"class":1354},"  \"data\"",[1341,1609,1610],{"class":1347},": {\n",[1341,1612,1613,1616,1618,1621],{"class":1343,"line":1381},[1341,1614,1615],{"class":1354},"    \"dbName\"",[1341,1617,1358],{"class":1347},[1341,1619,1620],{"class":1361},"\"monster_raid_team_a\"",[1341,1622,1365],{"class":1347},[1341,1624,1625,1628,1630,1633],{"class":1343,"line":1394},[1341,1626,1627],{"class":1354},"    \"event\"",[1341,1629,1358],{"class":1347},[1341,1631,1632],{"class":1361},"\"resource-game.act\"",[1341,1634,1365],{"class":1347},[1341,1636,1637,1640],{"class":1343,"line":1408},[1341,1638,1639],{"class":1354},"    \"payload\"",[1341,1641,1610],{"class":1347},[1341,1643,1644,1647,1649,1652],{"class":1343,"line":1420},[1341,1645,1646],{"class":1354},"      \"actionId\"",[1341,1648,1358],{"class":1347},[1341,1650,1651],{"class":1361},"\"attack-00000001\"",[1341,1653,1365],{"class":1347},[1341,1655,1656,1659,1661,1663],{"class":1343,"line":1432},[1341,1657,1658],{"class":1354},"      \"resourceCode\"",[1341,1660,1358],{"class":1347},[1341,1662,1490],{"class":1361},[1341,1664,1365],{"class":1347},[1341,1666,1667,1670,1672],{"class":1343,"line":1443},[1341,1668,1669],{"class":1354},"      \"amount\"",[1341,1671,1358],{"class":1347},[1341,1673,1674],{"class":1402},"1\n",[1341,1676,1678],{"class":1343,"line":1677},10,[1341,1679,1680],{"class":1347},"    }\n",[1341,1682,1684],{"class":1343,"line":1683},11,[1341,1685,1686],{"class":1347},"  }\n",[1341,1688,1690],{"class":1343,"line":1689},12,[1341,1691,1446],{"class":1347},[1166,1693,1694,1695,1698,1699,1701],{},"En ",[1170,1696,1697],{},"dbName",", use el valor de ",[1170,1700,1234],{}," elegido durante el despliegue.",[1166,1703,1704,1705,1708,1709,1712,1713,1716],{},"Cree un ",[1170,1706,1707],{},"actionId"," de entre 8 y 80 letras ASCII, números, guiones bajos o guiones. Si omite ",[1170,1710,1711],{},"amount",", su valor será 1; si lo incluye, use un número entero dentro del límite ",[1170,1714,1715],{},"maxClientAmount"," del procesador.",[1166,1718,1719,1720,1723],{},"El servidor envía ",[1170,1721,1722],{},"resource-game.action-applied"," después de procesar la acción.",[1332,1725,1727],{"className":1334,"code":1726,"language":1336,"meta":1337,"style":1337},"{\n  \"actionId\": \"attack-00000001\",\n  \"resourceId\": 1,\n  \"currentValue\": 9999,\n  \"version\": 1,\n  \"rewardQuantity\": 1,\n  \"duplicate\": false\n}\n",[1170,1728,1729,1733,1744,1755,1767,1777,1788,1798],{"__ignoreMap":1337},[1341,1730,1731],{"class":1343,"line":1344},[1341,1732,1348],{"class":1347},[1341,1734,1735,1738,1740,1742],{"class":1343,"line":1351},[1341,1736,1737],{"class":1354},"  \"actionId\"",[1341,1739,1358],{"class":1347},[1341,1741,1651],{"class":1361},[1341,1743,1365],{"class":1347},[1341,1745,1746,1749,1751,1753],{"class":1343,"line":1368},[1341,1747,1748],{"class":1354},"  \"resourceId\"",[1341,1750,1358],{"class":1347},[1341,1752,1403],{"class":1402},[1341,1754,1365],{"class":1347},[1341,1756,1757,1760,1762,1765],{"class":1343,"line":1381},[1341,1758,1759],{"class":1354},"  \"currentValue\"",[1341,1761,1358],{"class":1347},[1341,1763,1764],{"class":1402},"9999",[1341,1766,1365],{"class":1347},[1341,1768,1769,1771,1773,1775],{"class":1343,"line":1394},[1341,1770,1544],{"class":1354},[1341,1772,1358],{"class":1347},[1341,1774,1403],{"class":1402},[1341,1776,1365],{"class":1347},[1341,1778,1779,1782,1784,1786],{"class":1343,"line":1408},[1341,1780,1781],{"class":1354},"  \"rewardQuantity\"",[1341,1783,1358],{"class":1347},[1341,1785,1403],{"class":1402},[1341,1787,1365],{"class":1347},[1341,1789,1790,1793,1795],{"class":1343,"line":1420},[1341,1791,1792],{"class":1354},"  \"duplicate\"",[1341,1794,1358],{"class":1347},[1341,1796,1797],{"class":1402},"false\n",[1341,1799,1800],{"class":1343,"line":1432},[1341,1801,1446],{"class":1347},[1166,1803,1804,1805,1196],{},"Actualice la salud en la interfaz solo después de recibir este resultado. Se rechazarán las solicitudes del cliente que envíen directamente ",[1170,1806,1722],{},[1175,1808,1810],{"id":1809},"mostrar-la-salud-y-las-recompensas","Mostrar la salud y las recompensas",[1220,1812,1813,1820,1826,1832,1837],{},[1183,1814,1815,1816,1819],{},"Confirme que ",[1170,1817,1818],{},"resourceId"," corresponde al monstruo mostrado actualmente.",[1183,1821,1815,1822,1825],{},[1170,1823,1824],{},"version"," es posterior al resultado anterior.",[1183,1827,1828,1829,1196],{},"Actualice la indicación de salud con ",[1170,1830,1831],{},"currentValue",[1183,1833,1449,1834,1836],{},[1170,1835,1831],{}," llegue a 0, muestre el estado de derrota conjunta del monstruo.",[1183,1838,1839,1840,1196],{},"Vuelva a consultar los objetos personales en ",[1170,1841,1842],{},"game_inventory/list",[1166,1844,1845,1846,1848,1849,1852],{},"Aplique permisos de lectura solo para el propietario a ",[1170,1847,1311],{},", de modo que cada miembro pueda leer únicamente sus propios datos. No deduzca las existencias de otros miembros a partir del campo ",[1170,1850,1851],{},"rewardQuantity"," de un evento compartido.",[1175,1854,1856],{"id":1855},"información-útil","Información útil",[1180,1858,1859,1862,1865,1868],{},[1183,1860,1861],{},"La fuerza de ataque y las recompensas se determinan mediante la configuración del procesador del servidor, no con valores del cliente.",[1183,1863,1864],{},"La modificación del recurso, el registro de la acción y la acumulación de la recompensa se procesan en una sola transacción.",[1183,1866,1867],{},"La estructura compartida actual ofrece recompensas por acción. Las clasificaciones por derrotar al monstruo y las recompensas exclusivas para quien lo derrote requieren un diseño aparte.",[1183,1869,1870,1871,1873],{},"No considere que una respuesta retrasada equivale a una operación correcta. Vuelva a comprobarla con el mismo ",[1170,1872,1707],{}," para evitar que la acción se aplique dos veces.",[1175,1875,1877],{"id":1876},"documentos-relacionados","Documentos relacionados",[1180,1879,1880,1885,1891],{},[1183,1881,1882],{},[1207,1883,882],{"href":1884},"./realtime-gomoku",[1183,1886,1887],{},[1207,1888,1890],{"href":1889},"../api-overview","Crear una API y desplegar una base de datos",[1183,1892,1893],{},[1207,1894,1896],{"href":1895},"../performance","Rendimiento y escalabilidad",[1898,1899,1900],"style",{},"html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .s-m8C, html code.shiki .s-m8C{--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sCZoN, html code.shiki .sCZoN{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":1337,"searchDepth":1351,"depth":1368,"links":1902},[1903,1904,1905,1906,1907,1908,1909,1910,1911],{"id":1177,"depth":1351,"text":1178},{"id":1202,"depth":1351,"text":1203},{"id":1260,"depth":1351,"text":1261},{"id":1323,"depth":1351,"text":1324},{"id":1463,"depth":1351,"text":1464},{"id":1574,"depth":1351,"text":1575},{"id":1809,"depth":1351,"text":1810},{"id":1855,"depth":1351,"text":1856},{"id":1876,"depth":1351,"text":1877},"Use el procesador en tiempo real shared-resource de Webspace para crear una incursión validada por el servidor en la que varios miembros atacan juntos a un monstruo.","md",{},true,{"title":1917,"description":1918,"ogType":1919,"twitterCard":1920,"keywords":1921},"Crear una incursión cooperativa contra un monstruo | Ejemplos de Webspace","Conecte tablas de recursos compartidos, eventos WebSocket y recompensas individuales para crear la interfaz de una incursión contra un monstruo.","article","summary_large_image",[1922,1172,1923,1924],"incursión contra monstruos en Webspace","juego con WebSocket","SetFN","BgBbLNVwFjX7zBDtsGDhuLRn1sK3pVHX1Y7hdvOBBQ4",[1927,1928],{"title":888,"path":889,"stem":890,"slug":891,"children":-1},{"title":898,"path":899,"stem":900,"slug":901,"children":-1},{"title":893,"filename":1930,"content":1931},"monster-raid","# Crear una incursión cooperativa contra un monstruo\n\nEste ejemplo crea una incursión en tiempo real en la que varios miembros atacan al mismo monstruo y comparten los resultados hasta que su salud llega a cero. El procesador común `shared-resource` de Webspace gestiona en el servidor los ataques, los cambios de salud y las recompensas por acción.\n\n## Antes de empezar\n\n- Necesita permiso para desplegar esquemas y API.\n- Los miembros participantes deben disponer de los permisos en tiempo real `Send` y `Receive`.\n- Limite a los administradores el uso de la API que crea el objetivo de la incursión.\n\n## Empezar con el esquema completo\n\n[Descargue el esquema del juego con recursos compartidos (`.sfn`)](/examples/webspace/monster-raid/shared-resource-game.sfn). Incluye las columnas y los permisos de las tres tablas utilizadas en este documento, además de la configuración del procesador `shared-resource`. Todas las versiones de esta guía utilizan el mismo archivo, con las descripciones de tablas y columnas en inglés.\n\n1. Descargue el archivo, súbalo a una carpeta personal o de equipo y ábralo en el editor de esquemas.\n2. En la configuración de despliegue de `API Build`, revise `Database identifier`. Cambie el valor predeterminado `resource_game` por un identificador nuevo, como `monster_raid_team_a`, para evitar conflictos con una base de datos existente.\n3. Revise los permisos y la configuración del procesador y despliegue el esquema.\n\nEste archivo es un ejemplo de estructura de backend para un recurso compartido. Como `includeClient` es `false`, no genera automáticamente la interfaz del juego ni incluye los datos iniciales del monstruo. Cree por separado una interfaz que use las siguientes API y eventos WebSocket y cree también el objetivo de la incursión.\n\n## Separar los datos en tres tablas\n\nLa estructura de recursos compartidos separa tres tipos de datos.\n\n| Tabla | Datos almacenados |\n| --- | --- |\n| `game_resources` | Código del monstruo, estado, salud actual y máxima, versión y objeto de recompensa |\n| `game_actions` | ID de la acción, miembro que ataca, daño aplicado, salud resultante y cantidad de recompensa |\n| `game_inventory` | Objetos y cantidades acumuladas de cada miembro |\n\nEl ID de acción de `game_actions` permite identificar los reintentos. Aunque envíe de nuevo el mismo ID de acción, los cambios de salud y las recompensas no se aplicarán dos veces.\n\n## Configurar el procesador en tiempo real\n\nActive la función en tiempo real y seleccione `shared-resource` como procesador de eventos. Si usa los nombres de tabla predeterminados, la configuración del procesador tendrá esta estructura:\n\n```json\n{\n  \"resourcesTable\": \"game_resources\",\n  \"actionsTable\": \"game_actions\",\n  \"inventoryTable\": \"game_inventory\",\n  \"actionPower\": 1,\n  \"rewardPerAction\": 1,\n  \"maxClientAmount\": 1,\n  \"broadcast\": \"namespace\"\n}\n```\n\nCuando `broadcast` es `namespace`, todos los clientes conectados al mismo espacio de nombres en tiempo real de Webspace reciben el evento de resultado. Configúrelo como `actor` para enviar el resultado solo al miembro que realizó la acción.\n\n## Crear el objetivo de la incursión\n\nLlame a `game_resources/create` con permisos de administrador para crear el monstruo.\n\n```json\n{\n  \"code\": \"RAID-1\",\n  \"kind\": \"monster\",\n  \"status\": \"active\",\n  \"current_value\": 10000,\n  \"max_value\": 10000,\n  \"version\": 0,\n  \"reward_item_code\": \"monster-core\"\n}\n```\n\nAl abrir la pantalla, consulte en la API de `game_resources` la salud y la versión actuales. Vuelva a consultarlas después de establecer o recuperar una conexión para sincronizar la interfaz con el estado actual del servidor.\n\n## Enviar un ataque mediante WebSocket\n\nDespués de que un miembro que haya iniciado sesión se suscriba a la conexión en tiempo real, envíe un evento `resource-game.act`.\n\n```json\n{\n  \"type\": \"webspace:send\",\n  \"data\": {\n    \"dbName\": \"monster_raid_team_a\",\n    \"event\": \"resource-game.act\",\n    \"payload\": {\n      \"actionId\": \"attack-00000001\",\n      \"resourceCode\": \"RAID-1\",\n      \"amount\": 1\n    }\n  }\n}\n```\n\nEn `dbName`, use el valor de `Database identifier` elegido durante el despliegue.\n\nCree un `actionId` de entre 8 y 80 letras ASCII, números, guiones bajos o guiones. Si omite `amount`, su valor será 1; si lo incluye, use un número entero dentro del límite `maxClientAmount` del procesador.\n\nEl servidor envía `resource-game.action-applied` después de procesar la acción.\n\n```json\n{\n  \"actionId\": \"attack-00000001\",\n  \"resourceId\": 1,\n  \"currentValue\": 9999,\n  \"version\": 1,\n  \"rewardQuantity\": 1,\n  \"duplicate\": false\n}\n```\n\nActualice la salud en la interfaz solo después de recibir este resultado. Se rechazarán las solicitudes del cliente que envíen directamente `resource-game.action-applied`.\n\n## Mostrar la salud y las recompensas\n\n1. Confirme que `resourceId` corresponde al monstruo mostrado actualmente.\n2. Confirme que `version` es posterior al resultado anterior.\n3. Actualice la indicación de salud con `currentValue`.\n4. Cuando `currentValue` llegue a 0, muestre el estado de derrota conjunta del monstruo.\n5. Vuelva a consultar los objetos personales en `game_inventory/list`.\n\nAplique permisos de lectura solo para el propietario a `game_inventory`, de modo que cada miembro pueda leer únicamente sus propios datos. No deduzca las existencias de otros miembros a partir del campo `rewardQuantity` de un evento compartido.\n\n## Información útil\n\n- La fuerza de ataque y las recompensas se determinan mediante la configuración del procesador del servidor, no con valores del cliente.\n- La modificación del recurso, el registro de la acción y la acumulación de la recompensa se procesan en una sola transacción.\n- La estructura compartida actual ofrece recompensas por acción. Las clasificaciones por derrotar al monstruo y las recompensas exclusivas para quien lo derrote requieren un diseño aparte.\n- No considere que una respuesta retrasada equivale a una operación correcta. Vuelva a comprobarla con el mismo `actionId` para evitar que la acción se aplique dos veces.\n\n## Documentos relacionados\n\n- [Crear un juego de Gomoku en tiempo real](./20.realtime-gomoku.md)\n- [Crear una API y desplegar una base de datos](../24.api-overview.md)\n- [Rendimiento y escalabilidad](../48.performance.md)\n",1793056600491]