阿里云ECS架设Minecraft服务器初体验

简介: 阿里云ECS架设Minecraft服务器实操与体验

阿里云ECS架设Minecraft服务器初体验

今天从阿里云官网领取了一份高校生免费算力服务器,思来想去,架设Web服务还需要网站备案,而这服务器只有短短的两周,最终决定部署Minecraft服务端上去,用来与小伙伴联机体验。

连接与准备

在领取了服务器之后,我开放了其TCP协议的25565端口作为接下来Minecraft服务器的监听端口,并在"控制台->密钥对"中创建了密钥对。

image.png

在安全组中开放端口

image.png

创建密钥对并绑定服务器

使用创建密钥对时下载的私钥连接服务器,记得私钥要设置为400的权限,在阿里云面板中绑定秘钥后记得重启服务器生效。

chmod 400 私钥路径 

ssh -i 私钥路径  root@服务器IP 

控制台中直接在示例的详情页面用workbench连接,然后创建新用户Minecraft

接下来,配置ssh服务

  • 为低权用户配置公钥,关闭root的远程连接
  • 将低权用户添加到sudo名单中并不需要密码(毕竟我也没设置)

在完成配置后,重启sshd服务,在本地使用低权用户测试登录(测试期间不要退出已经登录的root用户避免后续进不去系统)


下方是在服务器中使用到的命令:

# 本地终端使用# chmod 400 私钥路径 # ssh -i 私钥路径  root@服务器IP# 来登录服务器useradd Minecraft
mkdir /home/Minecraft/.ssh
cp ~/.ssh/authorized_keys /home/Minecraft/.ssh/
chown-R Minecraft:Minecraft /home/Minecraft/.ssh
chmod600 /home/Minecraft/.ssh/authorized_keys
vim /etc/ssh/sshd_config
# 下方是vim中的操作#===START===/root
# 按[n]一路找到PermitRootLogin字段,按i进入插入模式,将后面的yes改为no# 按[Esc]退出插入模式:wq
#===END===systemctl restart sshd
visudo
# 下方是vi中的操作#===START===/root
# 按[n]找到下面这行,光标定位在这上面,按[o]新增一行root    ALL=(ALL)       ALL
Minecraft ALL=(ALL)     NOPASSWD: ALL # 这是新增的一行# 按[Esc]退出插入模式:wq
#===END===[Ctrl+D]

部署服务

为了方便后续和Minecraft后台进行交互,我这里选择screen作为挂载后台的工具,因为我选择的系统是CentOS 7 (CentOS8已经失去支持),所以包管理器是yum。

接下来,下载我之前图方便写的Minecraftctl来管理Minecraft服务器,GitHub下载速度偶尔爆炸,所以我一般使用国内的加速下载地址进行下载

用screen挂着后台一边下载,我们一边准备部署服务器,我们准备用的核心是mohist,这是我最近一直在用的一个核心,支持forge和Bukkit同时使用,本土化做的也相当不错,优化也做的蛮好,但是版本覆盖并不全面,我这次计划做一个1.16.5的纯生存服务器,所以选择这个核心刚刚好。(注意,这个核心只支持Java 11以上的版本)

对了,我还希望使用第三方验证进行身份验证,所以需要下载一个authlib来支持第三方身份验证

JDK版本呢,我选择adoptopenjdk这个来源站慢的要死,还好清华有镜像源,从清华源进行下载就会快得多。

总结一下,我需要下载以下这三个东西

  • Minecraftctl
  • mohist
  • authlib
  • adoptopenjdk

在下载并安装完成后,我们就可以启动服务器进行测试了

按照下方的指示进行配置

  • 将GamePath的值改为游戏目录,这里的示例值是"/home/${USER}/Minecraft"
  • 将authlib_injectorVer的值改为最新版本"1.1.39"
  • 将MainJAR的值改为我们上面下载的mohist-1.16.5-server

配置完成后,使用 minecraftctl start 启动Minecraft服务,再使用 minecraftctl join 连接服务。

我们第一次连上去会自动下载所需的东西,我们刚刚连上去要稍微等一下,过一会下载就会自动暂停,并且提示我们

You need to accept the eula to launch your server. Type true to continue.

我们在这里先不通过协议,按[Ctrl+C]终止程序,然后去修改核心配置

  • 将lang值改为zh_CN
  • 将check_update_auto_download的值改为true

保存后按[Ctrl+D]退出screen,再执行一次 minecraftctl start ,此时使用 minecraftctl join 连上去就发现变成中文了,等到它提示

你需要同意EULA才能继续启动服务器。输入“true”同意

的时候,输入 true 按下回车,服务器就部署好啦,等到出现

完成!输入“/help”获取帮助信息

的时候,就说明服务器已经完成部署啦~


# 本地终端使用# chmod 400 私钥路径 # ssh -i 私钥路径  Minecraft@服务器IP# 来登录服务器sudo yum install -y screen
mkdir Minecraft
cd Minecraft
screen -S"Download"# 设置AdoptOpenJDK源sudosucat <<'EOF' > /etc/yum.repos.d/adoptopenjdk.repo
[AdoptOpenJDK]
name=AdoptOpenJDK
baseurl=https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/rpm/centos$releasever-$basearch/
enabled=1gpgcheck=1gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
EOF
[Ctrl+D]
# 安装JREsudo yum install -y adoptopenjdk-11-openj9-jre
[Ctrl+A+D]  # 这个快捷键会将当前screen挂载在后台运行wget https://mohistmc.com/api/1.16.5/latest/download -O mohist-1.16.5-server.jar
wget https://github.91chifun.workers.dev/https://github.com//yushijinhun/authlib-injector/releases/download/v1.1.39/authlib-injector-1.1.39.jar
wget https://github.91chifun.workers.dev/https://github.com//MemoryShadow/minecraftctl/releases/download/v1.0.1/minecraftctl-1.0.1-1.el7.x86_64.rpm
sudo rpm -i minecraftctl-1.0.1-1.el7.x86_64.rpm
rm *.rpm
# 在安装完成其他组件后,回去看screen中的下载进度screen -rd"Download"# 等待下载结束[Ctrl+D]
# 现在东西都已经下载完了,开始启动程序进行部署# 先编辑一下配置,由于我们下载部署的不是最新的版本,所以并不会随着我们的账户变化而自动的更改目录sudo minecraftctl edit cfg
# 下方是vi中的操作#===START===# 将GamePath的值改为游戏目录,这里的示例值是"/home/${USER}/Minecraft"# 将authlib_injectorVer的值改为最新版本"1.1.39"# 将MainJAR的值改为我们上面下载的mohist-1.16.5-server# 按[Esc]退出插入模式:wq
#===END===# 退出后会有一个小报错,说找不到目录,是因为我们刚刚是使用root的身份进行编辑的,也只有root用户才能编辑配置,使用Minecraft用户启动服务即可minecraftctl start# 启动服务minecraftctl join   # 连接到后台# 等到它询问# You need to accept the eula to launch your server. Type true to continue.[Ctrl+C]
vim mohist-config/mohist.yml
# 下方是vi中的操作#===START===# 将lang值改为zh_CN# 将check_update_auto_download的值改为true# 按[Esc]退出插入模式:wq
#===END===[Ctrl+D]
minecraftctl startminecraftctl join
true

效果测试

要测试服务器的体验情况,我们除了常用的tps命令以外,还需要一些测速mod来测试,例如更好的延迟显示,我们就以这个mod来向大家举例,如何上传mod并且进行测试。

首先,我们前往curseforge下载这个模组到本机,然后使用scp命令拷贝到服务器上,拷贝完成后使用 minecraftctl restart 重启Minecraft服务,即可完成配置。

接下来配置一个带有"更好的延迟显示"模组的游戏版本连接到服务器进行测试吧~

别忘记我们使用了第三方验证服务

image.png

测试样图

# 在本机终端执行scp -i 私钥文件路径 你下载的mod文件路径  Minecraft@服务器IP:~/Minecraft/mods/
# 在远程终端执行minecraftctl restart

收获

在此次实训中,能够熟练掌握阿里云ECS的基本安全部署,使用公私钥进行身份认证,了解wget的基本用法,使用yum和rpm安装应用程序,并了解如何添加yum源,寻找国内镜像源。熟练掌握vi以及vim的基础用法,知道如何查找文本,如何编辑文件,如何保存文件,如何新建文件夹,以及了解screen的基础用法,接触GitHub并浏览。

感谢阿里云为高校生免费提供的服务器。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
SQL 弹性计算 安全
阿里云服务器产品详情介绍:云服务器是什么、应用场景、租用流程、使用教程参考
对于很多新手用户来说,阿里云服务器是什么、阿里云服务器可以干嘛、阿里云服务器租用价格表、阿里云服务器新手教程是很多用户对于阿里云服务器最为关心的问题。同时,面对琳琅满目的服务器配置和优惠活动,如何选择最适合自己的服务器并充分利用其资源,成为许多用户面临的难题。本文将从阿里云服务器的定义、应用场景、价格、租用流程以及使用技巧等方面进行全面解析,帮助用户更好地了解和应用阿里云服务器。
|
3天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
18天前
|
存储 弹性计算 安全
阿里云服务器ECS详解:云服务器是什么,云服务器优势和应用场景及价格参考
云服务器ECS是阿里云众多云产品中,最受用户关注的产品,阿里云服务器提供多样化的计算能力,支持x86、Arm架构,涵盖CPU、GPU等多种服务器类型,满足各种用户需求。本文为大家详细介绍阿里云服务器是什么?云服务器的优势和应用场景,以及最新价格情况,以供大家参考。
|
21天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
36 6
|
21天前
|
弹性计算 固态存储 Linux
阿里云服务器、轻量应用服务器、gpu云服务器收费标准与实时活动价格参考
云服务器ECS、轻量应用服务器和gpu云服务器是阿里云的主要云服务器产品,目前轻量应用服务器2核2G收费标准为60元/月,活动价格只要36元/1年或68元1年,云服务器1核1G包月收费标准最低为24.0元/月,GPU云服务器中gn6i实例4核15G配置月付1681.00/1个月起,gn6v实例8核32G配置月付3817.00/1个月起。本文为大家整理汇总了阿里云服务器、轻量应用服务器、gpu云服务器的最新收费标准与活动价格情况,以表格形式展示给大家,以供参考。
|
26天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
1月前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
1月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
206 2
|
1月前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
1月前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
68 9