2023年8月

今天早上7点多起来,然后一直在搞qq机器人的事情,一直搞到下午4点多

有尝试在replit上直接部署,然后就是知道了其实bash是可以直接添加java环境,然后就是第三方签名服务需要用root权限,不行,在本地服务器(玩客云)上因为是armv7所以不行,后来换成cqhttp签名服务器可以,但是账号还是登不上,换了别人做的服务器同样登不上(github上分享),期间有换过其他的qq机器人框架,有能用的又做的挺好的有一个是pupbot,但是也是因为账号风控登不上,而且这个好像没有提到使用第三方签名服务(官方文档),他们的文档更新时间是今年的二月份,所以这个qq机器人登不上估计是今年开始的,tx开始发力了,这个pupbot是用的node.js语言,所以我了解了一些在linux上手动安装node的教程,我在想要不要开一个hexo或者hugo作为本地的博客部署,毕竟我主主要是写md,然后我又想到rclone是支持把onedrive挂载到本地,我每次写的博客也是在我的onedrive先存一份,所以我想这样会不会更快一点,就是在本地写完就直接发布了,绕过了在网上发布的步骤,也不用一直备份,确实有点心动,而且就算不用rclone,在玩客云上部署博客,然后在replit上用frp做内网穿透好像也很不错,这样的话在服务器到期之后就可以不用续费了,直接开始白嫖,毕竟我的核心诉求科学上网,现在replit也是免费提供服务(不封禁xray脚本了),真不错,真不错。最后就是QQ机器人不是很想搞了,毕竟其实我想做这个是因为之前有做,但是现在已经发现不是很行就不是很想搞,主要是因为确实是没有一定要用的理由,我打算去做电报机器人🥰

其他的倒是没有继续,我还是有一点小小的遗憾在,我觉得有可能也是我两个账号本身就不行,因为我用别人的服务器也登不上是吧,好了。
还有一件事,那就是《伦敦生活》太赞了。😍

我的世界服务器搭建

安装Java

Java有很多个版本,如果你玩的是最新几个版本的我的世界,需要安装Java OpenJDK 17

apt install openjdk-17-jre-headless -y

命令中的软件名带有jre-headless的词,这是一种简化版的Java OpenJDK 17

安装普通版

apt install openjdk-17-jdk -y

如果服务器安装不了可以试着搜索支持的jdk版本

apt search openjdk

我的armbian只支持jdk11

安装我的世界服务器端程序

下载:我的世界的官方网站

如果Minecraft网站弹出一个对话框建议你去网易,这种情况只要点击对话框底部的Stay on minecraft.net即可
wget https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar
注意最新的几个版本的我的世界对服务器系统内存配置有较高要求,一般需要20美元每月的VPS才能成功搭建,而2015前那些历史版本的我的世界只需要5美元每月的VPS就能搭建。如果你玩的是历史版本的我的世界,可以到mcversions.net找到相应版本的链接。

重命名

mv server.jar server_1.19.jar

配置和运行我的世界服务器

启动

java -Xms1024M -Xmx1024M -jar server_1.19.jar nogui
第一次使用这个指令时系统会提示有错误,提示必须同意用户协议,这并不是真的错误,而是我的世界故意设计的,目的是为了引导用户阅读它的用户协议。以上的指令虽然提示有错误,但创建了两个新文件,一个是用户协议eula.txt,一个是配置文件server.properties,用来设置游戏模式、难度等属性。
为使我的世界程序能够正式运行,需要同意它的用户协议,方法是编辑修改eula.txt内容。
vi eula.txt

界面会切入到用户协议的内容页面,内容如下所示。

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Thu Jun 30 10:28:12 UTC 2022
eula=false

“eula=false”, false改为true

编辑配置文件

vi server.properties

文件内容会像下面显示的一样。

#Minecraft server properties
#Thu Jun 30 10:28:37 UTC 2022
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
generate-structures=true
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
function-permission-level=2
level-type=default
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984
difficulty (难度) – 设置游戏的难度,默认是easy简单,共有peaceful容易、easy简单、normal普通、hard困难几个选项,如像把游戏改难一点,可以把easy改成normal或hard,反之可以改成最简单的peaceful。
gamemode (游戏模式) – 设置游戏的模式,默认是生存模式,可供设置的选项有survival生存模式、creative创造模式、 adventure冒险模式、spectator旁观模式。
pvp – 设置玩家之间能否对打,默认是true,如果改成false,玩家之间将不能互相攻击伤害对方。
max-players(最多玩家数量)– 设置最多玩家数量。

如果不是正版账号,需要将online-mode=true改为false

正式启动我的世界服务器程序

编辑完eula.txt后就可以正式启动我的世界服务器端程序了,方法是再次使用上面用到的那个java指令,但要按自己需求调整参数:

java -Xms2G -Xmx4G -jar server_1.19.jar nogui

相比第一次使用这个指令,这次正式启动游戏程序需要把Xms和Xmx参数改成自己需要的,Xms设置的是服务器启动时的RAM的大小,-Xms2G就是把服务器启动时的RAM设成2G,单位是M或G都可以,如果采用M,就输入Xms2048M。Xmx设置的是服务器运行时允许使用的最大RAM的值,-Xmx4G就是限制游戏最多使用4G的RAM。具体设置多少要看自己选择的服务器RAM大小有多少,如果选择的是只有1G或2G的服务器就不能设这么高。

指令中的-jar后面跟随的就是要运行的jar文件名称,就是我们上面下载的jar文件,如果没有重命名,就得把命令中的server_1.19.jar改成server.jar,如果你下载的是其他版本的我的世界服务器jar文件或命名成了其他名称,就改成相应的名称。
指令中的nogui就是要求服务器不要启动图形用户界面,因为服务器不需要图形用户界面。

写在后面:

不同版本的客户端需要对应版本的服务器才可以连的上,不同版本的服务器配置文件略有不同,大致上都一样,2015年以前版本的服务器没有 用户协议eula.txt

Armbian安装aria2下载器

aria2是一个跨平台的快速而且可靠的下载工具,支持HTTP(S)、FTP、SFTP、BitTorrent、Metalink 等协议。Github上或项目主页查阅aria2的官方文档。

安装

apt install aria2

配置

创建aria2文件夹

mkdir /etc/aria2

创建aria2.session

touch /etc/aria2/aria2.session
这个文件主要是用来保存下载任务会话的,也就是退出aria2后,下次启动可以直接从这里读取上一次没完成的下载任务。

创建aria2.conf

aira2的各种设置都会放在aria2.conf这里。命令如下:

vi /etc/aria2/aria2.conf

在aria2.conf中输入如下内容:

## 文件保存相关 ##
 
# 文件保存目录
dir=/home/naonao/Downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true
 
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=trunc
 
## 下载连接相关 ##
 
# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=100
# 同一服务器连接数, 添加时可指定, 默认:1
# 官方的aria2最高设置为16, 如果需要设置任意数值请重新编译aria2
max-connection-per-server=16
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0(不限制)
#max-upload-limit=0
# 禁用IPv6, 默认:false
# disable-ipv6=true
 
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
# 建议同max-connection-per-server设置为相同值
split=256
 
## 进度保存相关 ##
 
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
 
## RPC相关设置 ##
 
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
# rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=yourpassword
# 启动SSL
# rpc-secure=true
# 证书文件, 如果启用SSL则需要配置证书文件, 例如用https连接aria2
# rpc-certificate=
# rpc-private-key=
 
## BT/PT下载相关 ##
 
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
# bt-save-metadata=true
# 单个种子最大连接数, 默认:55 0表示不限制
bt-max-peers=0
# 最小做种时间, 单位:分
# seed-time = 60
# 分离做种任务
bt-detach-seed-only=true

来自:

https://www.cnblogs.com/likecs/p/11582984.html

官方手册

退出保存即配置完毕。

启动

执行下面的命令启动aria2,后面的路径是配置文件所在位置:

aria2c --conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息(注意,warn和notice都不算,只有出现error才是错误),那就按ctrl+c停止上面的语句,运行此句:

aria2c --conf-path=/etc/aria2/aria2.conf -D

-D是后台运行的意思。(注意,这里复制时--conf-path前面的是两个“-”,直接复制可能会出问题)

设置自启

cd /opt
touch aria.sh
echo "aria2c --conf-path=/etc/aria2/aria2.conf -D" >>aria.sh
chmod +x aria.sh
vi /etc/rc.local   #将  /opt/aria.sh 写到第一行

安装和配置AriaNG

部署AriaNG

AriaNG是aria2的Web UI,要想使用AriaNG,首先要配置好nginx环境

下载:Github

解压到你的网站目录

配置AriaNG

AriaNG其实不需要怎么配置,因为AriaNG只是一个WebUI。需要注意的是。如果在aria.conf中配置了密钥,需要在如下位置输入:

Armbian安装Aria2下载器

至此,aria2的基本配置就完成了。

Aria2进阶配置

配置权限问题

vi /etc/aria2/aria2.sh
#!/bin/sh
chmod -R 777 /xxx/xxx (这个目录是Aria2的下载目录)
chmod +x /etc/aria2/aria2.sh

在aria2.conf里加一句:

on-download-complete=/etc/aria2/aria2.sh

frp 的搭建——内网穿透

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

下载 release

找到合适的版本 我的vps是amd64 玩客云是armv7 (下载arm版)

查看linux版本:

uname -m

下载:

cd /opt
mkdir frp
cd ./frp
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_arm.tar.gz
tar -xf  frp_0.51.2_linux_arm.tar.gz 

使用:

服务器端:

赋予执行权限

cd ./frp_0.51.2_linux_arm 
chmod +x frps    

编辑配置文件

vi frps.ini

frps.ini 内容

[common]
bind_port = 7000
vhost_http_port = 8080

启动:

./frps -c ./frps.ini

客户端:

赋予执行权限

cd ./frp_0.51.2_linux_arm 
chmod +x frpc    

编辑配置文件

vi frpc.ini

frpc.ini 内容

[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

"[web]"这个方括号内是可以随便修改,关键是下面的type = http不要改

server_port 要和 bind_port 一致

server_addr 填服务器地址

local_port 填本地要对外开放的端口

custom_domains 是服务器端要重定向至frp的域名

启动:

./frpc -c ./frpc.ini

其他示例:官方文档