在Azure的Ubuntu虚拟机上搭建Minecraft服务器(并且使其能够进行JavaScript编程)
因为去年把在Azure上搭建的Minecraft服务器删掉了,所以决定重新开始。
由于Azure的VM配置和步骤有些变化,所以决定重新按步骤将最新的设置过程发布在Qiita上。
只需要一个选项:
条件
-
マインクラフト(クライエント)をインストールしている。
Azureのサブスクリプションを持っている。
Windows 10 Anniversary Update から操作する。
关于购买和试用《我的世界》等相关事项,这篇博客文章似乎很不错。
虽然Windows 10周年更新不是必须的,但现在可以使用bash shell,对于进行ssl连接非常方便。如果有PuTTy的话也可以。
创建一个Ubuntu虚拟机在Azure上。


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

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

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

然后执行ssh命令。
以中国本土语言中的一个选择来解释下面的短语:
用 ssh 命令连接到指定的完整域名的用户。
当被要求输入密码时,输入您在创建虚拟机时指定的密码以完成SSH连接。以下是在SSH控制台内进行的操作。
手续5:在Ubuntu上打开Minecraft服务器的端口。
使用iptables命令,将端口25565添加为新的防火墙规则。请注意,只有在AzureVM和UbuntuOS两者上都打开了该端口,客户端才能连接。
sudo iptables -I INPUT -p tcp -m tcp –dport 25565 -j ACCEPT

安装所需的工具。
随后安装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始终指向最新的稳定版本。)

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

为了达成用户许可协议(EULA)的步骤10,请先运行Minecraft服务器。
第一次运行Minecraft服务器时,使用以下命令:
java -Xmx1024M -Xms1024M -jar spigot-1.10.2.jar nogui

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

步骤十一:现在开始执行服务器。
命令和上述的步骤完全相同,但由於已經同意了最終用戶許可協議(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

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


搞糟了!

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

使用ScriptCraft插件在Minecraft中使用JavaScript
下载ScriptCraft插件的步骤一。
首先,从ScriptCraft的GitHub仓库中下载scriptcraft.jar文件,并将其放在名为plugins的子目录中。
cd plugins
wget https://github.com/walterhiggins/ScriptCraft/releases/download/3.2.0/scriptcraft.jar

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

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