本人目前大三在读,注意到阿里云有个高校免费领取ECS服务器的活动,之前正在和同学玩MC,于是打算借助阿里云搭建一个云上服务器。
具体过程
服务器系统
服务器我选择了Ubuntu系统,因为服务器一般使用Linux系统,而我接触过的只有Ubuntu。
安装一些工具
在使用apt安装软件包之前需要更新apt软件包,执行以下指令
sudo apt update
会弹出一大堆需要更新的包,执行以下指令更新所有包
sudo apt upgrade
screen
由于我们需要mc服务器一直运行,而不是关闭xshell后也随之关闭,所以我们需要screen
来进行分屏。执行以下指令安装。
sudo apt install screen
Java
由于mc使用java
编写,所以其服务器需要jvm
环境才能运行,我们需要安装java
运行时环境,简称JRE。我这里使用openjdk
的版本。执行以下指令安装。
sudo apt install openjdk-16-jre
上传服务端
由于我之前使用自己的电脑开服务器和同学玩过一段时间,所以需要上传已有的服务端,这里使用FlashFXP这个软件上传,首先我们使用Xshell连上服务器后新建一个文件夹存放我们的服务端。
mkdir MC_Server
cd MC_Server
mkdir mc1.17.1-fabric-server
由于我之前服务器在Windows下运行,所以我们需要修改之前的启动脚本,新建start.sh
(也可以是其他名字),使用文本编辑模式输入以下命令。
#!/bin/bash
java -jar server.jar nogui
修改完成将整个服务端上传至~/MC_Server/mc1.17.1-fabric-server/
。
开启服务器
使用Xshell连上服务器,切换工作目录至~/MC_Server/mc1.17.1-fabric-server/
,这时候输入ls -lh
可以看到我们对start.sh
无可执行权限,我们输入
chmod +x start.sh
添加可执行权限。
之后运行
screen -S server
新建一个窗口
再运行
./start.sh
运行服务器,此时即便关闭Xshell也不会关闭服务器。
一些补充
此时一个人游玩并无太大问题,两个人想同时进入服务器就有可能出现一个人在服务器的时候另一个进不去的情况,这是由于ECS服务器带宽的问题,我的ECS服务器仅有1M带宽。所以无法维持两个玩家的同时数据请求,我们既然无法改变服务器的带宽,却可以优化mc服务器的数据传输。
输入vim server.properties
移动光标至view-distance=10
这一行,按下I
键进入插入模式,修改后面的数字变小,这一项是服务器的可视距离,这个值越大传给玩家的数据也越多,我们可以修改为1,不过这样游戏体验较差,我设置为了8。
移动光标至network-compression-threshold=0
,这个值设置为0表示压缩发送的数据包,没什么好说的。
移动光标至use-native-transport=true
,设置为true表示开启Linux服务器收发包优化。
设置完后我和同学两个人终于都能进服务器了,泪目