我的世界 (Minecraft) 可以单人游戏,也可以在局域网联机,也可以自己搭建服务器,官方也提供了服务端下载。因为 Java 版的 Minecraft 服务端也是用 Java 编写的,所以可以在 Windows、Linux、Mac 上搭建服务器。

如果你想windows平台搭建服务器,可以参考我之前的文章


虽然网易代理了 Minecraft,但是需要网易官方的客户端才能使用网易的服务器,相比自己搭建来说限制也比较多。自己搭建服务器可以直接使用官方的 Minecraft Java 版来联机,而且可自定义的方面也比较多。

关于服务器

我这里使用的是阿里云的轻量应用服务器,配置是 1 核 2G 5M,这个配置对于十个人以下的服务器也基本够用。

关于玩家人数和服务器配置要求可以稍微参考一下 http://canihostaminecraftserver.com/ 的计算结果。

我使用的 Linux 版本是 CentOS 7,CentOS 和 Ubuntu 除了在安装环境和设置端口有点不一样外其它设置都差不多。

安装 Java

可以到https://mcversions.net/下载,服务器版本需要和客户端版本一致。可以直接复制下载地址用 wget 下载,也可以下载到本地电脑再上传到服务器,如果服务器在国内,直接使用服务器下载速度可能会比较慢。

下载的服务端文件可能是一个server.jarjar文件,第一次启动后会在存放server.jar的目录生成很多个文件,可以在第一次启动前就单独创建一个目录来存放server.jar

下载完成后需要启动一次服务器来生成相关配置文件,可以输入:

java -Xms512M -Xmx1024M -jar server.jar -nogui

其中的-Xms512M是设置初始分配内存为512M-Xmx1024M是设置最大占用内存为1024M
第一次启动时可能会输出如下的内容:

[23:10:11] [main/ERROR]: Failed to load properties from file: server.properties
[23:10:11] [main/WARN]: Failed to load eula.txt
[23:10:11] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

此时在服务端的存放目录会生成一个eula.txt的文本文件,打开eula.txteula=false改为eula=true然后保存退出。
现在再启动服务器就可以启动成功了,不过在启动服务器之前可以先进行一些必要的配置。

配置说明

Minecraft Server 的配置文件是server.properties,配置文件会在第一次启动服务器后生成。

下面是一些配置项的简单说明:

·online-mode:连接到Minecraft服务器验证玩家账户信息,如果玩家的Minecraft不是正版将无法进入服务器。如果你只允许正版玩家加入可以设置为true,否则可以设置为false

·gamemode:设置默认的游戏模式。survival生存模式,creative创造模式,adventure冒险模式。spectator旁观模式。

·difficulty:设置游戏难度。peaceful和平,easy简单,normal普通,hard

·level-type:设置生成地图的类型。default带有丘陵、河谷、海洋等的标准的世界,flat超平坦世界,largebiomes如同预设(default)世界,但所有生物群系都更大,amplified如同预设世界,但世界生成高度提高。

·pvp:玩家之间是否可以互相残杀。true玩家可以互相残杀,false玩家之间不会造成伤害。这里的伤害不包括岩浆或陷阱之类的间接伤害。

·allow-nether:是否允许进入下界。true可以进入下界,false下界传送门不会生效。

·enable-command-block:是否启用命令方块。true启用,false不启用。

·level-seed:生成世界的种子,默认为空白。

·player-idle-timeout:踢出长时间挂机的玩家,以分钟为单位,默认为0不限制。

·spawn-animals:是否可以生成动物。true可以生成动物,false不可以生成动物。

·spawn-monsters:是否可以生成攻击型生物和怪物。true可以生成,false不可以生成。

·spawn-npcs:是否可以生成村民。true可以生成,false不可以生成。

·query.port:监听服务器的端口号,默认为25565

·server-port:服务器端口,默认为25565

这里只包含一部分的配置说明,如需查看更多配置说明可以访问 https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh

在启动服务器前别忘了打开端口,关于 CentOS 开放端口可以看 CentOS 开放、关闭和查看端口 如果是阿里云的服务器的话,还需要在服务器后台的防火墙开放端口。

客户端连接

进入Minecraft,选择多人游戏,点击添加服务器,在服务器地址输入框输入服务器的IP +端口号,比如我的服务器 IP 是39.112.55.66,端口是25565,格式就是39.112.55.66:25565,如下:

图1

服务器后台运行

如果直接使用:

java -Xms512M -Xmx1024M -jar server.jar -nogui

启动服务器的话,在断开远程连接后服务器也会停止运行。

如果要在断开远程连接后保持服务器运行可以使用:

nohup java -Xms512M -Xmx1024M -jar server.jar -nogui &

启动服务器。

安装 MOD

如果你需要安装 MOD 的话,可以不需要手动下载服务端,FORGE 安装的时候会自动下载对应版本的服务端。

进入http://files.minecraftforge.net/ 下载和你的 Minecraft 版本对应的 FORGE,选择完版本后点击 Installer下载。

下载完成后是一个jar文件,可以上传到 Linux 服务器安装,也可以在自己的电脑上安装,安装完成后把生成的文件上传到服务器。下面就在本地电脑上安装,然后把安装生成的文件上传到服务器。

运行下载的 FORGE 安装程序,选择Install Server,安装位置可以选择一个比较容易找到的文件夹,如下:

图2

安装的时候需要下载文件,在国内速度可能会比较慢,安装完成后会生成一个libraries文件夹、一个forge.jar、一个minecraft_server.jar和一个 JSON 文件,把安装生成的文件和目录全部上传到服务器。

上传完成后运行forge.jar

java -Xms512M -Xmx1024M -jar forge-1.14.4-28.2.0.jar -nogui

FORGE 的版本号可能会不一样。

第一次运行可能会出现如下的提示:

[10:58:28] [main/ERROR] [minecraft/PropertyManager]: Failed to load properties from file: server.properties
[10:58:28] [main/WARN] [minecraft/ServerEula]: Failed to load eula.txt
[10:58:28] [main/INFO] [minecraft/MinecraftServer]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

打开eula.txteula=false改为eula=true然后保存退出。

第一次运行后会生成一些文件和目录,其中的server.properties就是配置文件,mods目录就是存放 MOD 的目录,下载的jar格式的 MOD 可以直接放到mods目录。

有的 MOD 除了服务端安装外客户端也需要安装,否则可能无法进入服务器。安装了 FORGE 后,启动服务器就需要通过 forge.jar启动。

以上就是在 Linux 搭建服务器的过程,这个服务器只能给 Java 版的 Minecraft 使用。