在Azure的Ubuntu虚拟机上搭建Minecraft服务器(并且使其能够进行JavaScript编程)

因为去年把在Azure上搭建的Minecraft服务器删掉了,所以决定重新开始。
由于Azure的VM配置和步骤有些变化,所以决定重新按步骤将最新的设置过程发布在Qiita上。

只需要一个选项:

条件

    マインクラフト(クライエント)をインストールしている。
    Azureのサブスクリプションを持っている。
    Windows 10 Anniversary Update から操作する。

关于购买和试用《我的世界》等相关事项,这篇博客文章似乎很不错。
虽然Windows 10周年更新不是必须的,但现在可以使用bash shell,对于进行ssl连接非常方便。如果有PuTTy的话也可以。

创建一个Ubuntu虚拟机在Azure上。

image
image

設定 VM 的 DNS 名稱的步驟為 2。

2016-09-04 16_35_36-Properties - Microsoft Azure.png

打开用于Minecraft服务器的端口的步骤为3。

2016-09-04 16_49_40-ywatanaubuntu16-nsg - Microsoft Azure.png

从操作步骤来看,要连接到VM上的SSH。

image

然后执行ssh命令。

以中国本土语言中的一个选择来解释下面的短语:
用 ssh 命令连接到指定的完整域名的用户。

    VM作成時に指定したUser Name

    VM作成後に設定したDNS名

当被要求输入密码时,输入您在创建虚拟机时指定的密码以完成SSH连接。以下是在SSH控制台内进行的操作。

手续5:在Ubuntu上打开Minecraft服务器的端口。

使用iptables命令,将端口25565添加为新的防火墙规则。请注意,只有在AzureVM和UbuntuOS两者上都打开了该端口,客户端才能连接。
sudo iptables -I INPUT -p tcp -m tcp –dport 25565 -j ACCEPT

2016-09-04 17_15_50-.png

安装所需的工具。

随后安装Java和Git。
sudo apt-get install openjdk-8-jre-headless(Java用于构建和运行Minecraft服务器)。
sudo apt-get install git(用于构建)。

创建一个新的目录,用于保存与服务器相关的文件。

创建一个用于保存服务器文件的目录。名字可以随便取,但是由于服务器使用Spigot,所以决定命名为minecraft_spigot。

下载Spigot服务器的BuildTools工具。

Spigot服务器文件采用了将名为BuildTools的jar文件保存在本地,并通过Java构建并分发它的方式。
执行以下命令:
cd minecraft_spigot(切换到上述步骤创建的目录)
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastStableBuild/artifact/target/BuildTools.jar
(此URL始终指向最新的稳定版本。)

image

构建Spigot的步骤9

通过在Java中执行下载的BuildTools.jar文件,会自动克隆多个Git仓库并生成相应的成果物。我认为完成构建可能需要大约5至10分钟的时间。

运行BuildTools.jar文件

image

为了达成用户许可协议(EULA)的步骤10,请先运行Minecraft服务器。

第一次运行Minecraft服务器时,使用以下命令:
java -Xmx1024M -Xms1024M -jar spigot-1.10.2.jar nogui

image

为了继续,需要打开eula.txt文件并使用编辑器将false更改为true,然后保存。下面是使用nano进行编辑的过程。

image

步骤十一:现在开始执行服务器。

命令和上述的步骤完全相同,但由於已經同意了最終用戶許可協議(EULA),所以服務器已經加載並且開始執行。
java -Xmx1024M -Xms1024M -jar spigot-1.10.2.jar nogui

由于反复输入这个很麻烦,所以将其保存在脚本文件中。

echo java -Xmx1024M -Xms1024M -jar spigot-1.10.2.jar nogui > ./start.sh
chmod +x ./start.sh
2016-09-04 18_58_02-ywatana@ywatanaubuntu16_ ~_minecraft_spigot.png

连接到服务器的步骤12从客户端开始。

image
2016-09-04 19_11_11-Minecraft 1.10.2.png

搞糟了!

image

关闭服务器的方法

当您未连接到服务器进行游戏时,将VM停止以避免付费是理所当然的。在此期间,为了正确保存游戏内容,首先需要关闭Minecraft服务器。

image

使用ScriptCraft插件在Minecraft中使用JavaScript

下载ScriptCraft插件的步骤一。

首先,从ScriptCraft的GitHub仓库中下载scriptcraft.jar文件,并将其放在名为plugins的子目录中。

cd plugins
wget https://github.com/walterhiggins/ScriptCraft/releases/download/3.2.0/scriptcraft.jar
image

将用户设为操作员

要使用ScriptCraft执行JavaScript,需要OP权限。请在Minecraft服务器的控制台中执行以下命令。(yoshionminecraft是我的用户名)

image

使用这个,就能在Minecraft中创建一个JavaScript编程环境。
例如,从Minecraft的游戏画面运行以下代码,你将能够创建一个由5个宽度、6个高度和8个深度的”石头”方块构成的立方体。
/js box(blocks.stone, 5, 6, 8)

请点击这里查看有关Minecraft JavaScript编程的详细信息。

bannerAds