玩过Minecraft的人都知道,Minecraft(我的世界)是一款开放式的沙盒类的生存、创作游戏。在世界中,可以开拓探索,可以创意搭建,可以模拟养成,但莫大的世界中孤零零的一人打造一个人世界略显孤独(难道玩游戏的宅男都是单身狗?)而看着那些大触们的世界,只能默默地感叹自己完了一个假Minecraft,仰望着别人的世界。
在每一个人成长为大触的时候,甚至在成为大触的路上之时,大家都希望能邀请朋友来自己世界里探险,成长。在本地的局域网内自然不用说可以让好友加入,但随时随地的分享却需要服务器才能实现,正因如此官方的Minecraft提供了Realm服务器的服务,通过账号就可以建立官方的服务器并于好友一起进行游戏,官方的服务器当然是最简单的方式,但是一个月需要50元的服务器费用,如果仅仅是需要在正常的生存模式以及创作模式下体验游戏乐趣的,官方的Realm当然是最佳的选择。但Minecraft服务器的乐趣并不仅仅如此,在原有的官方服务器的基础上,大触们可以用第三方Mod服务器实现服务器中使用插件,服务器Mod各种各样厉害的功能。
Mod服务器选择
现在主流的支持Mod的服务器有Bukkit(https://bukkit.org/),Spigot,MCPC。对于Bukkit,服务器Mod就是CraftBukkit.jar; 而 Spigot 是基于Bukkit 优化的服务器Mod在支持Bukkit所有API情况下优化了服务器的效率,MCPC也是同理的服务器Mod。 至于选择什么样的服务器开服取决于你想将来怎么为你的服务器加Mod,先做好Mod需要的准备然后再决定服务器的种类。因为我需要用到ResberryJuicy API 以及 Scriptcraft API的功能所以我选择了 Spigot,因此后续的教程我将讲如何在阿里云上搭建Spigot服务器,也就是我们所说的水龙头服务器。
Minecraft 服务器可以实现与朋友间共享世界,一起搭建的乐趣, 使用Spigot服务器可以添加插件,Mod的功能,也可以方便于服务器管理与维护,可以让服务器更有乐趣。
设置阿里云服务器
登录阿里云网站,注册账号,在产品 -> 云计算基础服务 -> 弹性计算 -> 与服务器ECS中选择相应的配置服务器。个人推荐选择基础型 1核 2GB内存的。 选好支付后,跟着(可选择安装ubuntu 64位的系统)步骤设置完成了,你就会在个人账户的管理控制台中看到你运行的服务器实例了。
记住服务器实例的公有IP 这将是邀请你朋友连接你的服务器的地址!(当然这个地址可以随时查到的)登录远程连接的控制界面(跟着阿里云的提示设置),这样你就远程进入到了阿里云上的服务器实例了!
设置Spigot服务器
首先确定系统已经安装Java环境, 然后下载Spigot服务器build的工具:
在根目录下建立一个文件夹存放服务器相关文件:
mkdir SpigotMC_Server
然后进入这个文件夹
cd SpigotMC_Server/
下载BuildTools。
wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar.
运行BuildTools。
java -jar BuildTools.jar
如果后面不加 --rev 的参数则,BuildTools会默认建立最新的版本,当前是1.11.2, 如果你想建立特定的版本号的服务器,则需要加 --rev 的参数,如果想要 1.9.2 的版本则需要
java -jar BuildTools.jar --rev 1.9.2
当程序正确的Build 完成后,你能在当前目录下找到 (craftbukkit-1.10.jarandspigot-1.10.jar). Y你能找到 Spigot-API in\Spigot\Spigot-API\target\(spigot-api-1.10-R0.1-SNAPSHOT.jar).
运行服务器
创建一个服务器运行脚本,建立一个start.sh文件
touch start.sh
用vim编辑文本
vim start.sh
将下列代码写入文本
Code (Example):
#!/bin/sh
java -Xmx1G -jar spigot.jar
让start.sh变成可执行文件
chmod +x start.sh
运行脚本
./start.sh
赋予脚本权限
然后,我们需要修改一下EULA文件来让start.sh脚本顺利运行,输入:
vim eula.txt
进入编辑器,将 “eula=false” 改为 “eula=true”。
对服务器属性进行配置
#Minecraft server properties
gamemode=0 # 游戏模式,0=生存,1=创造,2=极限
difficulty=1 # 游戏难度,默认为1,0为和平,不同难度会影响一些怪物的行为
pvp=true # 允许pvp,如果不想玩家互掐的话可以关了
max-players=5 # 最大玩家数量,限制同时可以在线的玩家数目,默认20
network-compression-threshold=128 # 封包压缩阈值,超过这个大小的封包进行压缩,适当改小可以减少网络延迟,默认256
server-port=25590 # 服务端监听哪个端口,默认25565,防止其他人陌生人扫描或者尝试登录可以改成其他值
server-ip= # java监听IP,默认全部IP,多网卡服务器可以指定一个
view-distance=10 # 游戏中视野距离,影响玩家在游戏中的可见距离,越大越占用服务器资源,在spigot.yml中的配置会覆盖这里
online-mode=true # online模式,防止盗版用户连接服务器
level-seed= # 地图种子,留空会随机生成一个,如果有好图可以指定
motd=A Minecraft Serve r# 服务器motd
登陆服务器开始游戏
开始游戏吧!