最近拉了一个妹子入了Minecraft的坑,出于联机的需要,就开了个服务器。
这里用过几个办法:
本来是托管在腾讯云的轻量应用服务器上的。奈何单核2G的配置,在开始的时候还可以,但是随着后面玩的越来越多,加之最多时有五个人一起在线,5兆的带宽也捉襟见肘。
也尝试用谷歌云当主机,但是妹子那边联通的网络死活连不上。于是,拿国内的腾讯云主机当跳板,然后Nginx做负载均衡,倒也一定程度上缓解了卡顿。但是,晚高峰它丢包啊…
这时,突然想起自己宿舍的宽带有公网IP,然后看看自己的那台闲置的Nokia,于是…
一、所需材料
1、Minecraft服务端
官方端,paper,水龙头,等等等等
2、一台闲置的Android手机,最好内存大一点,主频高一点。
3、termux终端模拟器
4、公网IP(非必须,你可以使用其它内网穿透软件替代),支持dmz端口映射的路由器。
二、开搞
1、下载安装termux,并简单配置
下载
termux官网:这里是官网
我推荐你直接从GitHub的页面下载:
GitHub主页
虽然Google play 也可以直接下载,但是貌似那个已经不再更新了。
配置:
安装完成后首先换源:
在termux中输入
termux-change-repo
然后
方向键选择,空格键选中,回车键确认。
我推荐你使用bfsu
流程走完后:
apt upgrade
更新一下软件包。
由于Minecraft是用Java写的,你要跑起来就需要Java,所以要安装JDK。
apt install openjdk-17
2、下载Minecraft服务端
来这里的官网:
https://www.minecraft.net/zh-hans/download/server
下载jar后把它移到一个你希望用来存放游戏的目录
比如,我的是在:/sdcard/mc
然后在手机的设置里给termux存储权限。
接着在termux里输入:
cd /sdcard/mc
跳转到你存放jar的目录
最后:
java -Xmx1024M -Xms1024M -jar server.jar nogui
第一遍会启动失败,这时候去目录里找eula.txt
里面的false改成true,然后保存退出,再重新启动就可以了。
注意:一定要把termux加入后台白名单,并且锁定任务,避免进程被干掉。
3、把服务器放到公网上
因为有公网ip,我的做法是使用路由器自带的花生壳的DDNS服务,然后再通过自己的域名解析到花生壳给的那个域名上。最后通过dmz服务把手机的端口映射出去。
于是,完工。
Q.E.D.