{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-02-28",
  "date": 1740700800,
  "stats": {
    "totalMessages": 700,
    "totalUsers": 30
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Analysis of \"💻│developers\" Discord Chat\n\n## 1. Summary\nThe chat revolves around Hyperfy development, with significant focus on vehicle physics, networking, and integration with external services. Developers shared code for flight mechanics, with Shiffty's Hyperduck 2.0 inspiring several vehicle implementations including jets and bikes. The community worked on collision detection, player anchoring, and physics improvements. Audio integration was discussed, particularly with ElevenLabs for fast, natural-sounding TTS. Networking topics included event handling (app.emit(), world.on(), app.send(), app.on()), with clarification on their proper usage. Deployment discussions centered around Docker images, with HPrivakos explaining the availability of Alpine-based images on GitHub. Several developers mentioned integration with self-hosting platforms like Coolify, CasaOS, and Umbrel. The community also explored WebAssembly integration possibilities and Solana NFT implementation, with Saori noting challenges with Metaplex fees.\n\n## 2. FAQ\nQ: How do I handle ElevenLabs audio in Hyperfy? (asked by MetaMike) A: Convert the binary response to a blob and create an objectURL for the audio node to reference (answered by Ashxn)\nQ: What's the best practice for setting collision on the floor of my room in V2? (asked by OttisOts) A: Share your GLB file so I can tell you what you're missing (answered by Ashxn)\nQ: Is there a way to set a scale size for a GLB in V2? (asked by OttisOts) A: Use app.scale.set(x,y,z) (answered by devilsadvocate.sol)\nQ: Is there a way to just use the collider already on the vehicle instead of it creating its own box collider? (asked by drdoge.eth) A: Yes, you can use the collider in the GLB if needed, no difference (answered by Ashxn)\nQ: Can you access the default player emote GLBs in code for an NPC without adding doubles? (asked by ~/HowiEDuhzit) A: Yes, use the correct asset URL, e.g., asset://emote-float.glb (answered by Ashxn)\nQ: What's the difference between app.emit(), world.on(), app.on(), and app.send()? (asked by devilsadvocate.sol) A: app.emit() is for app emitting to world, world.on() is for app listening to world events, app.on() is for your own app's events, app.send() sends events to same app on other clients/server (answered by Ashxn)\n\n## 3. Help Interactions\nHelper: Ashxn | Helpee: MetaMike | Context: Struggling with ElevenLabs audio integration | Resolution: Ashxn added extra support for blob loading and pushed updates\nHelper: Ashxn | Helpee: Shiffty | Context: Player slipping issue with Hyperduck at high speeds | Resolution: Fixed in dev branch by correcting position calculation that was off by one frame\nHelper: ~/HowiEDuhzit | Helpee: ᲼ | Context: Black screen when clicking the ⚡ button | Resolution: Fixed by changing this.world to world in AppPane.js and submitted a pull request\nHelper: HPrivakos | Helpee: ~/HowiEDuhzit | Context: Docker image optimization for Coolify integration | Resolution: Explained that Alpine-based images are already available at ghcr.io/hyperfy-xyz/hyperfy\nHelper: Ashxn | Helpee: devilsadvocate.sol | Context: Confusion about networking event methods | Resolution: Explained the differences between app.emit(), world.on(), app.on(), and app.send()\n\n## 4. Action Items\nType: Technical | Description: Implement realistic vehicle physics using raycasts from wheel struts and force application | Mentioned By: Ashxn\nType: Technical | Description: Add function to apply forces at specific points on rigidbodies for better vehicle physics | Mentioned By: Ashxn\nType: Technical | Description: Add WebAssembly support to scripting API with WebAssembly.instantiate, Memory, and Table | Mentioned By: MayD524\nType: Technical | Description: Fix player anchoring for vehicles at high speeds | Mentioned By: Shiffty\nType: Technical | Description: Implement grounded vs flying state with takeoff, landing, and crashes for aircraft | Mentioned By: Shiffty\nType: Feature | Description: Create dogfight/aerial combat system | Mentioned By: drdoge.eth\nType: Feature | Description: Develop 3D gizmo for V2 | Mentioned By: OttisOts\nType: Feature | Description: Create chess game with agent-controlled pieces | Mentioned By: drdoge.eth\nType: Documentation | Description: Add clear documentation for networking events (app.emit, world.on, app.on, app.send) | Mentioned By: Omka\nType: Documentation | Description: Document version/commit hash in status endpoint | Mentioned By: devilsadvocate.sol",
      "messageCount": 363,
      "userCount": 19
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Discord Chat Analysis for \"🤖│agents\" Channel\n\n## 1. Summary:\nThe discussion focused on integrating AI agents into Hyperfy worlds. Peezy shared progress on connecting Eliza (an agent framework) to Hyperfy through a plugin approach, avoiding the need for forks. They proposed that the ideal solution would use websocket connections rather than endpoint requests, allowing agents to initiate actions independently. There was debate about implementation approaches, with Ashxn pointing to the Hyperfy Eliza fork that includes specific prompts to prevent unwanted agent responses. The conversation also touched on using a controller node for agent physics/movement in the world. Participants discussed the benefits of using established frameworks like Eliza for distribution advantages and avoiding reinventing agent architecture, while also considering how to distinguish AI agents from NPCs in the interface.\n\n## 2. FAQ:\nQ: Is it normal to get these messages when booting up the server and joining it? (asked by peezy) A: It seems weird, but messages when first entering the world are normal (answered by Saori)\nQ: Why use Eliza right now? (asked by MetaMike) A: It offers easy onchain integration via plugins, distribution to the self-host Eliza community, clear code for other frameworks to integrate, and avoids reinventing the wheel (answered by peezy)\nQ: Are they running on OpenAI or Anthropic? (asked by peezy) A: Anthropic is best from what I tested (answered by Ashxn)\nQ: Are they the default character.json samples just with Anthropic model? (asked by peezy) A: It's the Hyperfy Eliza fork with a specific prompt that should work with any character file (answered by Ashxn)\nQ: What did you mean by PhysicsPillNode? (asked by Ashxn) A: Referring to something that would help with collisions for agents walking around (answered by peezy)\n\n## 3. Help Interactions:\nHelper: Ashxn | Helpee: peezy | Context: peezy was looking for a solution to handle agent physics/collisions | Resolution: Ashxn shared a link to a controller node that handles movement with physics\nHelper: Ashxn | Helpee: peezy | Context: peezy was trying to understand the Hyperfy Eliza implementation | Resolution: Ashxn shared the GitHub repo comparing the Hyperfy fork to main Eliza\nHelper: Saori | Helpee: peezy | Context: peezy was troubleshooting unexpected agent messages | Resolution: Saori confirmed normal behavior for messages when entering world\n\n## 4. Action Items:\nType: Technical | Description: Prepare code to add the Eliza plugin to the registry | Mentioned By: peezy\nType: Technical | Description: Implement websocket connection for agents instead of endpoint requests | Mentioned By: peezy\nType: Technical | Description: Use controller node for agent physics/movement in worlds | Mentioned By: Ashxn\nType: Feature | Description: Add qualifiers to distinguish autonomous agents from NPCs | Mentioned By: maximus\nType: Technical | Description: Implement structured outputs for agent responses | Mentioned By: MetaMike\nType: Documentation | Description: Document the Hyperfy Eliza fork implementation | Mentioned By: Ashxn",
      "messageCount": 53,
      "userCount": 7
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe chat primarily revolves around excitement for flight mechanics in Hyperfy, with Shiffty having developed flight functionality that was unexpectedly released. There's discussion about a jet application that was recently made available. Shiffty mentions that adapting the flight mechanics to space flight would be relatively simple, which sparks conversation about potential space-themed games and features. Community members share ideas for game mechanics including asteroid mining, resource trading, fleet command systems, and farming simulations. The conversation also touches on EVE Frontier, a blockchain-based space MMO that some members are interested in. There's brief mention of Hyperfy's development pace, with comments about rapid progress despite \"slow\" weeks. The chat includes some technical discussion about app.send() and world.on() documentation needs, with devilsadvocate.sol noting potential documentation gaps regarding how these functions work together.\n\n## 2. FAQ\nQ: Wouldn't it be hard to adapt to space flight? (implied from Shiffty's statement) A: \"Wouldn't be hard to adapt to space flight either\" (answered by Shiffty)\nQ: Do we even need world.on() anymore or would you just call app.on() from inside world.isServer()? (asked by devilsadvocate.sol) A: Unanswered\n\n## 3. Help Interactions\nHelper: Omka | Helpee: maximus | Context: Sharing information about space-themed games similar to what was being discussed | Resolution: Shared links to Primodium and EVE Frontier games\nHelper: Shiffty | Helpee: Community | Context: Developing and implementing flight mechanics | Resolution: Successfully created flight functionality that others are excited to use\n\n## 4. Action Items\nType: Technical | Description: Adapt existing flight mechanics for space flight | Mentioned By: Shiffty\nType: Documentation | Description: Improve documentation for app.send() and world.on() event handling | Mentioned By: devilsadvocate.sol\nType: Feature | Description: Implement space trading simulation with asteroid mining and resource trading | Mentioned By: Ashxn\nType: Feature | Description: Create fleet command system for managing multiple ships | Mentioned By: maximus",
      "messageCount": 60,
      "userCount": 13
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Discord Chat Analysis for 🪙│hyper Channel\n\n## 1. Summary\nThe chat primarily revolves around Hyperfy's token ($HYPER) and platform development plans. Ashxn shared that beyond building their engine, they're developing a platform at hyperfy.xyz that will utilize the $HYPER token for characters, emotes, vehicles, and agents. They're also planning to build games and experiences with HYPER as part of the ecosystem, allowing others to create and publish content on the platform. There was discussion about a fake Hyperfy token on Base blockchain, which Ashxn confirmed was not official. \n\nTechnical discussions included Ricky mentioning challenges with the gizmo tool for rotating and scaling assets when building modular assets in Hyperfy. Maximus acknowledged this as a known issue requiring core changes. Saori suggested using Portal Bridge for bridging HYPER tokens without code.\n\nA significant portion of the chat involved trading discussions, with users sharing experiences about trading strategies, platforms like Hyperliquid, and market conditions. Several users discussed the differences between centralized and decentralized exchanges, particularly focusing on Hyperliquid's unique position as a platform with CEX-like features but some blockchain integration.\n\n## 2. FAQ\nQ: Is hyperfy.base.eth (0xaEebfCB6f29ffE3EA4f8875441060E52c63d5885) the official team? (asked by Ricky) A: Nah (answered by Ashxn)\nQ: What are the plans for the $HYPER token beyond what's outlined at token.hyperfy.xyz? (asked by Ricky) A: The token will be used for characters, emotes, vehicles, agents, in-world upgrades, passes, etc. on the hyperfy.xyz platform (answered by Ashxn)\nQ: How can I bridge HYPER tokens? (asked by Saori) A: You can use Portal Bridge's advanced tools at portalbridge.com/advanced-tools/#/register with no code (answered by Saori)\nQ: Do any of y'all live off trading? (asked by devilsadvocate.sol) A: I quit my job with $20k in Jan 2021 and have been supporting myself through trading (answered by Saori)\n\n## 3. Help Interactions\nHelper: maximus | Helpee: Ricky | Context: Ricky mentioned issues with manually moving assets in Hyperfy, specifically with the gizmo tool for rotation and scaling | Resolution: maximus acknowledged it as a known issue requiring core changes and suggested documenting specific needs in the feature-requests channel\nHelper: Saori | Helpee: Channel members | Context: How to bridge HYPER tokens | Resolution: Shared a link to Portal Bridge's advanced tools that allows bridging without code\n\n## 4. Action Items\nType: Technical | Description: Improve the gizmo tool for rotating, scaling, and manipulating assets in Hyperfy | Mentioned By: Ricky\nType: Feature | Description: Implement AI capabilities for characters/agents in the Hyperfy marketplace | Mentioned By: Ricky\nType: Technical | Description: Build out the platform at hyperfy.xyz that utilizes $HYPER token for characters, emotes, vehicles, agents | Mentioned By: Ashxn\nType: Feature | Description: Create games and experiences with HYPER as part of the ecosystem | Mentioned By: Ashxn\nType: Feature | Description: Allow others to create and publish games, experiences, characters and items on the platform | Mentioned By: Ashxn\nType: Technical | Description: Bridge HYPER to Base blockchain | Mentioned By: Saori",
      "messageCount": 142,
      "userCount": 13
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis for 🧊│3d-design Channel\n\n## 1. Summary\nThe discussion centers on issues with Blender 4.3, specifically regarding backface culling problems that cause \"funky x-ray surfaces.\" A user reported downgrading to an earlier Blender version to resolve export issues. The conversation highlights that while newer Blender versions (4.3+) introduce beneficial features like WebP texture compression support in the GLTF exporter, they also come with interface changes and potential rendering problems. One user suggested specific solutions for transparency issues in 4.3, recommending turning off transparency overlap and switching from dithered to blended in material settings, noting that some items require the reverse configuration. Despite the challenges, there's encouragement to use Blender 4.3 for compatibility with Hyperfy tools.\n\n## 2. FAQ\nQ: Does anyone have tips for backface culling issues (funky x-ray surfaces) w/ Blender 4.3? (asked by untitled, xyz) A: I've noticed turning off the transparency overlapp and swapping from dithered to blended helped in material settings. Some items that is reversed for it to work normal. (answered by drdoge.eth)\nQ: Why upgrade to Blender 4+? (asked by Ashxn) A: Because gltf exporter supports webp textures which are super compressed (answered by Ashxn)\n\n## 3. Help Interactions\nHelper: drdoge.eth | Helpee: untitled, xyz | Context: Backface culling issues in Blender 4.3 causing x-ray surfaces | Resolution: Suggested turning off transparency overlap and switching from dithered to blended in material settings, noting some items need the reverse configuration\n\n## 4. Action Items\nTechnical: Investigate proper material settings for backface culling in Blender 4.3 | Description: Find consistent solutions for transparency rendering issues | Mentioned By: untitled, xyz\nFeature: Utilize WebP texture compression in Blender 4+ | Description: Take advantage of the GLTF exporter's support for compressed WebP textures | Mentioned By: Ashxn\nTechnical: Test compatibility with Hyperfy tools in Blender 4.3 | Description: Verify workflow integration with Hyperfy-specific features | Mentioned By: drdoge.eth",
      "messageCount": 8,
      "userCount": 6
    },
    {
      "channelId": "1022421054582423562",
      "channelName": "🐞│issues",
      "summary": "# Analysis of Discord Chat in 🐞│issues Channel\n\n## 1. Summary\nThe discussion primarily focused on UI improvements for the code editor and settings interface. General hyper proposed adding a save button to the code window, which received support from Saori and ash, who suggested enhancing it to highlight unsaved changes. The conversation expanded to include autosave functionality, with 0mka recommending this feature be implemented across the entire platform, not just the code editor. \n\nThe participants explored implementation options including chat commands for triggering saves and modifying environment variables. They discussed whether such changes would require server reloads, with 0mka clarifying that saves shouldn't necessitate reloads since the state would already be updated.\n\nThe conversation evolved into broader UI enhancement ideas, including a dedicated admin settings panel that could be accessed through an additional tab in the existing settings interface. 0mka and general hyper also discussed improvements to the app window, such as adding tabs for better organization and making the window resizable to improve visibility of properties that currently require scrolling.\n\n## 2. FAQ\nQ: Would changing autosave settings need a server reload to take effect? (asked by general hyper) A: No (answered by 0mka)\nQ: Do we have a settings pane like v1 did yet? (asked by general hyper) A: Current settings is more player focused (answered by 0mka)\n\n## 3. Help Interactions\nHelper: ash | Helpee: general hyper | Context: Implementation guidance for save button feature | Resolution: Suggested placing it next to X and highlighting on unsaved changes\nHelper: 0mka | Helpee: general hyper | Context: Clarification about whether save operations require server reload | Resolution: Confirmed no reload needed as state would already be updated\n\n## 4. Action Items\nType: Feature | Description: Add save button at the top of code window | Mentioned By: general hyper\nType: Feature | Description: Make save button highlight on unsaved changes | Mentioned By: ash\nType: Feature | Description: Implement autosave toggle functionality | Mentioned By: Pete\nType: Feature | Description: Extend autosave to entire platform, not just code editor | Mentioned By: 0mka\nType: Feature | Description: Create chat commands for editing environment variables | Mentioned By: general hyper\nType: Feature | Description: Add admin settings panel/tab | Mentioned By: general hyper\nType: Feature | Description: Make app window resizable | Mentioned By: general hyper\nType: Feature | Description: Add tabs in app window for better organization | Mentioned By: 0mka\nType: Feature | Description: Allow horizontal layout for short answers like numbers | Mentioned By: 0mka\nType: Documentation | Description: Create feature issue to document UI improvement ideas | Mentioned By: general hyper",
      "messageCount": 47,
      "userCount": 6
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "# Discord Chat Analysis for 🎨│showcase\n\n## 1. Summary\nThe chat primarily focuses on technical discussions around snap points for road components in what appears to be a 3D environment. TheMattEmpire and general hyper discussed optimizing snap points for road pieces, with general hyper suggesting a simplified approach with just 4 main snaps and 2 accessory snaps for items like lamp posts. TheMattEmpire expressed concerns about potential issues with unintended snapping but agreed to revise the design.\n\nOther technical updates shared in the channel include: szjanko's progress on a marketplace feature with downloads charts, views, and reviews sections; MayD524's update to hyper pets to use modules with a GitHub link; Shiffty's standardization of UX for Launch Party with \"interact to Equip, Q to unequip\"; and TheMattEmpire's addition of a pit lane feature, requesting feedback on realism.\n\nThe conversation demonstrates collaborative problem-solving around snap point optimization and showcases various independent development efforts across different projects within the community.\n\n## 2. FAQ\nQ: Would having too many snap points make it harder to snap to the desired one? (asked by TheMattEmpire) A: Yes, general hyper suggested a simplified approach with just 4 main snaps and 2 accessory snaps (answered by general hyper)\nQ: Are the middle and top/bottom edge snap points necessary? (asked by general hyper) A: TheMattEmpire explained those are for supports (arches/pillars) and stacking (answered by TheMattEmpire)\nQ: Would accessory snaps cause issues with unintended snapping? (asked by TheMattEmpire) A: Unanswered\n\n## 3. Help Interactions\nHelper: general hyper | Helpee: TheMattEmpire | Context: Optimizing snap points for road components | Resolution: Suggested a simplified approach with 4 main snaps and 2 accessory snaps, with visual reference\nHelper: TheMattEmpire | Helpee: general hyper | Context: Updating road paths with fewer snap points | Resolution: Removed extra snap points that were causing issues, making them easier to use\n\n## 4. Action Items\nType: Technical | Description: Revise road components with simplified snap points based on feedback | Mentioned By: TheMattEmpire\nType: Technical | Description: Complete marketplace development with real data for downloads, views and reviews | Mentioned By: szjanko - HyperWorld.Host\nType: Technical | Description: Add realistic elements to pit lane (garage building, fencing) | Mentioned By: TheMattEmpire\nType: Feature | Description: Add accessory snaps for lamp posts, fire hydrants on road components | Mentioned By: general hyper",
      "messageCount": 25,
      "userCount": 5
    },
    {
      "channelId": "999870741069692958",
      "channelName": "🌆│share",
      "summary": "The chat segment is extremely brief, containing only two messages. Rick shared a tweet from user basilda_a, and ash asked if anyone had anything to add to the shared content. There is no technical discussion, problem-solving, or implementation details in this exchange. The content of the tweet is not specified in the transcript, making it impossible to determine what technical topic, if any, was being referenced.",
      "messageCount": 2,
      "userCount": 2
    }
  ]
}