开源
immers:在元宇宙中构建 WebXR 项目
来源:元经纪     阅读:876
网站管理员
发布于 2023-04-08 07:45
查看主页

概述

联合社交媒体服务器用于虚拟世界.将您的 WebXR 项目连接到元宇宙世界。将联合社交功能添加到任何沉浸式 Web 项目的微服务。

开始使用

  1. [hidecontent type="logged" desc="隐藏内容:登录后可查看"]

    1. 使用immers-app 模板启动你的 Immers 服务器
    2. immers-client添加到您的 WebXR 项目以连接到它
    3. 加入我们的 Matrix 社区寻求帮助和讨论
    4. 加入我们的平台合作社来指导项目的未来

    我们为 immers 提供了一个Docker Hub 镜像immers-app 存储库包含 docker-compose 配置、配置脚本和各种设置的部署说明。如果您更喜欢在没有 docker 的情况下运行 immers,它可以像任何其他 NodeJS 和 MongoDB 应用程序一样部署。

    如果与 Hubs Cloud 一起使用,但不使用我们的 docker 配置和 Hubs 部署程序, 请参阅手动 Hubs Cloud 配置部分。

    API访问

    大多数 API 访问将通过沉浸式网站上的immers-client库完成 ,但 immers 服务器还会尝试解析您的domain选项以在 apex 域上设置登录会话 cookie,以便它可以在 CORS 请求中使用。只要您的沉浸式服务器和沉浸式网站位于相同的顶级域中,例如 immers.space 和 hub.immers.space,那么您就可以使用credentials: 'include'fetch 选项发出经过身份验证的请求。

    为以前登录的用户恢复会话:

    let user
    const token = await fetch('https://your.immer/auth/token', { method: 'POST', credentials: 'include' })
        .then(res => {
            if (!res.ok) {
                // 401 if not logged in
                return undefined
            }
            return res.text()
        })
    if (token) {
        user = await window.fetch(`https://your.immer/auth/me`, {
        headers: {
          Accept: 'application/activity+json',
          Authorization: `Bearer ${token}`
        }
      }).then(res => res.json());
    }

    注销会话而无需导航到 immers 个人资料页面:

    fetch('https://your.immer/auth/logout', { method: 'POST', credentials: 'include' })

    受控账户

            如果您有一个现有的用户帐户系统,您可能不希望为沉浸式功能创建另一个帐户来打扰用户。在这种情况下,您可以设置一个具有创建用户、以他们身份登录并代表他们执行操作的完全权限的服务帐户。

    受控账户文件

    手动集线器云配置

    如果您使用我们的 docker Hubs 部署程序,则不需要这些步骤。如果不是,则需要在 Hubs Cloud admin -> setup -> server settings -> advanced 中添加以下内容

    • 额外房间标头 HTML:(<meta name="env:immers_server" content="https://your.immers.server"> 用您的沉浸式服务器 URL 替换内容中的值)
    • 额外内容安全策略 connect-src 规则:(https: wss: 允许 API 和流连接到远程用户主实例)
    • 允许的 CORS 来源:(* 用于头像共享的临时措施 cross-hub)

    本地开发

    沉浸

    • 克隆并安装 immers
    git clone https://github.com/immers-space/immers.git
    cd immers
    npm ci
    

    集线器

    • 克隆并安装我们的 fork -推荐 Node 16 / NPM >=8
    git clone https://github.com/immers-space/hubs.git
    cd hubs
    git checkout immers-integration
    npm ci
    
    • npm run dev使用(使用集线器开发网络服务器)或npm run start(连接到集线器云网络服务器)运行集线器。
    • 访问您 immer https://localhost:8081,批准证书例外,自动转发到您的 hub https://localhost:8080,批准另一个证书例外,创建一个房间,您将被重定向到登录或注册您的 immer。

    默认 immers 服务器是,用hubs repo 根文件夹文件中的https://localhost:8081条目覆盖。IMMERS_SERVER.env

    如果运行本地集线器,请添加一个.env带有HOST_IP=localhost.

    如果在 immers 服务器 Web 客户端上工作,请同时运行npm run dev:client两者。npm run dev:server

    创建新版本

    1. 更新CHANGELOG.md- 使用新版本的版本和日期将顶部标题从“未发布”更新为“vx.xx (yyyy-mm-dd)”
    2. 更新包版本:npm version [patch|minor|major]
    3. 构建新的 docker 镜像:npm run build:image
    4. 登录到 docker hub:(docker login -u your_user_name如果需要)
    5. 发布新的 docker 镜像:npm run publish:image
    6. 同步标签到github:git push --follow-tags
    7. 剪切一个 github 版本并自动生成注释

    [/hidecontent]

     
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
国人无语!韩国获批饺子外形专利:中餐馆卖饺子或将侵权
荣耀Magic Vs3跑分出炉:搭载骁龙8 Gen2 售价杀入7000元内
AI科技体验展,带你领略黑科技的“神奇”与“好奇”
Dratini:一个网络抽象层
“蜀中桃子姐”:做品牌比赚快钱更重要

首页

分类

定制方案

消息

我的