开源
xr3ngine:虚拟空间中托管人类和 AI 的端到端解决方案
来源:元经纪     阅读:999
网站管理员
发布于 2023-02-07 02:52
查看主页

概述

一种在虚拟空间中托管人类和 AI 的端到端解决方案,构建于 React、three.js 和 express/feathers 之上。

这个 repo 包括一个功能齐全的客户端、API 服务器、实时游戏服务器、游戏引擎和用于可扩展部署的 devops。选择您需要的或部署整个堆栈并开始在其上构建您的应用程序。

重要功能

播放器装备支持 2D、3D 和 XR 交互

高性能ECS引擎

功能齐全的世界编辑器

完全联网的播放器控制器、物理、车辆和粒子

完全面向数据的设计

聊天、群组、派对和好友

WebRTC 上的语音和视频

使用电话号码或电子邮件即时登录

使用 Facebook、Google、Steam 和 Github 进行 OAuth 登录

用户管理、头像和库存

权威实时游戏服务器

使用 socket.io 进行可靠的消息传递和信号发送

使用 SCTP 数据通道进行快速、不可靠的消息传递

在 Typescript 中端到端构建

免费、开源、MIT 许可

入门

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

启动和运行只需要几个步骤。支持 OSX / Linux / WSL2 for Windows

首先,确保您安装了NodeJS和npm(如果您正在使用它,请安装docker)。

  1. 安装你的依赖

    cd path/to/xr3ngine
    yarn install
    

    mediasoup 出错?可选:https ://mediasoup.org/documentation/v3/mediasoup/installation/ 如果在 WSL2 上: sudo apt-get update ; sudo apt-get install build-essential

  2. 确保安装并运行了 mysql 数据库——我们推荐使用 Mariadb。我们提供了一个 docker 容器以便于设置:

    cd scripts && sudo bash start-db.sh
    

    这将创建一个名为 xr3ngine_db 的 mariadb 的 Docker 容器。您的机器上必须安装 docker 才能运行此脚本。如果您没有安装 Docker 并且不想安装它,则必须手动创建一个 MariaDB 服务器。

    默认用户名是“server”,默认密码是“password”,默认数据库名称是“xr3ngine”,默认主机名是“127.0.0.1”,默认端口是“3306”。

  3. 打开一个新选项卡并以本地模式启动 Agones sidecar

    cd scripts
    sudo bash start-agones.sh
    

    您还可以转到 vendor/agones/ 并运行

    ./sdk-server.linux.amd64 --local

    如果您使用的是 Windows 机器,请运行

    sdk-server.windows.amd64.exe --local

    对于 Mac,运行

    ./sdk-server.darwin.amd64 --local

  4. 获取带有配置变量的 .env.local 文件。XR3ngine 的许多部分都使用环境变量进行配置。为简单起见,建议您.env.local在 xr3ngine 的顶层创建一个名为的文件,并将所有 ENV_VAR 定义保存在<VAR_NAME>=<VALUE>. 如果您正在积极从事此项目,请联系其中一位开发人员以获取包含所有开发设置和密钥的文件副本。

  5. 以数据库种子模式启动服务器

    数据库中的多个表需要使用默认值作为种子。跑cd packages/server,然后跑yarn dev-reinit-db。几秒钟后,应该不会再有日志记录了。最后几行应该这样读: Executing (default): SELECT 'id', 'name', 'sceneId', 'locationSettingsId', 'slugifiedName', 'maxUsersPerInstance', 'createdAt', 'updatedAt' FROM 'location' AS 'location' WHERE ('location'.'id' = '98cbcc30-fd2d-11ea-bc7c-cd4cac9a8d61') AND 'location'.'id' IN ('98cbcc30-fd2d-11ea-bc7c-cd4cac9a8d61'); Seeded

    至此,数据库已经播种。您可以使用 CTRL+C 关闭服务器。

  6. 打开两个单独的选项卡并启动服务器(非播种)和客户端在 /packages/server 中,运行sudo yarn dev. 在另一个选项卡中,转到 /packages/client 并运行sudo yarn dev.

  7. 在浏览器中,导航至https://127.0.0.1:3000/location/home 数据库播种过程会创建一个名为“test”的测试空位置。可以通过转到“ https://127.0.0.1:3000/location/home ”导航到它。如果您在连接到客户端、API 或游戏服务器时遇到错误,请参阅以下有关无效证书的部分。

笔记

如果你在 Windows 上,你可以使用 docker-compose 来启动 scripts/docker-compose.yml 文件,或者安装 mariadb 并从 docker-compose 或 .env.local 复制登录/密码和数据库名称——你将需要使用匹配的名称创建数据库,但您不需要填充它

./start-db.sh 只需要运行一次。如果 docker 镜像已停止,请使用以下命令重新启动它:

    docker container start xr3ngine_db

OSX 数据库初始化

酿造安装mysql

mysql_secure_installation 服务器密码

mysql -uroot -ppassword mysql -userver -ppassword

创建数据库 xr3ngine;创建由“密码”标识的用户“服务器”@“127.0.0.1”;将 xr3ngine.* 上的所有内容授予 'server'@'127.0.0.1';

显示数据库;

mysql.server 启动 mysql.server 停止

故障排除

本地环境中的无效证书错误

在撰写本文时,xr3ngine 包中提供的供本地使用的证书未得到充分签名。浏览器将抛出有关转到不安全页面的警告。您应该能够告诉浏览器忽略它,通常是通过单击某种“高级选项”按钮或链接,然后单击“无论如何都去那里”。

Chrome 有时不会在警告中显示可点击的选项。如果是这样,只需在该页面上键入badideathisisunsafewhen。您无需将其输入地址栏或文本框,Chrome 只是被动地监听这些命令。

允许使用无效证书的游戏服务器地址连接

游戏服务器功能托管在本地环境中 127.0.0.1 以外的地址上。接受 127.0.0.1 的无效证书将不适用于此地址。同时按下打开 Chrome/Firefox 的开发控制台Ctrl+Shift+i,然后转到控制台或网络选项卡。

如果您看到有关无法连接到诸如 之类的错误https://192.168.0.81/socket.io/?location=<foobar>,请右键单击该 URL 并在新选项卡中将其打开。您应该再次收到有关无效证书的警告页面,并且您再次需要允许它。

AccessDenied 连接到 mariadb

确保您没有在端口 3306 上运行的另一个 mariadb 实例

    lsof -i :3306

在 Linux 上,您还可以检查是否有任何进程正在端口 3306 上运行 sudo netstat -utlp | grep 3306 最后一列应该看起来像<ID>/<something 您可以使用以下命令终止任何正在运行的进程sudo kill <ID>

错误:听 EADDRINUSE :::3030

检查哪个进程正在使用端口 3030 并杀死

    killall -9 node
OR
    lsof -i :3030
	kill -3 <proccessIDfromPreviousCommand>

'TypeError: 访问 /location/home 时无法读取未定义的属性 'position'

As of this writing, there's a bug with the default seeded test location.
Go to /editor/projects and open the 'Test' project. Save the project, and
the error should go away.

您的数据库有奇怪的问题?

尝试

yarn run dev-reinit-db // in server package

测试

只需运行即可运行目录yarn test中的所有测试test/

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
脑机接口有什么最新应用?2024脑机接口产业创新十大案例公布
济南市剑指全国元宇宙产业高地
蓝色预警发布!今年第4号台风派比安生成:最大10级阵风
摩尔线程万卡GPU与三大银行重磅合作!金融支持新型工业化
在数字创作营中迸发更多灵感,Ta们开启3天元宇宙创意之旅

首页

分类

定制方案

消息

我的