- 精华
- 阅读权限
- 100
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2023-1-12
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
本帖最后由 楓落 于 2025-6-12 22:39 编辑
这里只分享在docker中部署服务端,作者的https://openwf.io/SpaceNinjaServer.git中其实已经有docker部署的文件了,但在正常部署的时候会报错node版本过低,所以我们要修改一下其中的【Dockerfile】文件内容,这里我是利用deepseek修改。
我这边使用1panel面板,centos7系统。
1、克隆仓库
---
# 克隆仓库到服务器
git clone https://openwf.io/SpaceNinjaServer.git
# 进入SpaceNinjaServer文件夹
cd SpaceNinjaServer
---
如果未安装git,建议百度搜索git安装方法。
PS:我们要下载https://openwf.io/SpaceNinjaServer.git下的所有文件,如服务器没有vpn,则可以其他设备使用vpn下载文件,然后上传到服务器目录解压->【spaceninjaserver】文件夹。
2、创建配置文件
---
cp config.json.example config.json
---
PS:复制【config.json.example】并改名为【config.json】
3. 创建数据目录
---
mkdir -p docker-data/{static,database,logs}
---
PS:或者使用1panel->文件目录->创建【docker-data】文件夹,进入【docker-data】->创建【static】、【database】、【logs】三个目录。
4. (可选) 下载静态资源
---
cd docker-data/static
git clone https://openwf.io/0.git
cd ../..
---
PS:如果服务器下载不了,跟第一步一样,先下载到本地然后上传服务器解压,目录路径为【spaceninjaserver/docker-data/static/0/Lotus】。
5. 修改 docker-compose.yml 文件
---
services:
spaceninjaserver:
build: .
image: spaceninjaserver:latest # openwf/spaceninjaserver:latest
environment:
APP_MONGODB_URL: mongodb://openwfagent:spaceninjaserver@mongodb:27017/
其余省略(中间的环境参数可以用AI解释,或者后面在UI界面按需设置)
.
..
...
volumes:
- ./docker-data/static:/app/static/data
- ./docker-data/logs:/app/logs
ports:
- 22180:80
- 36443:443
- 6155:6155
depends_on:
- mongodb
mongodb:
image: docker.io/library/mongo:8.0.0-noble
command: mongod --bind_ip_all --auth # 允许外部连接并启用认证
environment:
MONGO_INITDB_ROOT_USERNAME: openwfagent
MONGO_INITDB_ROOT_PASSWORD: spaceninjaserver
volumes:
- ./docker-data/database:/data/db
---
6、修改 config.json 文件(这里只写出需要修改的项)
【"mongodbUrl": "mongodb://127.0.0.1:27017/openWF"】修改为【"mongodbUrl": "mongodb://openwfagent:spaceninjaserver@mongodb:27017/openWF"】;
【"myAddress": "localhost"】修改为【"myAddress": "0.0.0.0", // 监听所有接口】;
【"httpPort": 80,"httpsPort": 443】这两项修改为上面 docker-compose.yml 文件映射的端口【"httpPort": 22180,"httpsPort": 36443,】;
可选-【"NRS": ["localhost"]】修改为【"NRS": ["192.168.6.108", "10.10.0.1"], // 允许访问服务的多域名/IP】
其余的项都不是必改的,想要修改请咨询deepseek。
7、修改 Dockerfile 文件 ,直接复制代码替换 原文件内容,这一步是构建镜像的关键 (我的系统是centos7,所以命令做了对应修改,如系统不一致,请复制文档所有内容询问deepseek修改)
---
# 使用官方 Node.js 20 镜像作为基础
FROM node:20
# 设置环境变量
ENV APP_MONGODB_URL=mongodb://openwfagent:spaceninjaserver@mongodb:27017/openWF \
APP_MY_ADDRESS=192.168.6.108 \
APP_HTTP_PORT=22180 \
APP_HTTPS_PORT=36443 \
APP_AUTO_CREATE_ACCOUNT=true \
APP_SKIP_TUTORIAL=false \
APP_SKIP_ALL_DIALOGUE=false \
APP_UNLOCK_ALL_SCANS=false \
APP_UNLOCK_ALL_MISSIONS=false \
APP_INFINITE_CREDITS=false \
APP_INFINITE_PLATINUM=false \
APP_INFINITE_ENDO=false \
APP_INFINITE_REGAL_AYA=false \
APP_INFINITE_HELMINTH_MATERIALS=false \
APP_CLAIMING_BLUEPRINT_REFUNDS_INGREDIENTS=false \
APP_DONT_SUBTRACT_VOIDTRACES=false \
APP_DONT_SUBTRACT_CONSUMABLES=false \
APP_UNLOCK_ALL_SHIP_FEATURES=false \
APP_UNLOCK_ALL_SHIP_DECORATIONS=false \
APP_UNLOCK_ALL_FLAVOUR_ITEMS=false \
APP_UNLOCK_ALL_SKINS=false \
APP_UNLOCK_ALL_CAPTURA_SCENES=false \
APP_UNIVERSAL_POLARITY_EVERYWHERE=false \
APP_UNLOCK_DOUBLE_CAPACITY_POTATOES_EVERYWHERE=false \
APP_UNLOCK_EXILUS_EVERYWHERE=false \
APP_UNLOCK_ARCANES_EVERYWHERE=false \
APP_NO_DAILY_FOCUS_LIMIT=false \
APP_NO_ARGON_CRYSTAL_DECAY=false \
APP_NO_MASTERY_RANK_UP_COOLDOWN=false \
APP_NO_VENDOR_PURCHASE_LIMITS=true \
APP_NO_DEATH_MARKS=false \
APP_NO_KIM_COOLDOWNS=false \
APP_SYNDICATE_MISSIONS_REPEATABLE=false \
APP_INSTANT_FINISH_RIVEN_CHALLENGE=false \
APP_INSTANT_RESOURCE_EXTRACTOR_DRONES=false \
APP_NO_RESOURCE_EXTRACTOR_DRONES_DAMAGE=false \
APP_SKIP_CLAN_KEY_CRAFTING=false \
APP_NO_DOJO_ROOM_BUILD_STAGE=false \
APP_NO_DECO_BUILD_STAGE=false \
APP_FAST_DOJO_ROOM_DESTRUCTION=false \
APP_NO_DOJO_RESEARCH_COSTS=false \
APP_NO_DOJO_RESEARCH_TIME=false \
APP_FAST_CLAN_ASCENSION=false \
APP_SPOOF_MASTERY_RANK=-1
# 安装 CentOS 兼容工具(可选)
RUN apt-get update && \
apt-get install -y --no-install-recommends \
bash \
sed \
wget \
jq && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 如果你用的是 Alpine 镜像(比如 node:20-alpine),请使用以下命令:
# RUN apk add --no-cache bash sed wget jq
# 拷贝项目文件
COPY . /app
WORKDIR /app
# 安装依赖(如果有的话)
RUN npm install --production
# 设置入口点
ENTRYPOINT ["/app/docker-entrypoint.sh"]
---
8、根据Dockerfile构建镜像
如果跟我一样使用的是1panel面板就可以参照如下,如果是其他命令行,请询问AI(Dockerfile位于xx目录,如何根据Dockerfile构建镜像):
【容器】-【镜像】-【构建镜像】-
【
镜像名字:spaceninjaserver
路径选择:spaceninjaserver/Dockerfile (根据你的Dockerfile存放位置来)
】-【确认】
然后等待镜像构建完成(等待时间受网络情况影响),然后就可以搭建容器了。
9、创建容器
---
首先返回docker-compose.yml所在目录,根据个人下载位置修改【cd 路径】
cd spaceninjaserver
创建容器
docker-compose up -d
---
PS:上面这步结束后,你就能在1panel面板的容器页面看到2个容器了:
spaceninjaserver-spaceninjaserver-1
spaceninjaserver-mongodb-1
到这一步不出意外的话,docker版的服务端就部署好了,你可以通过下面的地址进入到后台界面注册账号,控制其他参数:
http://服务器IP地址:22180/webui/inventory
10、客户端修改
下载完客户端补丁后,在【OpenWF】的【client_config.json】文件中修改下面参数,请根据你个人的IP和端口修改
该文档的设置手册地址:OpenWF 引导程序手册 --- OpenWF Bootstrapper Manual
- "server_host": "你的服务器IP",
复制代码 然后保存文件,通过【Warframe.x64.exe】启动游戏,进行测试
服务端资源占用图片:
最后,因内容较多,若有错误欢迎指出,部署过程如有预期之外的错误,请先询问AI或者百度。
|
|