记一次Minecraft游戏服务器搭建实践经历
Minecraft简介
Minecraft是一款沙盒游戏,整个游戏没有剧情,玩家在游戏中自由建设和破坏,透过像积木一样来对元素进行组合与拼凑,轻而易举的就能制作出小木屋、城堡甚至城市,玩家可以通过自己创造的作品来体验上帝一般的感觉。在这款游戏里,不仅可以单人娱乐,还可以多人联机,玩家也可以安装一些模组来增加游戏趣味性。
Minecraft几乎不包含任何目前流行的游戏元素。Minecraft使用Java编写,具有极强的适应性,而且功能强大,整个游戏画面就像回到了上个世纪,看上去各种模糊和马赛克,就连人物也是一个方块盒子而已,但是却可以给玩家带来像是玩乐高积木一样的永久乐趣。
需求分析:为了使玩家不再孤独地生存在我的世界里,我们可通过服务器搭建游戏联机平台来让我们共同在一个世界里玩耍。
配置
下面开始具体的服务器端搭建。
服务器选配
本文章采用阿里云云服务器 1 vCPU 1 GB (I/O优化);ecs.t5-lc1m1.small 5Mbps (峰值)进行实验配置。若应用于实际的游戏联机场景中,推荐采用“计算网络增强型实例规格族 sn1ne”(更多实例可参考:云服务器ECS实例规格族)。
有关服务器选配可参考:云服务器ECS,本文不再赘述。
此服务器可承载约2-5人同时在线。
添加安全组规则:端口范围全部开放。(可参考文档:添加安全组规则)
安装JAVA环境
MC是用Java写的就不再赘述了,由于服务器端的MC是一个jar包,我们在配置之后通过运行jar包来开启服务器端,同时我们在PC上打开后通过IP地址即可搜索并进入服务器。所以我们首先要先安装Java。一般来说默认安装的是有Java 8的,如果没有可以按照下面的方法来安装:
1.验证是否安装Java,如果安装就查看版本
java -version
下面是博主的Java版本:
[root@host ~]# java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
如果不是Java 8或者没有安装,就用下面的方法安装:
sudo yum install java-1.8.0-openjdk
下载Minecraf服务器端
本文章采用Mineraft 1.13 的服务器端版本,服务器端版本需与客户端版本匹配,否则将会无法连接。
所以不同的版本对应着不同的服务器端,所以我们要下载正确的版本。如何看MC版本呢,一般来说MC游戏左上角就写的有了,例如:Mineeraft 1.13。如果没有的同学可以启动MC游戏进入到开始界面即可。
输入命令安装1.13版本Minecraft服务器端:
sudo wget https://launcher.mojang.com/mc/game/1.13/server/d0caafb8438ebd206f99930cfaecfa6c9a13dca0/server.jar
其他服务器端版本可参考:
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/版本号/minecraft_server.版本号.jar
启动Minecraft
上面的jar包下载完成之后,我们稍作准备就可以开启了!这里还是提醒一下对Java不熟悉的同学。我们知道可执行文件是.exe。双击直接运行,那么Java可以生成jar包,就是.jar文件,在Windows上也是可以双击运行的。而我们下载的这个MC服务器端其实就是已经做好的jar包,所以我们在“双击”启动之前还是需要一些配置,以及用Linux的方法来启动。
首先,来看一下内存的使用,输入命令:
free -h
我们可以看到当前内存的使用情况,下面是我输入该命令后的显示:
根据free栏的内存数,我们可以确定该给MC服务器分配多大的内存(当然越多越好啦)。
之后,我们就可以使用命令来运行MC服务器了:
sudo java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
以本实践为例:
java -Xmx666M -Xms1024M -jar server.jar nogui
启动成功
上面的命令输入完成,理论上我们就能启动了!这里注意,我们现在如果在Windows下,等于说已经进入到这个程序中了,所以不能再使用Linux命令,等待参数由0%一直到100%就启动完成啦!下面给出博主启动完成的后几行显示:
这样就启动成功了,不要有顾虑,直接启动PC端连接服务器进入MC吧!(启动失败的情况下面有一个解决方法)
启动完成后当前这个窗口就可以不用管了。博主使用的Xshell,直接最小化。联机完毕之后其实直接关了Xshell就行,自动就断开了,当然也可以输入Ctrl+C,直接终止进程。
意外状况处理
在进行安装的过程中,并不总是一帆风顺的,往往会出现意外状况。下面给出一些常见的意外状况解决方法。
启动失败-同意协议
我们在第一次运行完jar包后,无论是否运行成功,都能发现当前目录下多出了一堆文件,运行失败的时候其实就是配置除了一点问题。我们在当前目录找一下文件:eula.txt。
我们需要对这个文件进行一下小编辑:
vi eula.txt
按“i”键进入编辑模式,找到这一行:
eula=false
将false改成true即可。
退出vi编辑器:
1.按 esc
2.输入 :wq
这样就同意了那个“最终用户许可协议”。
PC端连接失败
这里是上面都启动成功之后,PC端也搜索到了服务器,但是就是连接失败,这样我们可以修改配置,先在jar包目录下找到文件server.propertices 并编辑:
vi server.propertices
找到这一行:
online-mode:true
将true改为false 即可。
游戏配置
关于MC服务器端的配置,我们就需要修改这个文件了,同样在jar包所在目录下:
vi server.propertices
可以看到,里面是对当前你创建的这个游戏的各种配置,像选择模式啦、世界生成的种子啦、是否有村民啦等等,就像PC创建世界时的各种选项一样。这里就不再介绍了,需要修改的同学自行百度。
Shell脚本启动
我们如果一直使用上面那一句启动的话是不是非常麻烦!每次都要复制粘贴,那么我们可以写一个简单的Shell脚本,放在jar包所在目录,每次启动的时候直接启动脚本就能进入游戏了,完全不需要Shell编程基础,直接复制粘贴即可!
vi start.sh
进入编辑模式后输入代码:
#!/bin/sh java -Xmx666M -Xms1024M -jar server.jar nogui;
这其实就是让脚本帮你搓启动命令,而你仅需要运行一下脚本即可:
bash start.sh
最后,在PC端添加Minecraft服务器配置(Server name任意;Server Address填写阿里云服务器的公网IP),并连接。开始享受Mineraft联机的乐趣吧!
后期运维
可以看到(如下图),选择 1 vCPU 1 GB (I/O优化);ecs.t5-lc1m1.small 5Mbps (峰值)的配置,并不满足多人实时在线的流量请求。因此,在选配云服务器中,应选择2 vCPU 4 GB配备5-10Mbps带宽或以上最为合适,可承载20-40人同时在线。
在后期,配备阿里云负载均衡SLB和弹性伸缩等产品,可实现在突发大流量、高并发的场景下的服务支持,使玩家拥有更好的游戏体验。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 开发者福音:阿里巴巴宣布连任 Java 全球管理组织席位
最受开发者欢迎的 Java 有了新动态。11 月 23 日,阿里巴巴宣布连任Java全球管理组织JCP最高执行委员会委员,任期从 2018 年 12 月 4 号开始,为期两年。这意味将有更多中国开发者的声音被引入 Java 规范的制定中,让“中国标准”成为全球规范。 JCP 全称Java Community Process ,是 Java 技术的最高决策机构,职责包括发展和更新 Java 技术规范,规划 Java 未来演进方向。 作为全球使用最为广泛的开发语言之一,Java 已经在手机应用、PC 软件、物联网领域广泛应用,众多中国互联网企业也将 Java 作为主要编程语言。 阿里巴巴是 Java 受益最多也是回馈最多的科技公司之一。2017 年,阿里面向全球发布了《阿里巴巴 Java 开发规约》,这一规约集合了众多中国工程师的智慧与经验
- 下一篇
怎么修复网站漏洞之metinfo远程SQL注入漏洞修补
2018年11月23日SINE网站安全检测平台,检测到MetInfo最新版本爆出高危漏洞,危害性较大,影响目前MetInfo 5.3版本到最新的 MetInfo 6.1.3版本,该网站漏洞产生的主要原因是MetInfo的上传代码里的参数值没有进行安全过滤,导致上传路径这里进行伪造路径,并可以插入恶意的代码,以及特殊字符进行上传图片到MetInfo的后台。 MetInfo也叫米拓企业网站建站系统,是目前大多数企业网站使用的一个建站系统,整个系统采用的是php+mysql数据库作为基础架构,支持多功能语言版本以及html静态优化,可视化简单操作,可以自己定义编写API接口,米拓官方提供免费的模板供企业网站选择、网站加速,补丁在线升级,移动端自适应设计,深受广大建站公司的喜欢。 metinfo 漏洞详情利用与metinfo 网站漏洞修复 目前最新的版本以及旧的版本,产生漏洞的原因以及文件都是图片上传代码里的一些代码以及参数值导致该漏洞的产生,在上传图片中,远程保存图片功能参数里可以对传入的远程路径值得函数变量进行修改与伪造,整个metinfo系统并没有对该变量值进行严格的检查,导致攻击者可以...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 2048小游戏-低调大师作品
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果