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备用。
正常启动运行后的项目目录结构应为:
