{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-01-31",
  "date": 1738281600,
  "stats": {
    "totalMessages": 1422,
    "totalUsers": 85
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Analysis of \"💻│developers\" Discord Chat\n\n## 1. Summary\nThe discussion primarily revolves around Hyperfy development, focusing on builder controls, audio implementation, and networking. Ashxn introduced a new audio node in the dev branch with playback controls (play, pause, stop) and shared example code. There was significant discussion about improving builder controls with features like transform widgets, lock functionality, and copy/paste capabilities. A PR from user \"᲼\" added sliding value editors, reset transform button, and copy/paste buttons to the InspectPane. Networking was explained through code examples showing how to synchronize object movements across clients using server-client communication patterns. The team also discussed environment apps that would replace the default environment when placed at 0,0,0, with potential for day/night cycles. Documentation improvements were proposed, with debates about maintenance challenges versus benefits for new developers. Ashxn suggested a cleaner syntax for setting multiple node properties during creation using an object parameter.\n\n## 2. FAQ\nQ: Any reason to have an exit(1) instead of an exit(0) in build.mjs? (asked by HPrivakos) A: This was only added because the process kept running after an `npm run build`, so it could be anything if you want to change (answered by Ashxn)\nQ: What would be a better way to launch Hyperfy on Steam Deck? (asked by MetaRick) A: A wrapper would be the best approach since Steam Deck is essentially a custom Linux box (answered by Ashxn)\nQ: Will agents be able to have speech-to-text mode for users who can't type? (asked by MetaRick) A: It's technically possible but agent voice services are expensive; could be optional in the new core (answered by peezy and Ashxn)\nQ: How do you build 3D models for Hyperfy? (asked by vlad) A: Use Blender (try the donut tutorial), then export models to GLB format; also check out gltf.report for auto-optimization (answered by Ashxn)\nQ: Why is app.id `$root` for each app even if they're separate GLBs? (asked by MetaMike) A: Every app has a $root (empty) as the basis; every GLB is an app (answered by \"᲼\")\nQ: How do you make objects networked in Hyperfy? (asked by MetaMike) A: Use client/server pattern where client sends actions to server, server updates position and broadcasts to all clients (answered by Saori)\n\n## 3. Help Interactions\nHelper: Saori | Helpee: MetaMike | Context: Needed help with networking object movement across clients | Resolution: Provided two code examples showing how to implement server-client communication for synchronized movement\nHelper: Ashxn | Helpee: vlad | Context: Asked about 3D modeling workflow for Hyperfy | Resolution: Recommended Blender with donut tutorial and GLB export format, plus gltf.report for optimization\nHelper: \"᲼\" | Helpee: emotionull | Context: Needed to know how to download full v1 worlds to move to v2 | Resolution: Shared a link to hackmd.io with instructions for Hyperfy to Blender conversion\nHelper: Ashxn | Helpee: Multiple users | Context: Shared example code for new audio implementation | Resolution: Provided working code sample demonstrating audio controls in Hyperfy\n\n## 4. Action Items\nType: Technical | Description: Implement double jump in core | Mentioned By: Ashxn\nType: Technical | Description: Add option to set multiple node properties during creation using object parameter | Mentioned By: Ashxn\nType: Technical | Description: Create \"environment\" apps that replace default environment when placed at 0,0,0 | Mentioned By: Ashxn\nType: Technical | Description: Add grid snapping for assets | Mentioned By: Ashxn\nType: Technical | Description: Add \"normals\" mode to properly angle objects on surfaces | Mentioned By: Ashxn\nType: Technical | Description: Fix right shift key being broken | Mentioned By: \"᲼\"\nType: Feature | Description: Add area of influence setting for agents so they only listen at specified distance | Mentioned By: MetaRick\nType: Feature | Description: Implement elevenlabs for agent voices | Mentioned By: Ashxn\nType: Feature | Description: Create wrapper to pay for elevenlabs with $HYPER | Mentioned By: Tone\nType: Documentation | Description: Improve documentation with component list and examples | Mentioned By: Ricky\nType: Documentation | Description: Add versioning to documentation to handle updates | Mentioned By: Saori",
      "messageCount": 290,
      "userCount": 23
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Discord Chat Analysis for 🤖│agents Channel\n\n## 1. Summary\nThe discussion primarily focused on optimizing agent frameworks, particularly comparing Eliza and Hyperfy. HPrivakos highlighted the significant size difference between Hyperfy (400MB) and Eliza (5GB) Docker images, noting that using Alpine Linux instead of Debian/Ubuntu significantly reduced image size. The conversation explored the causes of Eliza's bloat, with participants noting it contains numerous unnecessary plugins. \n\nTechnical discussions centered around latency challenges in embodied agents, particularly for real-time interactions. Participants debated approaches to reduce perceived latency, including client-side prediction techniques similar to those used in networked games, pre-computing responses, and implementing goal-oriented action planning. The group discussed the tension between having truly autonomous agents versus more responsive but less autonomous NPCs.\n\nSeveral participants shared insights about agent architecture, with peezy noting that Eliza's advantage is its subscription-based architecture where agents subscribe to \"rooms\" and act on data streams. The discussion also touched on combining traditional game AI techniques with LLMs to achieve better performance, with suggestions to use LLMs for high-level decision-making while using established game AI techniques for low-level actions.\n\n## 2. FAQ\nQ: What increases the size of a docker image? (asked by devilsadvocate.sol) A: A docker image is built in layers, each installation or file embedding increases size. Using Alpine instead of Debian/Ubuntu significantly reduces size. (answered by HPrivakos)\nQ: Is there an agent to generate agents? (asked by HPrivakos) A: Just give an LLM the JSON format and description of the show. (answered by Saori and Omka)\nQ: How much RAM does Eliza-starter with OpenRouter running in docker use? (asked by HPrivakos) A: Less than 1.5GB of RAM. (answered by HPrivakos)\nQ: How easy was it to tweak Eliza to Hyperfy? (asked by ᲼) A: Very easy. You should use eliza-starter with the same changes. (answered by Saori)\n\n## 3. Help Interactions\nHelper: HPrivakos | Helpee: devilsadvocate.sol | Context: Understanding what increases Docker image size | Resolution: Explained Docker layers and how switching from Debian/Ubuntu to Alpine reduces size\nHelper: HPrivakos | Helpee: Ashxn | Context: Running Eliza with less RAM | Resolution: Demonstrated Eliza-starter with OpenRouter in Docker using less than 1.5GB RAM\nHelper: Saori | Helpee: ᲼ | Context: How to adapt Eliza for Hyperfy | Resolution: Provided guidance and shared a GitHub comparison link showing the changes\nHelper: peezy | Helpee: MetaMike | Context: Implementing game AI with LLMs | Resolution: Explained goal-oriented action planning as used in games like F.E.A.R.\n\n## 4. Action Items\nTechnical: Implement client-side prediction for agent responses to reduce perceived latency | Description: Use techniques similar to networked games to predict agent behaviors while waiting for LLM responses | Mentioned By: Saori\nTechnical: Explore goal-oriented action planning for agents | Description: Use LLMs to determine goals but implement game AI techniques for execution | Mentioned By: peezy\nTechnical: Separate plugins from core project in Eliza | Description: Reduce bloat by making plugins optional rather than bundled by default | Mentioned By: maximus\nTechnical: Implement two-system AI architecture | Description: Use low-latency \"dumb\" AI for immediate responses with a second system for corrections | Mentioned By: maximus\nDocumentation: Create benchmark tests for agent frameworks | Description: Develop standardized performance metrics for comparing different agent implementations | Mentioned By: Saori\nFeature: Create an agent generator tool | Description: Develop system to automatically generate agent definitions from media content like movies or TV shows | Mentioned By: HPrivakos",
      "messageCount": 237,
      "userCount": 13
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Discord Chat Analysis for \"⚡│general\" Channel\n\n## 1. Summary\nThe chat primarily focused on Hyperfy's development progress, particularly the transition from v1 to v2. A community call was held and recorded (https://youtu.be/r62wTgebwbE), with maximus sharing key updates: focus on core UI for non-technical users, pre-fabs development, agent partnerships, and hyperBALL progress. There was discussion about the technical architecture of Hyperfy's v2, with Knar mentioning plans for a \"single shard MMO\" with dynamic server mesh topology that spins up zone servers as needed and splits them into smaller zones when full. Community members expressed interest in no-code solutions, with miguel_amargo voicing concerns about needing to learn code to participate. Saori acknowledged these concerns and mentioned working on a short-term roadmap to address them. There was also discussion about the differences between v1 and v2, with Saori noting that v2 is more performant with models and avatars, though the differences are currently most noticeable to developers. Community members suggested creating a worlds page on hyperfy.xyz as a starting point for showcasing v2 worlds.\n\n## 2. FAQ\nQ: Would it be possible to get a summary/tdlr of updates discussed in the community call? (asked by Juank) A: Focus on core UI for non-techs, pre-fabs on the way, agent partnerships in progress, hyperBALL going well (answered by maximus)\nQ: Any plans/updates on tokenomics? (asked by austin) A: Unanswered\nQ: Where can I check the next roadmap? In GitHub? (asked by manbull) A: \"No roadmap just vibes\" (answered by Saori)\nQ: Will the community call always be at the same time? It's at midnight for European folks. (asked by Gert-Jan Akerboom) A: We will evolve to support different timezones; eventually we can have different times so more folks can step up on stage (answered by maximus)\nQ: When will there be #nocode solutions? (asked by miguel_amargo) A: Working on firm plan (short term roadmap) to make you guys feel better about this (answered by Saori)\n\n## 3. Help Interactions\nHelper: maximus | Helpee: Juank | Context: Missed community call and needed updates | Resolution: Provided summary of key points and later shared recording link\nHelper: maximus | Helpee: bitpixi | Context: Confusion about where to post Hyperfy event | Resolution: Explained event creation on hyperfy.io site and appropriate Discord channels\nHelper: HPrivakos | Helpee: ooakosimo | Context: Questions about hyperworld host | Resolution: Agreed to answer questions via DM\nHelper: Saori | Helpee: miguel_amargo | Context: Concerns about needing to code to participate | Resolution: Explained that no-code = app store and that they're working on a short-term roadmap\n\n## 4. Action Items\nTechnical: Implement dynamic server mesh topology for single shard MMO with zone servers that split into smaller zones when full | Mentioned By: Knar\nTechnical: Create a worlds page on hyperfy.xyz to showcase v2 worlds | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nTechnical: Rebuild v1 functionality with v2 technology | Mentioned By: MetaMike\nDocumentation: Create a roadmap once v2 is builder ready | Mentioned By: maximus\nDocumentation: Add tooltip descriptions or pinned messages for Discord channels | Mentioned By: maximus\nFeature: Develop no-code solutions for non-technical builders | Mentioned By: miguel_amargo\nFeature: Create app marketplace for v2 | Mentioned By: MetaMike\nFeature: Implement a world launcher interface | Mentioned By: Saori",
      "messageCount": 166,
      "userCount": 36
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Analysis of 🪙│hyper Discord Channel\n\n## 1. Summary\nThe discussion primarily revolves around the HYPER token's price decline and community sentiment. The token experienced significant downward pressure, dropping from around $0.27 to approximately $0.014. Community members discussed potential causes, including market-wide liquidity issues following other token launches (Melania, Trump) and typical airdrop sell pressure. Despite price concerns, core team members emphasized ongoing development work on the Hyperfy platform.\n\nTechnical discussions focused on Hyperfy's V2 deployment, which is available for developers who can host their own server or use hyperworld.host service. The team clarified that HYPER is an SPL token (Solana-based). Several members discussed potential future features including AI agents for world-building, airships as vehicles, and Sims-like gameplay with AI integration. The token was also listed on BVOX exchange, which caused a small price rebound.\n\nCommunity members debated tokenomics, with some questioning the token distribution and unclaimed tokens. Team members directed users to token.hyperfy.xyz for transparency on allocation, explaining that tokens are distributed across DAO, vested team tokens, and unclaimed airdrops.\n\n## 2. FAQ\nQ: Is HYPER an SPL token? (asked by HPrivakos) A: Yes, it is a Solana-based token (answered by HPrivakos)\nQ: Has V2 already been deployed? (asked by PascalCase) A: Yes, if you can dev, you can use V2; if you can't dev, they're still working on it (answered by jar0d)\nQ: Were KOLs paid in this token for supply that just made a few tweets and then sold? (asked by Labden) A: No, KOLs weren't paid and nobody got the contract address before it was public (answered by Saori)\nQ: Did the ai16z dao get tokens and subsequently sell them? (asked by Labden) A: No, tokens were airdropped to 1000 top holders, not to the treasury (answered by Saori)\nQ: Can ai16z partner NFT holders still claim HYPER? (asked by jay) A: No, the claim period ended January 13th (answered by Rick with tweet evidence)\nQ: Why did this token fall so much? (asked by chckyo) A: Market-wide liquidity issues and typical airdrop sell pressure (answered by multiple users)\nQ: Do you think HYPER can recover to 50m before April? (asked by mkl) A: Yes, the entire AI sector has been devalued but the team continues building (answered by MichaelV)\nQ: What happened to the token channel? (asked by Meadowlark) A: Implied that many have sold but some are still holding (answered by merk)\nQ: Where are the remaining tokens beyond circulating supply? (asked by SomeOtherGuy) A: DAO, vested team tokens and some are just unclaimed airdrops (answered by merk)\n\n## 3. Help Interactions\nHelper: jar0d | Helpee: PascalCase | Context: Asking about V2 deployment and how to access it | Resolution: Explained that developers can use V2 but need to host their own server or pay for hosting\nHelper: HPrivakos | Helpee: PascalCase | Context: Needed a way to host a Hyperfy world | Resolution: Shared hyperworld.host service that allows getting a world in less than 2 minutes\nHelper: devilsadvocate.sol | Helpee: Labden | Context: Questions about token selling and price action | Resolution: Provided detailed market analysis and explained that team hasn't sold tokens\nHelper: jar0d | Helpee: jay | Context: Looking for token information | Resolution: Shared link to token documentation channel\nHelper: Saori | Helpee: SomeOtherGuy | Context: Question about token supply | Resolution: Shared token.hyperfy.xyz link with detailed tokenomics information\n\n## 4. Action Items\nTechnical: Implement airships/vehicles in Hyperfy worlds | Description: Users expressed interest in flyable ships | Mentioned By: Ashxn, Paradoxx\nTechnical: Develop Sims-like gameplay with AI integration | Description: Create AI-driven simulation gameplay | Mentioned By: jar0d, Mimsy\nTechnical: Create Hypermon (Pokémon-like) implementation | Description: Community members showed interest in Pokémon-style creatures | Mentioned By: merk, Ashxn, Omka\nFeature: Add official Hyperfy ships that users can collect and fly | Description: Flyable vehicles for world navigation | Mentioned By: QMA, maximus\nFeature: Implement AI agents that can build their own worlds | Description: Allow AI to autonomously create content | Mentioned By: jar0d, Z aka MetaDJ\nFeature: Create a Hyperfy hall of fame world | Description: Showcase community achievements | Mentioned By: zhades\nDocumentation: Update token information to clarify distribution | Description: Make token allocation more transparent | Mentioned By: SomeOtherGuy\nDocumentation: Create guides for developers to use V2 | Description: Help developers understand how to use the new version | Mentioned By: PascalCase\nFeature: Add tear emoji that sends 1 HYPER tip | Description: Simple tipping mechanism | Mentioned By: Omka",
      "messageCount": 609,
      "userCount": 47
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis: 🧊│3d-design\n\n## 1. Summary\nThe chat primarily focused on 3D modeling and architecture for virtual environments, particularly in Hyperfy. Valiant shared an \"Alien Giraffe Spider\" model with rigidbody nodes, sparking a discussion about using such models as interactive NPCs in arenas. A new member, vlad, introduced himself as an architect looking to transition into metaverse architecture, sharing examples of his real-world architectural work. Community members discussed optimization techniques for 3D models to ensure good performance across devices, with maximus sharing a community-created optimization guide. Technical issues were addressed, including a transparency problem with a model that 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 diagnosed as an issue with Alpha Blend settings. The chat also touched on modular building systems, colliders for 3D models, and the availability of tools like Hyperfy-Tools for adding functional collisions to models. Several members with architectural backgrounds expressed interest in collaborating and experimenting with Hyperfy's capabilities.\n\n## 2. FAQ\nQ: How can I fix my model that looks transparent in Hyperfy but normal in Blender? (asked by mahmoudghorbani) A: The material is plugged into alpha and the blendmode is \"Alpha Blend\". You need to reassign materials to the areas. (answered by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)\nQ: How do I add colliders to my models for other worlds? (asked by mahmoudghorbani) A: Try using the Hyperfy-Tools Blender add-on created by Howie to get functional collisions for v2. (answered by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)\nQ: Are there any channels/chats with metaverse builders focused on architecture? (asked by vlad) A: There is none at the moment. The 3d-design channel is more for support/chatting about building in 3D apps like Blender. (answered by maximus)\nQ: What is needed for optimization of 3D models in Hyperfy? (asked by vlad) A: Models need to be cleaned up to reduce file size while maintaining a workable environment. There's a community article on optimization to ensure worlds are accessible across all device types. (answered by maximus)\n\n## 3. Help Interactions\nHelper: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Helpee: mahmoudghorbani | Context: Model appearing transparent in Hyperfy but normal in Blender | Resolution: Identified the issue as material plugged into alpha with \"Alpha Blend\" mode, suggested reassigning materials to fix the problem\nHelper: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Helpee: mahmoudghorbani | Context: Adding colliders to models for use in different worlds | Resolution: Recommended using Hyperfy-Tools Blender add-on for adding functional collisions for v2\nHelper: maximus | Helpee: vlad | Context: New architect looking to understand optimization for virtual environments | Resolution: Shared a community-created optimization guide explaining the importance of optimization for cross-device compatibility\nHelper: Ashxn | Helpee: mahmoudghorbani | Context: Troubleshooting model with transparency issues | Resolution: Examined the model in Blender and identified that faces appeared to be missing\n\n## 4. Action Items\nTechnical: Use Hyperfy-Tools Blender add-on for adding functional collisions to models | Description: Tool for creating proper colliders for v2 worlds | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nTechnical: Implement random NPC monsters in arena environments | Description: Use models with colliders and movement to interact with game elements | Mentioned By: Valiant\nFeature: Create modular building packs for easy world construction | Description: Develop architectural components that work with snapping system | Mentioned By: bitpixi\nFeature: Make V1 Worlds available for architects to experiment with | Description: Clean up existing worlds and share with interested community members | Mentioned By: untitled, xyz\nDocumentation: Review optimization guide for 3D models | Description: Community-created guide for optimizing models for Hyperfy | Mentioned By: maximus",
      "messageCount": 84,
      "userCount": 13
    },
    {
      "channelId": "999870741069692958",
      "channelName": "🌆│share",
      "summary": "This chat segment contains no technical discussions, decisions, or problem-solving. The conversation consists only of two tweets being shared by Rick and a brief response from ash about attending a DJs event. The first shared tweet mentions a DJs event planned for the following month, and ash indicates they should be able to attend. The second shared tweet has no context provided about its content.",
      "messageCount": 3,
      "userCount": 2
    },
    {
      "channelId": "1332108186676891649",
      "channelName": "🏗│infra",
      "summary": "# Discord Chat Analysis for 🏗│infra Channel\n\n## 1. Summary:\nThe discussion centers around a significant pull request (PR #21) that reduces the Docker image size by approximately 70% and implements automated image building for main and dev branches. The PR also adds COMMIT_HASH to the image and displays it on the /status page. Community members reviewed the changes, discussing technical aspects like multi-stage builds, package registry usage, and commit SHA tagging. DevStarlight mentioned they currently use PM2 inside Docker to run multiple worlds in a single container but plan to migrate to Kubernetes. The PR was eventually merged after minor adjustments to console logs and case consistency. After merging, there was a permissions issue with the GitHub organization settings that needed to be addressed to enable public package creation. The Docker images are built for both x86 and ARM64 architectures, providing native support for Mac and Raspberry Pi devices.\n\n## 2. FAQ:\nQ: Do you guys use this same dockerfile or have any issues with this being merged? (asked by ash) A: DevStarlight mentioned they do extra stuff in the Dockerfile to inject .env and PM2 config but can adapt to the changes (answered by DevStarlight)\nQ: Can we tag with a commit short sha along with the branch name to preserve older main builds? (asked by mattimus) A: It commits with a long sha for the moment, along with branch/tag name (answered by HypPrivakos - HyperWorld.Host)\nQ: Can it be merged please? (asked by HypPrivakos - HyperWorld.Host) A: Yep can we remove those console logs? (answered by ash)\n\n## 3. Help Interactions:\nHelper: mattimus | Helpee: DevStarlight | Context: Alternative to using PM2 in Docker | Resolution: Suggested using --restart always or --restart on-failure with docker run command and docker stats for resource monitoring\nHelper: HypPrivakos - HyperWorld.Host | Helpee: ash | Context: GitHub organization permissions issue for package creation | Resolution: Directed ash to enable \"Public\" in package creation settings at github.com/organizations/hyperfy-xyz/settings/packages\n\n## 4. Action Items:\nType: Technical | Description: Change GitHub organization settings to enable public package creation | Mentioned By: HypPrivakos - HyperWorld.Host\nType: Technical | Description: DevStarlight to adapt their system to work with the new Docker setup | Mentioned By: DevStarlight\nType: Technical | Description: Migrate from PM2 in Docker to Kubernetes | Mentioned By: DevStarlight\nType: Documentation | Description: Update documentation to reflect the new Docker image building process | Mentioned By: HypPrivakos - HyperWorld.Host",
      "messageCount": 26,
      "userCount": 5
    },
    {
      "channelId": "1022421054582423562",
      "channelName": "🐞│issues",
      "summary": "# Analysis of \"🐞│issues\" Discord Channel\n\n## 1. Summary\nThe discussion centers around a potential usability issue in the transform hierarchy system, particularly regarding object positioning and unlinking. General hyper expresses concern that beginners might get confused when setting an object's position in scripts causes unexpected behavior - specifically objects duplicating and stacking when not properly unlinked. Hyp shaman suggests that the `unlink` function exists to solve this problem and questions whether beginners would struggle to discover this solution when encountering issues. Ash strongly disagrees with the suggestion of throwing errors in this scenario, stating that the current transform hierarchy system works well for building applications. The conversation concludes with general hyper acknowledging that while unlinking makes sense, users still need to remember to clear position settings for objects to move properly, and this will likely be a common learning curve for new users.\n\n## 2. FAQ\nQ: What is the purpose of the `unlink` function? (implied by hyp shaman) A: It's used to remove an object from its parent in the transform hierarchy (answered by hyp shaman)\nQ: Should the system throw an error when position is set without unlinking? (asked by general hyper) A: No, that would be undesirable for building applications (answered by ash)\nQ: Will beginners have trouble understanding how to properly set object positions? (asked by general hyper) A: Beginners will likely figure out to use unlink when they encounter problems (suggested by hyp shaman)\n\n## 3. Help Interactions\nHelper: hyp shaman | Helpee: general hyper | Context: Understanding proper object positioning in transform hierarchies | Resolution: Explained that `unlink` function should be used and offered a world demo to show implementation\nHelper: ash | Helpee: general hyper | Context: Concerns about error handling for position setting | Resolution: Provided perspective that current transform hierarchy system is sufficient for building applications\n\n## 4. Action Items\nTechnical: Consider improving documentation or tutorials about proper object positioning and unlinking | Description: Help beginners understand transform hierarchies and prevent confusion with object duplication/stacking | Mentioned By: general hyper",
      "messageCount": 7,
      "userCount": 4
    }
  ]
}