
soupbowl/opensimulatorOpenSimulator是一款开源的多平台、多用户3D应用服务器,可用于创建虚拟环境(或虚拟世界),并支持通过多种客户端和协议访问。本非官方Docker配置旨在简化服务器的测试和通用用途部署。注意:此镜像仍处于实验阶段,可能存在bug。
latest, 0.9, 0.9.3, 0.9.3.00.9.3-noscreen, 0.9.3.0-noscreen0.9.2, 0.9.2.20.9.2.1sourcealpine-beta0.9.3.0及以上版本使用.NET框架,由于已知bug(参见#9),镜像使用screen防止会话意外结束。0.9.2.2及以下版本使用Mono框架。
bashdocker run -it -d --name opensim -p 9000:9000 -p 9000:9000/udp soupbowl/opensimulator:latest
可通过以下环境变量自定义服务器设置:
GRID_NAME:定义网格名称GRID_WELCOME:登录屏幕显示的自定义消息REGION_NAME:定义区域名称ESTATE_NAME:定义庄园名称ESTATE_OWNER_NAME:庄园所有者名称(格式为"名 姓",同时创建登录账户)ESTATE_OWNER_PASSWORD:登录密码ESTATE_OWNER_UUID:自定义UUID(可选)ESTATE_OWNER_EMAIL:庄园所有者***DATABASE_ENGINE:数据库引擎(支持sqlite和mysql,默认为sqlite)MYSQL_SERVER、MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD:当DATABASE_ENGINE为mysql时的数据库连接参数PHYSICS_ENGINE:物理引擎(默认BulletSim,可选OpenDynamicsEngine、ubODE、basicphysics)服务器运行后,可通过localhost:9000连接。在Firestorm Viewer中,依次进入偏好设置→OpenSim→添加新网格,输入localhost:9000即可登录。
若未通过环境变量或自定义配置修改,默认登录用户名为Foo bar,密码为password。
环境变量仅覆盖部分常用设置,如需完整配置,可挂载自定义配置文件(建议设为只读)。工作目录为/opt/opensim/bin/,例如挂载自定义OpenSim.ini:
bash-v /path/to/local/OpenSim.ini:/opt/opensim/bin/OpenSim.ini:ro
默认SQLite数据库存储在容器内,容器删除后数据会丢失。可通过挂载数据目录实现持久化:
bashdocker run -d --name opensim -p 9000:9000 -p 9000:9000/udp -v /path/on/your/system:/opt/opensim/bin/sqlite-database soupbowl/opensimulator:latest
注意:使用自定义
SQLiteStandalone.ini时,此配置不生效。
目前无法从外部TTY管理服务器,docker attach opensim可能显示空白。可通过以下命令访问管理界面:
bashdocker exec -it <容器名称> screen -r -d OpenSim
按ctrl + a然后d可退出screen会话。若需不使用screen,可修改Dockerfile:
dockerfileFROM soupbowl/opensimulator:latest CMD [ "dotnet", "OpenSim.dll" ]
ARM64架构构建可用,但物理引擎存在限制:BulletSim和OpenDynamicsEngine(ODE)会导致致命错误,需使用基础物理引擎:
bash-e PHYSICS_ENGINE=basicphysics
或修改配置文件:
ini[Startup] physics = basicphysics
更多使用示例可参考此仓库。
soupbowl/opensimulator:latest基于官方.NET 8镜像构建的最新OpenSimulator版本。0.9.2.2及以下版本使用Mono框架。
soupbowl/opensimulator:<version>-noscreen0.9.3.0及以上版本的无screen构建,为临时变体,解决后将移除。
soupbowl/opensimulator:alpine-beta基于Alpine的前沿变体,跟踪#1工单进度。由于OpenSimulator已弃用Mono,此变体可能修订或移除。
soupbowl/opensimulator:source从OpenSimulator仓库获取最新代码编译的前沿版本,高度不稳定,按需构建。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务