Skip to content

基于 OpenComputers 的 GTNH-AE2 远程控制框架,简称GTNH赛博监工,支持网页远程下单

License

Notifications You must be signed in to change notification settings

z5882852/RemoteOC-GTNH-AE2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gtnh oc

赛博监工

AE2 Control for GTNH 2.7.0

简介

该项目是一个基于OpenComputers的GTNH-AE2的远程控制系统,主要用于监控AE2网络、物品、流体、CPU、任务等信息,以及支持远程下单、查看任务等功能。

该项目基于RemoteOC框架开发,需要一台可公网访问的主机作为服务器,以及一台或多台OpenComputers电脑作为客户端。

功能

  • 支持查看AE2网络内的物品、流体信息
  • 支持查看CPU状态
  • 支持远程下单
  • 支持自动化流程
  • 支持监控兰波顿电容的电量和无线电网电量(需配置)
  • 支持监控物品和流体存储元件的状态(需配置)

特色

  • 支持多个OC客户端
  • 移动端适配
  • 支持自定义任务
  • 暗色模式
  • 高度可定制化

安装

项目目录

client/    # OC客户端
server/    # 服务端
website/   # 网页前端

使用 Docker 一键部署前后端

  1. 准备工作

    • 安装DockerDocker Compose
    • 下载仓库中的docker-compose.ymlserver/.env文件
  2. 修改配置

    • 根据想要修改docker-compose.yml文件中的环境变量
    • 修改.env文件中的环境变量
  3. 启动服务

    docker-compose up -d

    默认前端端口为80,可直接访问,后端端口为8080,可在docker-compose.yml中修改

  4. 查看日志

    docker-compose logs -f
  5. 停止服务

    docker-compose down

手动构建后端 Docker 镜像

  1. 准备工作

    • 安装 Docker
  2. 克隆源码

    • 使用 Git 克隆项目到本地:
      git clone https://github.com/z5882852/RemoteOC-GTNH-AE2.git
    • 进入项目目录:
      cd RemoteOC-GTNH-AE2/server
  3. 构建镜像

    docker build -t roc-gtnh-backend .
  4. 运行容器

    docker run -d --name roc-gtnh-backend -p 8080:8080 roc-gtnh-backend
  5. 查看日志

    docker logs -f roc-gtnh-backend

服务器端

服务器端需要安装在可公网访问的服务器上

  1. 准备工作

    • 安装Python3pip
  2. 克隆源码

    • 使用 Git 克隆项目到本地:
      git clone https://github.com/z5882852/RemoteOC-GTNH-AE2.git
    • 进入项目目录:
      cd RemoteOC-GTNH-AE2/server
  3. 安装依赖

    pip install -r requirements.txt
  4. 修改配置

    • 根据需要修改.env文件中的环境变量
    • 根据需要修改config.py文件中的配置
  5. 运行服务

    python run.py

    指定端口运行服务

    python run.py --port 8080

OC客户端

OC客户端需要安装在游戏内的OC电脑上

  1. 注意事项

    配置要求:

    • CPU: T3 CPUT3 APU
    • 内存: 2 x T3.5内存 (推荐使用T4服务器安装4 x T3.5内存)
    • 扩展卡: 因特网卡
    • 扩展: 适配器
    • 其他: 根据实际情况调整

    当AE终端物品种类超过1000种时请使用4 x T3.5内存,超过2000种时请使用创造模式内存,否则会内存溢出导致无法获取物品数据。

    具体多少种没进行测试,能跑起来就行

  2. 准备工作

    • 组装好 OC 电脑
    • 安装 OpenOS 操作系统
    • 安装因特网卡
    • 连接适配器
    • 将ME接口或ME控制器紧邻适配器
    • 使用分析器获取ME接口或ME控制器的地址
  3. 安装程序安装

    • 下载安装程序
    wget https://raw.githubusercontent.com/z5882852/RemoteOC-GTNH-AE2/main/client/setup.lua
    • 安装客户端
    setup.lua
  4. 直接安装(当raw.githubusercontent.com无法访问时)

    • 下载或克隆项目至本地
    • client目录内所有文件上传至你的 OC 电脑
  5. 修改env.lua文件

    • env.lua中的baseUrl修改为你的后端地址
    • env.lua中的serverToken修改为你的服务端令牌
    • env.lua中的address修改为你的ME接口或ME控制器的地址
  6. 选择扩展插件(可选)

    • 可选插件目录为client/optional_plugins/{插件名}
    • 该目录下会有libplugins两个文件夹,分别对应插件依赖库和插件本体
    • 将插件目录下的lib内的文件上传至client/lib目录
    • 将插件目录下的plugins内的文件上传至client/plugins目录
    • 根据插件的说明修改插件本体文件
  7. 运行客户端

    输入以下命令运行客户端

    run.lua

    DEBUG模式运行

    run.lua --debug

网页前端

1. 使用 Releases 打包好的网页并部署

如果您希望快速部署前端,可直接使用打包好的文件,无需进行源码构建。

  1. 下载 Releases 文件

    • 访问项目的 Releases 页面:🔗 GitHub Releases
    • 下载最新版本的 RemoteOC_frontend-x.x.x_GTNH-2.x.0.tar.gz 文件(或类似文件名的构建包)。
  2. 上传到服务器

    • 将压缩包文件上传到您的服务器(如 Nginx、Apache、或者其他静态资源服务器)。
    • 解压文件。
  3. 配置服务器

  4. 访问网页

    • 使用浏览器访问部署的域名。

3. 克隆源码并构建再部署

  1. 环境要求

    • Node.js: 推荐版本 16.x 或以上
    • npm 或 yarn: 用于安装依赖
    • Git: 用于克隆项目
  2. 克隆源码

    • 使用 Git 克隆项目到本地:
      git clone https://github.com/z5882852/RemoteOC-GTNH-AE2.git
    • 进入项目目录:
      cd RemoteOC-GTNH-AE2/website
  3. 安装依赖

    • 使用 npm:
      npm install
    • 或使用 yarn:
      yarn install
  4. 构建项目

    • 运行以下命令以生成静态文件:
      npm run build
    • 构建完成后,静态资源将位于 dist/ 目录中。
  5. 部署静态资源

    • dist/ 文件夹中的文件上传到您的服务器(如 Nginx、Apache 或其他静态资源服务器)。
    • 配置服务器。
    • 重启服务器后,访问您的域名即可。

4. 注意事项

  • 由于项目是单页面应用程序(SPA),请确保服务器配置了路径重写规则(如 Nginx 中的 try_files $uri /index.html)。

效果图

点击展开

监控 物品 流体 下单 CPU 任务 自动化 移动端 暗色模式

扩展插件

1. monitor

功能

  • 监控兰波顿电容的电量和无线电网电量
  • 统计物品和流体存储元件的状态

准备工作

  • ME驱动器需要使用存储总线组成SSD阵列, 且物品元件与流体元件需要分开(即2个子网络)
  • 将适配器连接到2个子网的ME控制器/ME接口上
  • 将适配器连接到兰波顿库电容上

配置

  • 修改AE2StorageUsage.lua文件中代理地址分别为物品、流体的ME控制器/ME接口地址
  • 修改powerMonitor.lua文件中代理地址为兰波顿电容库地址
  • 在网页前端的设置中启用监控页面

其他

RemoteOC框架

https://github.com/z5882852/RemoteOC

nbt标签解析

https://github.com/sjmulder/nbt-js

物品和流体图标、数据导出

https://github.com/RealSilverMoon/nesql-exporter/