{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-02-04",
  "date": 1738627200,
  "stats": {
    "totalMessages": 1066,
    "totalUsers": 65
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Discord Chat Analysis\n\n## 1. Summary\nThe discussion primarily revolves around Hyperfy V2 development, focusing on app sharing, UI/UX improvements, and technical implementations. A significant breakthrough is the new app download functionality that allows developers to share apps with each other. Ashxn developed an app inspection window that enables downloading, remixing, and viewing app details. Developers discussed control systems, with many preferring V1's pointer lock and reticle for gaming experiences over V2's current implementation. Technical questions about accessing player position, camera controls, and raycasting were addressed. The community also discussed app security concerns, particularly regarding API keys and secrets management. There were implementation challenges with Docker builds related to npm dependency conflicts and version checking that were subsequently fixed. UI improvements for the app inspector were iteratively designed with community feedback, showing a collaborative development process.\n\n## 2. FAQ\nQ: If I wanted to add custom metadata to an object, what would be the best way to do this? (asked by MetaMike) A: Use world.emit(\"event name\", data) and world.on(\"event name\", (data) => {}) for server-to-server communication, then app.send/app.on for client communication (answered by Saori)\nQ: How can you 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: Can I access the main camera (specifically forward direction) and can I raycast through the API? (asked by Shiffty) A: You can access the camera using app.control({}) and get direction with vector calculations; raycasting will be possible but hooks aren't added yet (answered by Ashxn)\nQ: What would be the best way for sharing apps? (asked by Saori) A: Add an option for world owners to make apps right-click downloadable by anyone (answered by Ashxn)\nQ: Are there docs written somewhere for app.configure stuff? (asked by m₂) A: Yes, it's new: https://github.com/hyperfy-xyz/hyperfy/blob/dev/docs/ref/Props.md (answered by Ashxn)\nQ: Is there a security risk where an app could get access to another app's secrets? (asked by devilsadvocate.sol) A: Don't think so, apps can't communicate with each other by default (answered by Saori)\n\n## 3. Help Interactions\nHelper: Saori | Helpee: MetaMike | Context: Needed to share data between apps | Resolution: Explained using world.emit/world.on for server-to-server and app.send/app.on for client communication\nHelper: Ashxn | Helpee: Shiffty | Context: Accessing camera and forward direction | Resolution: Provided code example using app.control({}) and vector calculations\nHelper: Ashxn | Helpee: m₂ | Context: App parameters not showing in UI | Resolution: Identified incorrect parameter types (using 'tags' and 'image' instead of 'text')\nHelper: Ashxn | Helpee: ᲼ | Context: Docker build failing with npm dependency conflicts | Resolution: Fixed by reverting version checking and resolving npm package conflicts\nHelper: Ashxn | Helpee: Shiffty | Context: Camera quaternion always returning [0,0,0,1] | Resolution: Explained that app.control is primarily for controlling camera, not reading from it\n\n## 4. Action Items\nType: Technical | Description: Implement separate build mode and play mode with configurable controllers per world | Mentioned By: Saori\nType: Technical | Description: Add raycasting functionality through world.raycast(origin, direction) | Mentioned By: Ashxn\nType: Technical | Description: Implement secrets management for API keys that are only visible on the server | Mentioned By: Ashxn\nType: Technical | Description: Fix npm dependency conflicts with postprocessing and Three.js versions | Mentioned By: ᲼\nType: Feature | Description: Create a system for sharing apps between developers | Mentioned By: Saori\nType: Feature | Description: Add ability to customize player animation sets | Mentioned By: TheMattEmpire\nType: Feature | Description: Implement in-world shops with cryptocurrency payment options | Mentioned By: Ashxn\nType: Documentation | Description: Document app.control() functionality for camera access | Mentioned By: Ashxn\nType: Documentation | Description: Create documentation for app sharing and downloading | Mentioned By: Ashxn",
      "messageCount": 359,
      "userCount": 23
    },
    {
      "channelId": "1330373197203505185",
      "channelName": "🤖│agents",
      "summary": "# Discord Chat Analysis for \"🤖│agents\" Channel\n\n## 1. Summary:\nThe discussion centers on implementing and testing AI agents in Hyperfy. MetaMike shared progress on a behavior tree implementation that integrates animations with LLM responses, allowing NPCs to react to player proximity with different behaviors (rotation, emotes, and conversation). The system uses distance-based triggers: rotating toward players at <10m, running emotes between 5-0m, and executing Eliza API calls between 0-2m. HPrivakos provided working endpoints for testing agents without local setup. The conversation also covered how emote expressions are triggered through the Eliza API, where the LLM selects appropriate emotes based on response content. MetaMike documented the implementation in a HackMD document for others to examine. SoloSolipsist introduced their Memotar project for creating agent personas, showing interest in potential integration with Hyperfy.\n\n## 2. FAQ:\nQ: How can we trigger the expressions within the eliza hyperfy branch? (asked by MetaMike) A: The app has that hooked up already. Each time a request is sent to eliza it has all emotes and asks it to pick one or none. (answered by Saori)\nQ: How do we in theory receive a different emote? (asked by MetaMike) A: It takes the emotes you defined in the fields of the app and sends it in the info object each time it 'notifies' eliza. (answered by Saori)\nQ: Can you confirm the url you're using? (asked by MetaMike) A: The hyp file has a wrong url for the model, use this in URL: https://agents.dcl.guru/eliza/hyperfy (answered by HPrivakos)\n\n## 3. Help Interactions:\nHelper: HPrivakos | Helpee: MetaMike | Context: MetaMike couldn't access the agent endpoints | Resolution: HPrivakos provided the correct URLs (https://agents.dcl.guru/hprivakos/hyperfy and https://agents.dcl.guru/eliza/hyperfy)\nHelper: Saori | Helpee: MetaMike | Context: MetaMike needed to understand how emote expressions work with Eliza | Resolution: Saori explained that Eliza selects appropriate emotes based on the response content from options defined in the app\nHelper: HPrivakos | Helpee: MetaMike | Context: MetaMike had issues with the hyp file | Resolution: HPrivakos explained the URL field needed to be changed in the app to make it work\n\n## 4. Action Items:\nTechnical: Implement a way to activate animation tracks separate from emotes for talking mouth animations | Mentioned By: MetaRick\nTechnical: Fix the echo issue in the behavior tree implementation with animations and LLM | Mentioned By: MetaMike\nDocumentation: Continue developing the FSM, behavior trees and GOAP implementation guide | Mentioned By: MetaMike\nFeature: Explore integration possibilities between Memotar persona layer and Hyperfy agents | Mentioned By: SoloSolipsist",
      "messageCount": 63,
      "userCount": 8
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Analysis of Discord Chat in \"⚡│general\" Channel\n\n## 1. Summary\nThe chat primarily revolves around Hyperfy V2 development, interoperability challenges in the metaverse, and community building efforts. Key technical discussions include:\n\n- Nifty Island's VRM NFT format compatibility issues with Hyperfy, highlighting interoperability challenges when platforms use centralized servers rather than decentralized storage. Users discovered Nifty Island recently added a feature allowing NFT minters to make metadata public.\n\n- Hyperfy's ecosystem vision was outlined by Ashxn: developers make cores, artists create collectables from cores, and consumers use these to build worlds without coding skills.\n\n- The development of a \"beacon\" tool by m₂ that allows worlds to be listed on relay.zesty.xyz alongside other Hyperfy worlds and spatial apps.\n\n- Discussion of Hyperfy's app-based architecture that allows objects to be extracted from one world and used in another, which participants noted is unique among platforms.\n\n- Ongoing development of documentation at hyperfy.how to improve onboarding for new users.\n\n- Developer huddle meetings covering app upload/download functionality, UI improvements, app sharing methods, and game mechanics.\n\n## 2. FAQ\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 from the public chain (answered by maximus)\nQ: How easy is it to create a nifty like asset generator for hyperfy? (asked by N1Kingz/HCK1) A: Hyperfy is working on this, but the engine is open with tooling for people to build themselves. VRMs and GLB models are interoperable (answered by Ashxn)\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 prevent users from downloading their data (answered by ToxSam and maximus)\nQ: Is there a brand assets repo/source somewhere? (asked by m₂) A: Yes, 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 provided logo files and 3D GLB assets (answered by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)\nQ: What other engines/platforms/games allow creators to build fully custom interactive objects that can be moved between worlds? (asked by Ashxn) A: Unanswered\n\n## 3. Help Interactions\nHelper: maximus | Helpee: N1Kingz/HCK1 | Context: User couldn't load VRM NFT from Nifty Island in Hyperfy | Resolution: Explained the issue was due to Nifty's token-gating of VRM files\nHelper: MetaMike | Helpee: N1Kingz/HCK1 | Context: Looking for avatar creation tools | Resolution: Shared link to Character Studio GitHub repository\nHelper: maximus | Helpee: Paradoxx | Context: Extracting objects from Hyperfy V1 | Resolution: Shared guide for extracting objects from V1 to Blender\nHelper: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 | Helpee: m₂ | Context: Needed Hyperfy logo assets | Resolution: Provided logo files and 3D GLB assets\nHelper: maximus | Helpee: Community | Context: Developer huddle information | Resolution: Shared recording link and summary of topics covered\n\n## 4. Action Items\nType: Technical | Description: Develop a UI for Hyperfy docs similar to Eliza.gg with caveat of hallucination potential | Mentioned By: MetaMike\nType: Technical | Description: Implement seamless transfers between hosting services for world data | Mentioned By: maximus\nType: Technical | Description: Complete the car/vehicle functionality in V2 | Mentioned By: maximus\nType: Documentation | Description: Complete onboarding docs for non-developers in community documentation | Mentioned By: Paradoxx\nType: Documentation | Description: Migrate GitHub docs to hyperfy.how for easier reading | Mentioned By: devilsadvocate.sol\nType: Feature | Description: Establish official guidelines for hosting services regarding user data portability | Mentioned By: maximus\nType: Feature | Description: Consider consolidating two weekly dev calls into one with core updates followed by community sharing | Mentioned By: Ashxn\nType: Feature | Description: Improve the V2 UI, particularly the apps search list which was mentioned as missing from V1 | Mentioned By: Paradoxx",
      "messageCount": 205,
      "userCount": 33
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "# Analysis of 🪙│hyper Discord Channel\n\n## 1. Summary\nThe discussion primarily focused on Hyperfy token (HYPER) trading, price movements, and potential cross-chain expansion. Key technical conversations centered around creating a wormhole bridge to bring HYPER to Ethereum. Saori and devilsadvocate.sol discussed the technical and financial requirements for establishing liquidity on Ethereum, noting that approximately 10% of the total supply (equivalent to about $220K at current valuation) would be needed to create a balanced liquidity pool. They explored alternatives like starting with a smaller pool (~$40K) and letting arbitrage traders build it up. The conversation highlighted concerns about potential price impact from adding significant supply to circulation at once. There was also discussion about Hyperfy V2, described as the open-source version of the platform, with mentions of an in-development branch that will allow connecting Solana wallets. Community members tracked HYPER's price movements, which showed volatility with a 31-36% drop during the period, while noting that support levels appeared to be moving upward despite the decline.\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 happened today with $hyperfy? (asked by BallisticBanana) A: Normal swing. Looks like we moved the bottom support up though (answered by devilsadvocate.sol)\nQ: What's with the tickers today? (asked by Jona) A: Unanswered\nQ: Are we just spamming random coins? (asked by Jona) A: I think a speculative community is helpful, that perspective is important (answered by Saori)\nQ: Is wormhole just wrapped token? (asked by devilsadvocate.sol) A: Ye (answered by Saori)\nQ: Are you guys talking about a hyper eth bridge? (asked by merk) A: Unanswered\nQ: What is the purpose of the address holding 30% of total supply? (asked by Alexa) A: It's explained in the tokenomics page at token.hyperfy.xyz (answered by Uuuuuuuuu and maximus)\nQ: Do we have some kind of tokenomics plan coming? (asked by DannyNOR NoFapArc) A: Ya (answered by Saori)\n\n## 3. Help Interactions\nHelper: Uuuuuuuuu | Helpee: Alexa | Context: Question about an address holding 30% of total supply | Resolution: Provided link to token.hyperfy.xyz explaining tokenomics\nHelper: maximus | Helpee: Alexa | Context: Question about large token holdings | Resolution: Directed to FAQ with additional information\nHelper: devilsadvocate.sol | Helpee: jar0d | Context: Holding price support during night hours | Resolution: Committed to \"holding the line\" during night shift\nHelper: Saori | Helpee: devilsadvocate.sol | Context: Explaining liquidity pool mechanics for cross-chain expansion | Resolution: Detailed explanation of how initial token/native currency ratios determine valuation\n\n## 4. Action Items\nType: Technical | Description: Develop Solana wallet connection for Hyperfy V2 | Mentioned By: devilsadvocate.sol\nType: Technical | Description: Explore wormhole bridge implementation to bring HYPER to Ethereum | Mentioned By: Saori\nType: Technical | Description: Investigate SOL coin redemptions for missions in Hyperfy | Mentioned By: FortyMcNiner\nType: Feature | Description: Create a dedicated FAQ channel for easier access to information | Mentioned By: Ashxn\nType: Documentation | Description: Publish tokenomics plan | Mentioned By: DannyNOR NoFapArc\nType: Feature | Description: Consider implementing staking mechanism for commercial entity licensing | Mentioned By: devilsadvocate.sol",
      "messageCount": 272,
      "userCount": 28
    },
    {
      "channelId": "1031058655581323324",
      "channelName": "🧊│3d-design",
      "summary": "# Discord Chat Analysis for 🧊│3d-design Channel\n\n## 1. Summary:\nThe chat primarily focused on 3D modeling and rigging challenges, particularly with Mixamo and Blender workflows. FortyMcNiner described an issue where models \"lurch\" forward on the y-axis when switching between edit and object modes after Mixamo rigging, making it difficult to add interchangeable items. Community members suggested alternative approaches including using AutoRigPro, resetting the rest pose, or trying Accurig. There was also discussion about Meshy as a source for CC0 assets and avatars that could be converted to VRMs. Other topics included Hyperfy platform usage, with untitled, xyz offering to help with scene experimentation while mentioning that a no-code version (Hyperfy V2) is coming soon. The chat also contained brief mentions of various 3D models and testing interior designs.\n\n## 2. FAQ:\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: Look into resetting the 'rest pose' or try alternative rigging methods like AutoRigPro or Accurig (answered by TheMattEmpire and Ashxn)\nQ: When is Hyperfy no-code version expected? (asked by vlad) A: No exact date, but it's \"right around the corner\" - keep an eye on announcements (answered by untitled, xyz)\n\n## 3. Help Interactions:\nHelper: TheMattEmpire | Helpee: FortyMcNiner | Context: Model positioning issues after Mixamo rigging in Blender | Resolution: Suggested resetting the rest pose and later recommended Accurig as an alternative rigging approach\nHelper: maximus | Helpee: FortyMcNiner | Context: Needed documentation for rigging workflow | Resolution: Shared links to previous discussions and tutorials in Discord channels\nHelper: untitled, xyz | Helpee: vlad | Context: User wanted to learn about Hyperfy platform | Resolution: Offered to lend a blank Hyperfy scene for experimentation and mentioned upcoming no-code version\n\n## 4. Action Items:\nTechnical: Try resetting the rest pose in Blender to fix model positioning issues after Mixamo rigging | Mentioned By: TheMattEmpire\nTechnical: Consider using AutoRigPro or Accurig instead of Mixamo for better rigging results | Mentioned By: Ashxn and TheMattEmpire\nTechnical: Finalize model before rigging to avoid issues with interchangeable parts | Mentioned By: FortyMcNiner\nFeature: Convert Meshy CC0 assets to VRMs for broader use | Mentioned By: devilsadvocate.sol\nDocumentation: Create documentation for Mixamo to Blender workflow | Mentioned By: Ashxn",
      "messageCount": 44,
      "userCount": 15
    },
    {
      "channelId": "1332108186676891649",
      "channelName": "🏗│infra",
      "summary": "# Discord Chat Analysis: 🏗│infra\n\n## 1. Summary\nThe discussion centers around hosting and deploying Hyperfy worlds on various infrastructure platforms. Raymond is developing a \"hyperfy-deployer\" tool to simplify deployment on Linux servers with automatic setup of SSL, nginx, and other requirements. He shared his GitHub repository and demonstrated a test deployment on depinned.io, though encountered some issues with the final rendering. \n\nThe conversation also explored scaling solutions, particularly \"scale to zero\" approaches using MicroVMs/Firecracker (as used by AWS and Fly.io) that can spin up instances in under 200ms when needed and shut down when inactive. HypPrivakos confirmed Docker Swarm works for Hyperworld.host. The group discussed the challenge of port scanners and crawler bots potentially defeating the purpose of scaling to zero by triggering unnecessary instance startups.\n\nA community-maintained document for world hosting was shared, containing tips and knowledge gathered from the community. The discussion highlighted the importance of security when running scripts from unknown sources, with Raymond recommending using VMs for testing his deployment tool.\n\n## 2. FAQ\nQ: Why did you use swap in the hyperfy-deployer? (asked by ash) A: Unanswered\nQ: What's the spin up time like for MicroVM/Firecracker? (asked by general hyper) A: They can start the app in less than 200ms rather than a couple seconds with docker containers (answered by HypPrivakos - HyperWorld.Host)\nQ: Isn't this what robots.txt is for? (asked by general hyper) A: Yeah nobody follows those, maybe official crawlers do, port scanners don't give a f*** (answered by ash)\n\n## 3. Help Interactions\nHelper: maximus | Helpee: Raymond | Context: Shared a work-in-progress document detailing tips/knowledge for world hosting | Resolution: Raymond confirmed it was exactly what he was looking for\nHelper: ash | Helpee: Raymond | Context: Troubleshooting black screen issue with Hyperfy deployment | Resolution: Suggested it might be SSL or Nginx related\nHelper: HypPrivakos - HyperWorld.Host | Helpee: ash | Context: Investigating why /status shows \"protected\" for a free-for-all world | Resolution: Identified potential cause in the code where admin code process env might return empty string instead of undefined\n\n## 4. Action Items\nType: Technical | Description: Fix the build.mjs error in hyperfy-deployer | Mentioned By: Raymond\nType: Technical | Description: Investigate and fix black screen issue with deployed Hyperfy instance | Mentioned By: Raymond\nType: Technical | Description: Create SSL certificate auto-renewal for hyperfy-deployer | Mentioned By: Raymond\nType: Technical | Description: Fix /status endpoint showing incorrect protection status | Mentioned By: HypPrivakos - HyperWorld.Host\nType: Documentation | Description: Write README for hyperfy-deployer | Mentioned By: Raymond\nType: Documentation | Description: Add security and safety section to builder on-boarding | Mentioned By: maximus\nType: Feature | Description: Implement compute distribution when not in use | Mentioned By: Raymond\nType: Feature | Description: Develop solution to prevent crawler bots from unnecessarily waking up scaled-to-zero instances | Mentioned By: ash",
      "messageCount": 119,
      "userCount": 6
    },
    {
      "channelId": "999870741069692958",
      "channelName": "🌆│share",
      "summary": "The chat segment is extremely brief, containing only three messages. Maximus shared that a user named \"vox\" created outros for social media platforms. Maximus indicated they shared 10 out of 14 outros in their first message, then mentioned the remaining outros plus a zip file containing all of them in their second message. A user named \"ash\" responded positively, saying the outros were \"so good.\" There is no technical discussion, problem-solving, or implementation details in this brief exchange.",
      "messageCount": 3,
      "userCount": 2
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "The chat segment is extremely brief, containing only a single message from user \"Zen\" asking about a refund and subscription cancellation for something called \"World\" that appears to still be running. There is insufficient information to determine the technical context, specific decisions, or problem-solving approaches from this limited exchange.",
      "messageCount": 1,
      "userCount": 1
    }
  ]
}