文章涉及到Termux开启ssh、安装Java、使用spigot自行构建服务端、使用frp内网穿透开放服务器。

下载termux

APP下载

Termux 官网

https://termux.com/

GitHub

https://github.com/termux/termux-app

F-Droid

https://f-droid.org/zh_Hant/packages/com.termux

换源

清华源

中间卡住了就多回车几次!(Y/N)

1
2
3
4
5
6
7
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list

sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list

sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

pkg up

安装openssh

1
pkg install openssh

运行SSH Server

1
sshd

配置密码

1
passwd

获取IP和当前用户名

1
2
ifconfig
whoami
1
2
3
4
5
6
7
8
9
10
~ $ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.31.90 netmask 255.255.255.0 broadcast 192.168.31.255
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 3000 (UNSPEC)
~ $ whoami
u0_a479

wlan0网卡下的ip才是我们需要的ip!(inet后的ip地址 192.168.31.90 每台设备可能不一样)

使用ssh连接

首先确保在同一个网络下(同一个WiFi下)。

远程连接客户端我这里使用mobaxterm工具,创建ssh主要是想利用电脑进行操作,而且还能用moba传文件十分方便。

moba连接ssh的方法,这里不做详解。

image-20220731101607802

配置Java环境

由于termux目前只提供openjdk17,其它版本的Java需要经过termux编译才能安装(安装方法还在研究中),所以我们这次使用的minecraft服务端为1.17.1以上的版本,其它版本的服务端由于Java17版本过高而不支持!

1
2
pkg install openjdk-17
java --version #查看版本

构建并启用mc服务端

在家目录

/data/data/com.termux/files/home下新建/mcserv/目录,后面的操作均在mcserv目录中进行!

1
cd mcserv/

下载 buildtools for spigot

spigotmc官网

下载好后直接拖入scp窗口,即可

安装git工具

这是为了配合下一步的构建

1
pkg install git

构建服务端

秉持着授人以鱼不如授人以渔的观念,这里讲一下如何构建spigot服务端(虽然官网有教xD)

1.19

1.18.2


这里以1.18.2作为演示

1
java -jar BuildTools.jar --rev 1.18.2

这个过程有亿点漫长…….请耐心

特别是在下载server.jar的时候。建议手机挂一个梯子,这样会快一点!

~~看着代码刷刷刷的,还是很爽的 嘻嘻嘻~~~~~

如果不想等待的同学,可以直接用我后面发的构建好的项目!

构建完毕后,目录中就会出现服务端文件

spigot-1.18.2.jar

image-20220731112225625

启用服务端

我们需要的只有服务端文件,其它的文件可以清理掉~~

在当前目录下执行如下命令就可以启用服务端了

1
java -Xms#G -Xmx#G -XX:+UseG1GC -jar spigot.jar nogui
  • #G处设置运行内存大小,Xms表示最小,Xmx表示最大
  • spigot.jar处设置运行的服务端名,此处设置为spigot-1.18.2.jar
  • nogui表示无图形化启动,启用可以节省内存
1
java -Xms2G -Xmx2G -XX:+UseG1GC -jar spigot-1.18.2.jar nogui

服务端需要启动两次,第一次会生成eula.txt文件,需要修改

1
eula=true

再次启动,服务器就开始正式加载了!

  • 默认线上模式(online-mode):true(与朋友联机请关闭)

  • 服务器默认端口为(port):25565

我们可以通过对server.properties文件编辑进行修改

1
2
online-mode=false
server-port=25565

其它更多设置,请参阅mcwiki

内网穿透

这里我列出一些免费的内网穿透工具,使用方法也很简单,我就暂时不做详细的介绍了

免费服务

NATAPP

提供Linux客户端,不知道能不能装上Termux。

Sunny-ngrok

ngrok以前很火的,现在不知道怎么样了,还有个叫“魔法隧道”的网站也是用ngrok实现穿透的,现在好像停止运行了

Sakura-frp

一款利用frp技术实现内网穿透的工具,提供免费的服务~

更多待补充~~~

frp配置

到这一步需要有外网主机并且搭建了frp服务端的同学继续往下看

首先把vim文档编辑工具装一下

1
pkg install vim -y

Termux提供frp工具包,我们可以直接使用pkg命令安装

1
pkg install frpc

查看一下执行文件装在哪个路径了

1
whereis frpc
1
frpc: /data/data/com.termux/files/usr/bin/frpc

保存一下路径

回到mcserv目录下,新建frpc.ini文件,编辑,写入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[common]
token = 密钥(与公网服务器配置frps.ini一致)
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = root
admin_pwd = 管理面板密码
server_addr = 公网服务器IP
server_port = 服务器监听端口
authentication_method = token
authenticate_new_work_conns = true
tls_enable = true
[mc]
type=tcp
local_ip=127.0.0.1
local_port=25565
remote_port=25565

在mcserv目录下运行frp

1
/data/data/com.termux/files/usr/bin/frpc -c frpc.ini

这样我们就实现了转发本地服务器到公网IP:25565(进入游戏添加服务器时,25565可以省略不写,因为是默认的)

联机时,可以直接输入公网地址IP:25565就可以一起快乐游玩了~~

如何使用frp可以看之前的文章,#在Linux服务器下搭建frp内网穿透服务

如果有哪些不足,还请多多指教~~

服务端资源

不定期更新哈~~

如有密码统一为:mchx

spigot

1.19

1.18.2

1.11前


服务端核心整合(旧版本)