{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-02-03",
  "date": 1738540800,
  "stats": {
    "totalMessages": 981,
    "totalUsers": 72
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Analysis of Discord Chat in \"💻│developers\" Channel\n\n## 1. Summary\nThe discussion primarily revolves around Hyperfy's development, focusing on API stability, app sharing mechanisms, and user interface improvements. Ashxn explains that while small breaking changes are occurring during development, the goal is to establish a stable API where documented features won't change. The team implemented app downloads (.hyp files) allowing users to share apps more easily than copy-pasting code. Developers discussed networking between apps using world.emit() and app.on() for cross-app communication. Several technical challenges were addressed including audio positioning in 3D space, physics interactions, and UUID generation in app scripts. There was significant debate about the user interface in V2 versus V1, particularly regarding pointer lock, right-click functionality, and the balance between building and gaming modes. Developers also explored agent implementation, with discussions about preventing infinite conversation loops between AI agents.\n\n## 2. FAQ\nQ: How stable is the current API? (asked by Saori) A: Networking is pretty stable now, and things documented in official scripting docs are 99% unlikely to change (answered by Ashxn)\nQ: How do you prevent agents from spamming each other? (asked by HPrivakos) A: They should only respond to each other once, not infinite loop, especially when using Claude/Anthropic models (answered by Ashxn)\nQ: How can I access the player position in V2? (asked by Shiffty) A: On the client you can call world.getPlayer() to get the current player or world.getPlayer(id) for a specific player (answered by Ashxn)\nQ: How can I make my 3D objects solid so avatars can jump on them? (asked by frabra239) A: Change collision to \"all\" (answered by Ashxn)\nQ: How can I communicate between two separate apps? (asked by MetaMike) A: Use app.emit(name, data) on the client and have the other app listen using world.on(name, fn) (answered by Ashxn)\nQ: How can I generate a UUID in an app script? (asked by m₂) A: There's a global uuid() function injected into scripts (answered by Ashxn)\nQ: How can I get the current timestamp in an app script? (asked by m₂) A: Use world.getTime() for performance.now() synced to server time, or world.getTimestamp() for ISO date timestamps (answered by Ashxn)\nQ: Can I access the main camera (specifically forward direction) and can I raycast through the API? (asked by Shiffty) A: Unanswered\n\n## 3. Help Interactions\nHelper: Ashxn | Helpee: b34k3r | Context: Audio cone coming out of bottom of box making it louder when tipped over | Resolution: Explained that audio node is at bottom of cube, suggested moving to center with audion.position.y = 1\nHelper: Ashxn | Helpee: m₂ | Context: Needed to generate UUIDs and get timestamps in app scripts | Resolution: Added Date.now() to dev branch and explained existing uuid() function\nHelper: Saori | Helpee: frabra239 | Context: Wanted to use VRoid models as avatar | Resolution: Shared link to downloadable VRoid models and confirmed drag-and-drop functionality\nHelper: Ashxn | Helpee: MetaMike | Context: Needed to share data between apps | Resolution: Explained using app.emit() and world.on() for cross-app communication\nHelper: Ashxn | Helpee: HPrivakos | Context: AI agents talking to each other in infinite loop | Resolution: Suggested using Claude/Anthropic models which better follow instructions to avoid loops\nHelper: HPrivakos | Helpee: m₂ | Context: Missing PUBLIC_VERSION in .env causing app inspection to fail | Resolution: Added PUBLIC_VERSION=0.5.0-dev manually to .env file\n\n## 4. Action Items\nType: Technical | Description: Implement a way for world owners to make apps right-click downloadable by anyone | Mentioned By: Ashxn\nType: Technical | Description: Add option to have secrets that are only visible on the server | Mentioned By: Ashxn\nType: Technical | Description: Create two modes that swap out controllers, with controllers configurable per world | Mentioned By: Saori\nType: Technical | Description: Add wrapper for setTimeout that properly cancels timers when app is destroyed | Mentioned By: Ashxn\nType: Technical | Description: Implement a solution for moving NPCs around (for pet functionality) | Mentioned By: Saori\nType: Technical | Description: Fix Firefox compatibility issues with Web Audio API | Mentioned By: Ashxn\nType: Feature | Description: Create a centralized way to share apps between developers | Mentioned By: Saori\nType: Feature | Description: Add password field type that blocks input from being visible on stream | Mentioned By: Saori\nType: Feature | Description: Implement pointer lock option as a preset for users | Mentioned By: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎\nType: Documentation | Description: Document how to communicate between apps using world.emit() and app.on() | Mentioned By: Ashxn",
      "messageCount": 379,
      "userCount": 22
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Discord Chat Analysis: 🤖│agents\n\n## 1. Summary\nThe chat focuses on integrating agent frameworks across virtual worlds, particularly Hyperfy and Decentraland (DCL). Lastraum shared code for connecting the \"Eliza\" agent framework to Hyperfy, enabling cross-platform chat functionality. The implementation uses a JavaScript-based approach with fetch requests to an API endpoint (lkdcl.co/eliza) that handles agent responses. HPrivakos provided alternative endpoints (agents.dcl.guru and agents.hyperworld.host) and shared implementation details.\n\nThe discussion covered technical aspects of agent implementation including character file formats, API endpoints, and auto-chat functionality. There were mentions of more advanced concepts like Trusted Execution Environments (TEEs) and on-chain agents via WebAssembly (WASM) embedded LLMs using AO on Arweave. \n\nThe shared code demonstrates how to create UI elements for chat bubbles, handle player interactions, and process agent responses. The framework allows for creating custom agents that can be accessed across different platforms, with a public listing of available agents. Community members discussed potential improvements like auto-chat on world entry and alternative implementation approaches.\n\n## 2. FAQ\nQ: Where can you find all the agents? (asked by Saori) A: Currently you create the agent inside DCL, but it's available anywhere - and the list of agents are public (for now) https://lkdcl.co/eliza/agents (answered by Lastraum)\nQ: Have you guys looked into TEEs? (asked by Saori) A: Looking into it, new to it all tbh (answered by Lastraum)\nQ: Have you guys looked into fully on-chain agents via wasm embedded LLM using AO? (asked by Ashxn) A: No we haven't, but sounds really cool (answered by Lastraum)\nQ: Is there a standard character file format that you're using? (asked by MetaMike) A: https://elizaos.github.io/eliza/docs/core/characterfile/ (answered by HPrivakos)\nQ: How do you make the agent auto chat when you join world or respond to you without typing \"/agent\" first? (asked by 𝕽𝖔𝖚𝖘𝖙𝖆𝖓) A: Use the code Ash provided and tweak it to handle your server (answered by HPrivakos)\nQ: Did this stop working? The endpoints aren't responding for me (asked by MetaMike) A: No, it still works for me: https://agents.hyperworld.host/ (answered by HPrivakos)\n\n## 3. Help Interactions\nHelper: Lastraum | Helpee: Community | Context: Sharing code for integrating Eliza agent framework with Hyperfy | Resolution: Provided complete JavaScript implementation for chat functionality\nHelper: HPrivakos | Helpee: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓 | Context: How to make agents auto-chat when joining a world | Resolution: Directed to use existing code with tweaks for server handling\nHelper: HPrivakos | Helpee: MetaMike | Context: Question about character file format standard | Resolution: Provided documentation link to current standard\nHelper: HPrivakos | Helpee: MetaMike | Context: Creating an agent for Ken character | Resolution: Created and shared a Hyperfy agent URL for the character\nHelper: HPrivakos | Helpee: Community | Context: Testing agent functionality | Resolution: Provided test URL at agents.hyperworld.host\n\n## 4. Action Items\nType: Technical | Description: Implement world.on enter code for auto-chat functionality | Mentioned By: Lastraum\nType: Technical | Description: Explore TEE (Trusted Execution Environment) integration for agents | Mentioned By: Saori\nType: Technical | Description: Investigate on-chain agents via WASM embedded LLM using AO on Arweave | Mentioned By: Ashxn\nType: Technical | Description: Create VRM model for Ken character agent | Mentioned By: MetaMike\nType: Documentation | Description: Develop documentation on FSM, behavior trees and GOAP for agent implementation | Mentioned By: MetaMike\nType: Feature | Description: Add more customizations to agent framework | Mentioned By: Lastraum\nType: Feature | Description: Implement auto-chat functionality when players join world | Mentioned By: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓",
      "messageCount": 71,
      "userCount": 8
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Analysis of Discord Chat in \"⚡│general\" Channel\n\n## 1. Summary:\nThe chat primarily revolves around Hyperfy's ecosystem development, focusing on self-hosting capabilities and agent integration. HPrivakos offers to host Eliza agents for users, requiring only character files while handling the LLM backend. There's significant discussion about NFT interoperability issues, particularly with Nifty Island's VRM files being inaccessible due to their token-gating approach. The community discusses the technical limitations of blockchain implementations that prioritize profit over true interoperability. Hyperfy's V2 development is progressing with documentation being consolidated at hyperfy.how. The ecosystem vision involves developers creating \"cores\" that artists can enhance to create collectibles for end users. Several members inquire about migrating from V1 to V2, with community members offering hosted solutions as an interim step while the platform matures.\n\n## 2. FAQ:\nQ: Do your Elizas actually view and see links/images and search the web? (asked by emotionull) A: Probably not, only using LLM models right now, no image recognition ones (answered by HPrivakos)\nQ: Is this the correct VRM NFT format to use in Hyperfy? (asked by N1Kingz/HCK1) A: The issue is that Nifty locks the NFT behind a paywall/gateway, blocking metaverse platforms like Hyperfy from accessing the file (answered by maximus)\nQ: How easy is it to create a Nifty-like asset generator for Hyperfy? (asked by N1Kingz/HCK1) A: We're working on this, but our engine is open with tooling for people to build themselves. You can also check out Character Studio (answered by Ashxn and MetaMike)\nQ: What's the best source of information to read up on how to get going with Hyperfy V2? (asked by Paradoxx) A: hyperfy.how is being worked on, and there are community docs being developed (answered by devilsadvocate.sol)\nQ: How does it work with updates coming from Hyperfy? Will we need to set things up all over again when new versions are released? (asked by Paradoxx) A: Not really, as the data isn't proprietary and hosting agents shouldn't lock users in (answered by maximus)\nQ: Is there a brand assets repo/source somewhere? (asked by m₂) A: Yes, Voxvienne shared logo files and 3D GLB assets (answered by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)\n\n## 3. Help Interactions:\nHelper: HPrivakos | Helpee: MetaMike | Context: Hosting Eliza agents | Resolution: HPrivakos offered to host Eliza agents, requiring only character files while handling the LLM backend\nHelper: maximus | Helpee: N1Kingz/HCK1 | Context: VRM NFT compatibility issues with Hyperfy | Resolution: Explained that Nifty Island's token-gating approach blocks access to VRM files\nHelper: MetaMike | Helpee: N1Kingz/HCK1 | Context: Creating avatar generators | Resolution: Shared Character Studio GitHub repository as a solution\nHelper: maximus | Helpee: Paradoxx | Context: Extracting objects from Hyperfy V1 | Resolution: Shared a guide for extracting objects from V1 to Blender\nHelper: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Helpee: m₂ | Context: Needed Hyperfy logo assets | Resolution: Provided logo files and 3D GLB assets\n\n## 4. Action Items:\nType: Technical | Description: Implement fiat payment via Stripe for Hyperworld.host | Mentioned By: HPrivakos\nType: Technical | Description: Develop a solution for Nifty Island VRM compatibility | Mentioned By: maximus\nType: Technical | Description: Develop vehicle functionality (cars, jets, hyperducks) for V2 | Mentioned By: maximus\nType: Documentation | Description: Complete onboarding docs for non-developers in V2 | Mentioned By: Paradoxx\nType: Documentation | Description: Consolidate GitHub docs into hyperfy.how for easier reading | Mentioned By: devilsadvocate.sol\nType: Feature | Description: Create a Hyperfy-specific avatar generator similar to Nifty | Mentioned By: N1Kingz/HCK1\nType: Feature | Description: Implement AI agent integration for V2 worlds | Mentioned By: Paradoxx\nType: Technical | Description: Establish guidelines for hosting services regarding user data portability | Mentioned By: maximus",
      "messageCount": 194,
      "userCount": 36
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Discord Chat Analysis for 🪙│hyper Channel\n\n## 1. Summary\nThis Discord chat primarily revolves around price movements of the HYPER token, with participants discussing market volatility, trading strategies, and occasional technical topics. The token experienced significant price swings, dropping to around $0.01 before recovering to approximately $0.02, then falling again. Community members debated swing trading versus holding strategies, with some advocating against short-term trading as it creates volatility. There was minimal technical discussion, though FortyMcNiner mentioned wanting to integrate SOL coin redemptions for missions in Hyperfy, to which devilsadvocate.sol responded that a branch is being developed to connect wallets on Solana. The chat also briefly touched on Hyperfy V2, described as the open-source version of the platform. Members shared a watch party link for what appears to be a crypto-related event or announcement. Overall, the conversation was dominated by price action commentary rather than substantive technical discussions.\n\n## 2. FAQ\nQ: What is the V2 actually? (asked by trou) A: V2 is the opensource version of hyperfy (answered by ToxSam)\nQ: What percentage of the supply needs to be in the LP to be enough to prevent crazy spikes on low volume? (asked by jar0d) A: Too much in the LP at this point and the price will plummet. Only 1.32% in the pool is a good thing, but it can be bad too if a big whale sells. (answered by BitFiend)\nQ: What happened today with $hyperfy? (asked by BallisticBanana) A: Normal swing. Looks like we moved the bottom support up though. (answered by devilsadvocate.sol)\n\n## 3. Help Interactions\nHelper: devilsadvocate.sol | Helpee: FortyMcNiner | Context: FortyMcNiner wanted to integrate SOL coin redemptions for missions in Hyperfy but wasn't sure if V2 was ready | Resolution: devilsadvocate.sol mentioned a branch being worked on that will allow connecting a wallet on Solana\nHelper: ToxSam | Helpee: trou | Context: trou asked what V2 actually is | Resolution: ToxSam explained it's the opensource version of Hyperfy\n\n## 4. Action Items\nTechnical: Connect wallet on Solana for Hyperfy V2 | Description: Branch being worked on to allow wallet connection on Solana | Mentioned By: devilsadvocate.sol\nFeature: SOL coin redemptions for missions | Description: Integrate SOL coin redemptions for missions in Hyperfy | Mentioned By: FortyMcNiner\nFeature: Cool integrations for Hyperfy | Description: Raymond mentioned having ideas for cool integrations | Mentioned By: Raymond",
      "messageCount": 190,
      "userCount": 34
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis for 🧊│3d-design Channel\n\n## 1. Summary:\nThe chat primarily focused on 3D design workflows, particularly around avatar rigging and VRM creation. A significant discussion centered on issues with Mixamo rigging, where FortyMcNiner described a problem where models \"lurch\" forward in edit mode but return to normal in object mode, making it difficult to add interchangeable items after rigging. Community members suggested alternative rigging approaches including Blender VRM addon with AutoRigPro, Accurig, and manually rigging in Blender then building VRM using UniVRM in Unity. There was also a brief discussion about fixing \"sticky steps\" in a 3D environment, with Valiant suggesting adding an invisible ramp collider as a quick fix, while Saori proposed editing player capsule settings. Additionally, Saori shared an in-progress asset pack that received positive feedback from other members.\n\n## 2. FAQ:\nQ: How did you replace the environment with a 3d one? (asked by devilsadvocate.sol) A: Unanswered\nQ: Would editing player capsule settings impact precise interactions in HyperBall? Is there a figure on max rise for steps/edges? (asked by Valiant) A: No figure on that right now and I don't think it'd have a large impact (answered by Saori)\nQ: Anyone have the problem of rigging an avatar on mixamo where the model \"lurches\" forward in edit mode but jumps back in object mode? (asked by FortyMcNiner) A: You could look into resetting the 'rest pose' (answered by TheMattEmpire)\n\n## 3. Help Interactions:\nHelper: TheMattEmpire | Helpee: FortyMcNiner | Context: Avatar rigging issue with Mixamo causing model position discrepancy between edit and object modes | Resolution: Suggested looking into resetting the 'rest pose' and later recommended Accurig as an alternative\nHelper: Ashxn | Helpee: FortyMcNiner | Context: Mixamo rigging workflow issues | Resolution: Suggested Blender VRM addon + AutoRigPro as a better alternative\nHelper: maximus | Helpee: FortyMcNiner | Context: Looking for documentation on rigging workflows | Resolution: Shared links to previous discussions about optimization and CloneForce tutorial\nHelper: Valiant | Helpee: Unspecified | Context: Fixing \"sticky steps\" in 3D environment | Resolution: Suggested adding an extra ultra simple collider to act as an invisible ramp\nHelper: Saori | Helpee: Unspecified | Context: Fixing \"sticky steps\" in 3D environment | Resolution: Suggested editing the player capsule settings\n\n## 4. Action Items:\nTechnical: Fix \"sticky steps\" issue by editing player capsule settings | Mentioned By: Saori\nTechnical: Complete and refine the asset pack that was teased | Mentioned By: Saori\nTechnical: Test alternative rigging workflows (Blender VRM addon + AutoRigPro) for avatar creation | Mentioned By: Ashxn\nTechnical: Explore resetting the 'rest pose' as solution for Mixamo rigging issues | Mentioned By: TheMattEmpire\nTechnical: Consider Accurig as alternative rigging solution | Mentioned By: TheMattEmpire",
      "messageCount": 40,
      "userCount": 14
    },
    {
      "channelId": "1332108186676891649",
      "channelName": "🏗│infra",
      "summary": "# Discord Chat Analysis: 🏗│infra\n\n## 1. Summary:\nThe discussion primarily focused on Hyperfy deployment and hosting solutions. Raymond developed a \"hyperfy-deployer\" tool to automate server setup including SSL and nginx configuration, sharing the GitHub repository. Users discussed Docker-related issues, particularly around admin permissions for model drag-and-drop functionality. HypPrivakos confirmed Docker Swarm and MicroVM/Firecracker compatibility for hosting. The conversation explored server scaling solutions, with ash sharing an article about scaling game servers to zero when not in use. HypPrivakos explained that MicroVM can start applications in under 200ms versus several seconds for Docker containers, making the spin-up delay nearly imperceptible to users. Raymond encountered a black screen issue with his deployment that needed troubleshooting. The chat also touched on the need for better admin permission messaging in the UI to reduce common user errors.\n\n## 2. FAQ:\nQ: Has anyone had issues when running with docker that disables the model drag and drop? (asked by mattimus) A: Double check to make sure you're admin in the world (answered by Saori)\nQ: We really need a message when you are trying to do an admin action but are not admin? (asked by HypPrivakos - HyperWorld.Host) A: Pushed to dev (answered by ash)\nQ: Is the goal for this to just run it on any linux server and it figures it all out? (asked by ash) A: Yes (answered by Raymond)\nQ: Why did you use swap? (asked by ash) A: Unanswered\nQ: How fast do servers spin up from zero? (asked by ash) A: They can start the app in less than 200ms rather than a couple seconds with docker containers (answered by HypPrivakos - HyperWorld.Host)\n\n## 3. Help Interactions:\nHelper: Saori | Helpee: mattimus | Context: Docker model drag and drop not working | Resolution: Confirmed user needed admin permissions in the world\nHelper: ash | Helpee: HypPrivakos - HyperWorld.Host | Context: Need for admin permission messages | Resolution: ash pushed the feature to dev\nHelper: Raymond | Helpee: Community | Context: Automated Hyperfy deployment | Resolution: Created and shared hyperfy-deployer tool on GitHub\nHelper: HypPrivakos - HyperWorld.Host | Helpee: ash | Context: Questions about server spin-up times | Resolution: Explained MicroVM starts in under 200ms\n\n## 4. Action Items:\nTechnical: Implement error message for admin permission issues | Description: Add \"You don't have permission to do that\" in chat for admin actions | Mentioned By: ash\nTechnical: Fix build.mjs error in hyperfy-deployer | Description: Identify and resolve error during installation process | Mentioned By: Raymond\nTechnical: Troubleshoot black screen issue with hyperfy-deployer | Description: Fix nginx configuration to properly display worlds | Mentioned By: Raymond\nTechnical: Implement SSL auto-renewal | Description: Add functionality to refresh SSL certificates automatically | Mentioned By: Raymond\nDocumentation: Create security section in builder onboarding | Description: Add information about security and safety for new builders | Mentioned By: maximus\nFeature: Implement MOTD (Message of the Day) | Description: Add system to display world info, user roles, and help commands | Mentioned By: HypPrivakos - HyperWorld.Host\nFeature: Explore compute distribution when servers not in use | Description: Research options for efficient resource allocation | Mentioned By: Raymond",
      "messageCount": 106,
      "userCount": 8
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "# Analysis of 🎨│showcase Channel\n\n## 1. Summary\nThe chat segment contains a single message from user HypPrivakos - HyperWorld.Host announcing that their website hyperworld.host now supports fiat payment via Stripe. This appears to be a feature update announcement for their hosting service, allowing users to pay with traditional currency in addition to (presumably) cryptocurrency options that were available before. No technical discussions, problem-solving, or other interactions are present in this brief segment.\n\n## 2. FAQ\nNo questions were asked in this chat segment.\n\n## 3. Help Interactions\nNo help interactions occurred in this chat segment.\n\n## 4. Action Items\nFeature: HyperWorld.Host has implemented fiat payment support via Stripe | Description: The hosting service now accepts traditional currency payments through Stripe payment processor | Mentioned By: HypPrivakos - HyperWorld.Host",
      "messageCount": 1,
      "userCount": 1
    }
  ]
}