保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

07-09 1074阅读

Minecraft(我的世界)应该算是最有名的沙盒游戏之一了。它最初于 2009 年发布,让玩家可以在一个由方块构成的3D生成世界中建造、探索、制作和生存。截至 2022 年初,它已成为史上销量最高的游戏(现在还是不是,暂时还没求证,如果你知道的话,请在评论区告诉我)。

在本教程中,我将带你将创建自己的《我的世界》(Minecraft)服务器,让你可以和你的朋友在同一个世界中一起建造、探索。具体来讲呢,就是你将要安装运行《我的世界》(Minecraft)所需的软件包,配置服务器运行,然后部署游戏。

不用担心,这个教程非常简单,只要你跟着做,即便不熟悉技术也能搞定!因为要输入什么命令行,我都已经给写在里面了,直接使用就行。当然,也科普了一下部分命令行的原理,授人以渔。

注意,本教程使用的是 Minecraft 的 Java 版本。如果你通过 Microsoft 应用商店购买的 Minecraft 版本,那么你将无法基于本教程连接到此服务器。在 PlayStation 4、Xbox One 或 Nintendo Switch 等游戏机上购买的 Minecraft 的大多数版本也是 Microsoft 版本的。这些游戏机也无法连接到本教程中构建的服务器。你可以点击这里从官方获取 Minecraft的Java版本。

另外,如果你没有耐心自己操作,你还可以使用 DigitalOcean 的“一键式Minecraft:Java 版服务器”作为另一个安装途径。这个方式会比教程更快,一键安装。

让我们开始吧!

准备工作

为了你能顺利跟上本教程的步骤,你需要这些:

  1. 一台装有最新 Ubuntu 的服务器,一个具有 sudo 权限的非 root 用户,并启用了 SSH。你可以在注册 DigitalOcean 云服务之后,阅读这份指南来初始化你的服务器并完成这些步骤。Minecraft 可能会占用大量资源,因此在选择服务器大小时请牢记这一点。如果您使用的是 DigitalOcean 云服务并需要更多资源,可以随时调整 Droplet 的大小以添加更多 CPU 和 RAM。
  2. 在本地 Mac、Windows 或 Linux 计算机上安装 Minecraft Java Edition 副本。

好了,接下来就是构建自己的 Minecraft 服务器的步骤,也是本文后续要讲的:

  • 安装必要的软件包并配置防火墙
  • 下载最新版本的 Minecraft
  • 配置和运行 Minecraft 服务器
  • 如何保持 Minecraft 服务器运行
  • 从 Minecraft 客户端连接到你的服务器

    第一步:安装必要的软件包并配置防火墙

    在刚刚说的准备工作中,你应该已经初始化你的服务器了。接下来,第一步是安装 Java;你需要它来运行 Minecraft。

    首先,如果你使用的是 DigitalOcean 的服务,那么在登录自己的账号之后,点击界面中的 Console,就可以进入服务器的终端,然后输入接下来本文给出的命令行即可。如果你是使用别的服务器,那么请按照平时的操作流程来输入命令行。

    保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

    默认情况下,Ubuntu 22.04 提供的 Java 版本不足以运行最新版本的 Minecraft。所幸,有第三方继续为较旧的 Ubuntu 版本构建更新的 Java 软件包,你可以通过将他们的 PPA(个人软件包存档)添加到自己的软件包源列表中来进行安装。你可以使用以下命令来做到这一点:

     
    

    bash

    复制代码

    sudo add-apt-repository ppa:openjdk-r/ppa

    接下来,更新软件包:

     
    

    sql

    复制代码

    sudo apt update

    屏幕出现提示确认的时候,按 Y 键。如果提示重新启动任何服务的时候,按 ENTER 接受默认的选项并继续。

    最后,安装 Java 的 OpenJDK 17 Headless JRE。这是一个最小版本的 Java,移除了对 GUI 应用程序的支持。这使得它非常适合在服务器上运行 Java 应用程序:

     
    

    复制代码

    sudo apt install openjdk-17-jre-headless

    你还需要一个名为 screen 的软件来创建可分离(detachable)服务器 session。screen 允许用户创建一个终端session并与其分离,同时保留在该会话上启动的进程的运行状态。什么意思呢?简单来讲就是在使用服务器远程跑程序时,偶尔会遇到这样的问题:跑了很久,却突然断开连接了,一夜回到解放前,或者退出窗口重新进入时看不到代码运行界面了。screen 就是解决这个问题的。

    这是非常重要的,因为如果你启动服务器然后关闭终端,这将终止会话并停止您的服务器。现在安装screen:

     
    

    复制代码

    sudo apt install screen

    现在我们已经安装了必要的软件包,我们需要启用防火墙以允许流量进入我们的 Minecraft 服务器。如果你是按照本文开始超链那篇初始服务器设置来操作的,那么在设置中,你只允许 SSH 流量。现在,你需要允许通过端口 25565 进入的流量,这是 Minecraft 用于允许连接的默认端口。在某些情况下,ufw 会使用命名的流量规则,例如 SSH,它默认始终使用端口 22,但在像这种情况这样不太常见的情况下,我们将手动指定端口号。通过运行以下命令添加必要的防火墙规则:

     
    

    复制代码

    sudo ufw allow 25565

    现在你已经安装了 Java,并且配置了防火墙,接下来,从 Minecraft 官网下载 Minecraft 服务器应用程序。

    第二步:下载最新版本的 Minecraft

    现在,我们来下载 Minecraft 服务器的最新版本。我们可以通过访问 Minecraft的官方网站并复制“Download minecraft_server.X.X.X.jar” 的链接来完成此操作,其中的 X 表示服务器的最新版本。

    以使用 wget 命令和复制的链接,将服务器应用程序下载到你的服务器上:

     
    

    bash

    复制代码

    wget https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar

    服务器应用下载后,名字是 server.jar。如果你需要管理 Minecraft 的版本,或者想要升级你的 Minecraft 服务器,可以将下载的 server.jar 重命名为 minecraft_server_1.18.2.jar,用下面这行命令就行:

     
    

    bash

    复制代码

    mv server.jar minecraft_server_1.18.2.jar

    如果你想下载 Minecraft 的旧版本,可以在 mcversions.net 找到存档。

    第三步:配置和运行 Minecraft 服务器

    首先,通过运行 screen 命令来启动一个 screen 会话:

     
    

    复制代码

    screen

    看到弹出的界面后,按空格键。screen 将提供一个像平常一样的终端会话框。这个会话现在是可以分离的,这意味着你可以在这里启动一个命令并让它持续运行。

    保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

    保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

    现在,你可以进行初始配置。当下一个命令抛出错误时,请不要惊慌。Minecraft 之所以这样设计安装过程,是为了让用户必须首先同意公司的许可协议。接下来,执行这段操作:

     
    

    复制代码

    java -Xms1024M -Xmx1024M -jar minecraft_server_1.18.2.jar nogui

    上面这一行命令有很多参数,都是什么意思呢?我们来解读一下:

    • Xms1024M - 配置服务器,以 1024MB 或 1GB 的 RAM 开始运行。如果你希望服务器以更多的 RAM 开始运行,可以提高此限制。M 表示兆字节,G 表示什么就不用解释了吧,同样道理的。例如:Xms2G 意思是配置以 2GB 的 RAM 来启动服务器。
    • Xmx1024M - 这将配置服务器最多使用 1024M 的 RAM。如果你希望服务器以更大的规模运行,允许更多的玩家一起玩,或者你感觉服务器运行缓慢,可以提高这个限制。
    • jar - 此标志指定要运行的服务器 jar 文件。
    • nogui - 这告诉服务器不要启动图形用户界面(GUI),因为这是一个服务器,没有图形用户界面。

      你第一次运行这个命令(通常用于启动您的服务器)时,将收到以下输出:

       
      

      vbnet

      复制代码

      Output [22:05:31] [environment second] [22:05:31] [main/ERROR]: Failed to load properties from file: server.properties [22:05:31] [main/WARN]: Failed to load eula.txt [22:05:31] [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(最终用户许可协议)和配置文件 server.properties。由于服务器找不到这些文件,它会在当前的工作目录中创建它们。Minecraft故意这样做是为了确保用户已经阅读并同意其 EULA(最终用户许可协议)。

      在文本编辑器中打开 eula.txt,这里我们使用的编辑器是 nano,所以命令是:

       
      

      复制代码

      nano eula.txt

      在这个文件中,你将看到一个指向Minecraft EULA的链接。复制这个URL:

       
      

      ini

      复制代码

      #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Tue Mar 24 22:05:31 UTC 2020 eula=false

      在网页浏览器中打开该 URL,并阅读协议。然后返回文本编辑器,找到 eula.txt 中的最后一行。在这里,将 eula=false 更改为 eula=true。然后,保存并关闭文件。如果你用的是 nano,就按“Ctrl+X”退出,然后在提示保存时按“Y”,然后按Enter。

      现在你已经接受了 EULA,可以根据自己的要求配置服务器。

      在当前的工作目录中,你还会找到新创建的 server.properties 文件。这个文件包含 Minecraft 服务器的所有配置选项。你可以在官方 Minecraft Wiki上找到有关所有服务器属性的详细列表。你可以在启动服务器之前,按照个人喜好修改这些设置。本教程将介绍一些基本设置:

       
      

      vbscript

      复制代码

      nano server.properties

      输入这个命令之后,你就会打开这个文件,然后你会看到:

       ini 
       

      复制代码

      #Minecraft server properties #Thu Apr 30 23:42:29 UTC 2020 spawn-protection=16 max-tick-time=60000 query.port=25565 generator-settings= force-gamemode=false allow-nether=true enforce-whitelist=false gamemode=survival broadcast-console-to-ops=true enable-query=false player-idle-timeout=0 difficulty=easy spawn-monsters=true broadcast-rcon-to-ops=true op-permission-level=4 pvp=true snooper-enabled=true level-type=default hardcore=false enable-command-block=false max-players=20 network-compression-threshold=256 resource-pack-sha1= max-world-size=29999984 function-permission-level=2 rcon.port=25575 server-port=25565 server-ip= spawn-npcs=true allow-flight=false level-name=world view-distance=10 resource-pack= spawn-animals=true white-list=false rcon.password= generate-structures=true online-mode=true max-build-height=256 level-seed= prevent-proxy-connections=false use-native-transport=true motd=A Minecraft Server enable-rcon=false

      让我们看一下列表中比较重要的属性:

      • difficulty(默认为 easy)- 这会设置游戏的难度,比如造成多少伤害以及元素如何影响玩家。选项有peaceful(和平)、easy(简单)、normal(普通)和hard(困难)。
      • gamemode(默认为survival)- 这会设置游戏模式。选项有survival(生存)、creative(创造)、adventure(冒险)和spectator(旁观)。
      • level-name(默认为world)- 这会设置将在客户端中显示的服务器名称。特殊字符(如撇号)可能需要在前面加上反斜杠。这被称为转义字符,当特殊字符在上下文中可能无法正确解析时,这是一种常见做法。
      • motd(默认为A Minecraft Server)- 在Minecraft客户端的服务器列表中显示的消息。
      • pvp(默认为true)- 启用玩家对玩家(Player versus Player)战斗。如果设置为true,玩家将能够进行战斗并相互造成伤害。

        设置好你想要的选项后,保存并关闭文件。

        现在你可以成功启动服务器了。

        像上次一样,我们用 1024 M 的 RAM 来启动您的服务器。这次,你还应该让Minecraft在必要时能够使用 4G 的 RAM。注意,你可以调整这个数字。我们现在输入命令:

         
        

        复制代码

        java -Xms1024M -Xmx4G -jar minecraft_server_1.18.2.jar nogui

        稍等片刻,等它进行初始化。很快,新Minecraft服务器将开始给出类似于以下的输出:

         
        

        arduino

        复制代码

        Output [21:08:14] [Server thread/INFO]: Starting minecraft server version 1.18.2 [21:08:14] [Server thread/INFO]: Loading properties [21:08:14] [Server thread/INFO]: Default game type: SURVIVAL [21:08:14] [Server thread/INFO]: Generating keypair [21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

        当服务器启动并运行后,你会看到:

         
        

        arduino

        复制代码

        Output [21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"

        你的服务器现在正在运行,并且你已经看到了服务器管理员控制面板。尝试输入“help”:

         
        

        bash

        复制代码

        help

        系统会输出:

         
        

        ini

        复制代码

        Output [21:15:37] [Server thread/INFO]: /advancement (grant|revoke) [21:15:37] [Server thread/INFO]: /ban [] [21:15:37] [Server thread/INFO]: /ban-ip [] [21:15:37] [Server thread/INFO]: /banlist [ips|players] ...

        从这个终端,您可以运行管理员命令并控制您的Minecraft服务器。现在,您将学习如何使用screen在注销终端后保持Minecraft服务器的运行。然后,您可以连接到您的Minecraft客户端并开始新的游戏。

        第四步:如何让 Minecraft服务器运行起来

        现在你的服务器已经启动了。如果你希望即使在断开 SSH 会话后,它仍能继续运行。由于之前已经使用了screen,因此可以通过按 Ctrl + A + D 来断开与这个会话的连接。按下之后,就会返回到原始shell中:

         
        

        ruby

        复制代码

        ubuntu@minecraft-2204:~$ screen [detached from 3626.pts-0.minecraft-2204]

        运行下面这个命令,可以看到所有的 sceen 会话:

         
        

        复制代码

        screen -list

        你将获得会话 ID,你可以通过这个 ID 来恢复那个会话:

         
        

        csharp

        复制代码

        There is a screen on: 3626.pts-0.minecraft-2204 (03/02/22 22:56:33) (Detached) 1 Socket in /run/screen/S-root.

        要恢复你的会话,向 screen 命令传递 -r 加上你的会话ID:

         
        

        yaml

        复制代码

        screen -r 3626

        当你准备再次从终端注销(log out)时,请确保使用 Ctrl + A + D 从会话中分离,然后再注销。

        第五步:从 Minecraft 客户端连接到你的服务器

        现在你的服务器已经启动并运行了,让我们通过 Minecraft 客户端来连接到它。然后你就可以开始玩了!

        启动你的 Minecraft Java 版的副本,并在菜单中选择多人游戏。

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        然后你需要选择一个服务器,点击“Add Server”按钮

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        在出现的“Edit Server Info”窗口中,给你的服务器起一个名字,并输入你的服务器 IP 地址。这个 IP 地址与你通过 SSH 连接时使用的 IP 地址相同。

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        输入了服务器名称和IP地址后,你将会返回到多人游戏界面,你的服务器现在将会出现在屏幕上。

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        之后再登录的时候,你的服务器都会显示在这里了。点击这个服务器,然后点击“Join Server”。

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        保姆级教程:搭建自己的 Minecraft 服务器,跟好友一起玩!

        你就进入到你的服务器了,可以开始玩了!

        小结

        现在,你已经在 Ubuntu 22.04 上搭建了一个 Minecraft 服务器,你可以和所有的朋友们一起在上面玩游戏了!

        祝大家玩的愉快!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]