ArknightsAPI部署文档

0.前言

需要基础的编程经验,自动部署脚本仍在开发中(在做了,在做了)。

推荐在Linux上部署,Windows和Mac系统理论上同样可以部署,但未经充分测试,开发环境为Linux(CentOS7.5)。

Windows版本的OPQ不支持发送图片消息,因此本项目中包含的涩图功能、长文字转图片发送功能均无法使用。util/SendMsgUtil中备注了一个纯文字发送的方法,需将其替换长文字转图片方法。

1.项目下载

本项目为java项目,依赖于jdk,推荐jdk1.8。

安装jdk(CentOS系统,其余系统自行百度)

openjdk中缺少jps等部分命令,建议自行下载jdk1.8解压配置环境变量。

yum install openjdk-8-jdk

!!!因为项目中包含文字drawString 方法,需要楷体字体依赖,需要将

c:/windows/fonts

目录下的楷体字体复制到linux服务器的jdk/jre/lib/fonts/目录下,并且将后缀名改为.ttl,否则会出现图片中显示乱码的情况。

如果想要更换字体,请自行修改源码,并用同样方法上传对应字体库。

项目git地址:https://github.com/Strelizia02/ArknightsAPI

使用git克隆项目,或者下载压缩包。

git clone https://github.com/Strelizia02/ArknightsAPI.git

2.项目打包

首先建立一个新的目录。

mkdir arknightsBot

将项目根目录下的application.yml和run.sh两个文件拷贝到目录中。

使用maven命令打包项目。

mvn install
mvn package

或者使用idea打开,按需求修改源码,右边maven插件可以一键打包。

将打好的jar包拷贝到刚才的目录中。

3.MySQL安装

保证外网畅通的情况下,逐条运行以下代码进入MySQL。

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
yum -y install mysql-community-server
systemctl enable mysqld
systemctl start mysqld
mysql -u root

根据项目中sql目录下的脚本,先运行arknights_schema中的命令,再运行arknights_data1/arknights_data2。
aknights_data中包含一部分干员数据,数据会自动更新。

其余MySQL账号密码、远程访问等自定义设置自行配置。

4.部署启动

修改配置文件,将配置文件中的MySQL设置为你的MySQL配置。
其中公招的截图识别功能需要百度云智能的图像-文字识别功能,请自行注册百度云智能账号,建立文字识别应用,填写相关信息配置。

Linux系统可以直接使用脚本运行(配置文件、run脚本、jar包需在同一目录下)。

chmod 777 run.sh
./run.sh start

其中run脚本有start/stop/restart/status四种命令,若运行脚本报错[/bin/sh^M: 坏的解释器: 没有那个文件或目录],则是你在Windows下打开并编辑了该脚本,运行以下命令可修复错误。

sed -i 's/\r$//' run.sh

非Linux系统可以通过以下命令运行。

java -Xms256m -Xmx512m -jar arknights-0.0.1-SNAPSHOT.jar >> arknights.log 2>&1 &

访问:localhost:8086/swagger-ui.html#!/,若能够看到swagger调试界面则为部署成功,可在swagger中测试接口。

重新部署

如果有需要修改的地方,比如替换jar包,在确定没有bug的情况下直接替换jar然后./run restart

修改配置文件以后也需要restart重新加载。

新增通过qq替换jar包的方法,将jar上传群文件,机器人会返回一个fileId,使用

./run download fileId

的方式,即可自动更换jar包并重启。并将上一版的jar包修改为jar.temple备用。
正常启动运行后的项目目录结构应为:

posted @ 2020-12-11 14:31  鹤望兰号  阅读(1145)  评论(7)    收藏  举报