寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

chengsenw 项目开发评论2阅读模式

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

0.0前言

   俗话说“独乐乐不如众乐乐”,同学们放假在家,反正都是闲着。不如利用家里闲置的计算机(电脑)搭建一台可以让小伙伴们聚在一起玩耍的Minecraft(下文简称“MC”)服务器,顺便略微学习一下网络技术。这里选择搭建Minecraft服务器是因为Minecraft相对开放、玩家群体广泛且老少皆宜。

本篇文章将分成以下几部分:

1. 在Windows系统下搭建MC服务器

   1.1搭建Java环境

   1.2服务端的选择与下载、安装

   1.3运行服务器

2.在Debain13(GNU/Linux)系统下搭建MC服务器

   2.1搭建Java环境

   2.2下载服务端

   2.3运行服务器

3.内网穿透

   3.1内网穿透介绍与主要方式、选择

   3.2使用Zerotier进行

      3.2.1在Windows环境下

      3.2.2在Debain环境下

   3.3使用Natfrp进行

      3.3.1在Windows环境下

      3.3.2在Debain环境下

   4.结语

同学们如想来到我的服务器玩的话,来2班找我就行了:)

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

0.1关于性能

在正文开始之前有必要提到,MC服务器的最终运行效果完全依赖于计算机的性能尤其是其CPU(中央处理器)的单核性能强弱;以及其运行内存大小。当然啦,如果你只是轻度游玩(即不建造产生巨大计算量的设施)且游玩人数不超过十人,那么只需要内存充裕即可。(不妨参考下图)

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

 原版服:约 100-200MB / 玩家 

·  模组服:200-500MB+ / 玩家(模组越多越高)

碍于篇幅限制,鄙人不能详细介绍其原因。

那么,现在就让我们行动吧!

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

1.1搭建Java环境

在Windows环境下,我们可以访问https://www.oracle.com/java/technologies/downloads/

来获取JDK安装包。MC 1.18+ 必须用 Java 17;MC 1.20.5+ 推荐 Java 21(性能更强)这里用JDK21做示范。

下载完成后双击运行,一直点“下一步”即可。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

                                         ↓

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

1.2 服务端的选择、安装

目前,主流的MC服务端如下:

  1. 纯净 / 插件服 → Paper(最稳、通用、人多不卡)

  2. 追求极致性能 → Purpur(多核 CPU 更爽)

  3. 生电 / 少量模组 → Fabric

  4. 大型模组包 → NeoForge

一句话总结

· 普通开服:Paper

· 高配电脑 / 多插件:Purpur

· 模组服:Fabric / NeoForge

本文将以paper端为例,其原因主要是我的那台较好的电脑装了Debain系统……

核心文件与目录准备

  1. 新建服务器文件夹(路径绝对不能有中文 / 空格),例如 D:\MC-Server。

·  下载 Paper 核心:

  2. 官网:papermc.io/downloads

  3. 选择对应 MC 版本,下载最新稳定版(如 paper-1.21.1-92.jar),放入服务器文件夹。

  4. ·  新建文本文档,重命名为 start.bat(后缀改为 .bat,需显示文件扩展名)。

如图:

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

核心配置(启动脚本 + EULA)

1. 编写启动脚本(关键)

    右键 start.bat → 编辑,粘贴以下内容,修改 2 处(下方标黄)(如图):

内存建议:物理内存的 50%–70%(如 8G 内存设为 4G–5G)

内容如下(加粗斜体部分):

@echo off

chcp 65001 >nul

:: 修改为你的核心文件名

set JAR_NAME=paper-1.21.1-92.jar

:: 修改为你要分配的内存大小

set MEM=4G

java -Xms%MEM% -Xmx%MEM% -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar %JAR_NAME% nogui

pause

粘贴进去后保存,双击运行。将会出现如下窗口:

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

不过报错不用担心,这是必经之路。请看下一步。 

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

2. 同意 EULA 协议、关闭正版验证

    1. 双击 start.bat 启动,黑窗会快速关闭(上一步已经做过,这里无需重复),文件夹内会生成 eula.txt。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

    2. 打开 eula.txt,将 eula=false 改为 eula=true,保存关闭。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

                                         ↓

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

3. 如果你的小伙伴是离线账号,则需要关闭正版验证。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

     关闭正版验证,只需将server.properties 文件中的‘online-mode=true’改为‘online-mode=false’即可。

话赶到这里,顺便说一下server.properties中的其他项是个什么意思吧。

其中:

max-players=20为最大玩家数

gamemode=survival为游戏模式

difficulty=easy为游戏难度

hardcore=false为是否启用极限模式(没错,服务器也有)

server-port=25565为服务器端口,它指定了服务器会暴露在网络中的那个端口上,不要随意更改。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

1.3 运行服务端

双击start.bat即可。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

2.在Debain13(GNU/Linux)系统下搭建MC服务器

      为什么要选择Linux呢?答案是Linux操作系统不吃内存,带桌面环境的系统空载挂机时内存仍能控制在900MB之内。但反观隔壁 巨硬 微软的Windows系统空载挂机时内存占用要远远高于Linux。(巨硬史山代码发力了说是)

事先声明,Linux系统的操作完全都要在终端/SSH终端内进行。还是碍于篇幅,鄙人不能向大家介绍安装Linux及ssh连接还有每条命令的详细原理等内容。

      以下命令/脚本如有运行不成功,那很可能是鄙人的问题。请自行求助AI或查看官方帮助文档。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

2.1安装Java环境

  1.更新软件包

sudo apt update && sudo apt upgrade -y

  2.MC 1.18 - 1.20.4 安装 Java 17

sudo apt install openjdk-17-jre-headless -y

MC 1.20.5+ 安装 Java 21

sudo apt install openjdk-21-jre-headless -y

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

3.验证是否安装成功

java -version

2.2下载、安装服务端

  1.创建服务器文件夹,并将终端所在位置迁移至该文件夹

mkdir mcsv

cd ~/mcsv

  2.下载 Paper 服务端(把链接换成你要的版本)

sudo wget -O server.jar https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/latest/downloads/paper-1.20.1-latest.jar

替换方法为:https://api.papermc.io/v2/projects/paper/versions/【MC版本号】/builds/【Build编号】/downloads/paper-【MC版本号】-【Build编号】.jar

如不成功,麻烦询问一下ai

3.创建启动脚本(一键运行)

sudo nano start.sh

粘贴下面内容(内存自己按照物理内存50%–70%改:4G / 6G / 8G):

java -Xms4G -Xmx4G -XX:+UseG1GC -jar server.jar nogui

像这样:

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

完成后按Ctrl+x 再按y再按Enter

之后其赋予执行权限:

chmod +x start

(如报错提示有“权限不够”之类的,请在前面补上“sudo”)

4.同意 EULA(必须)

echo "eula=true" > eula.txt

5.启动服务器

sh start.sh

编辑server.properties文件(关闭正版验证)

sudo nano server.properties

就像这样: 

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

之后找到onlinemode这一项,按照之前的方法修改

2.3运行服务端

sh start.sh

会像这样: 

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)
寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

3. 内网穿透

3.1 内网穿透介绍与主要方式、选择

搭建好MC服务器后,同一局域网内的小伙伴可直接通过内网IP联机,但跨网络的好友想要加入,就需要用到内网穿透技术。简单来说,内网穿透的作用是将我们本地局域网内的MC服务器端口,映射到公网可访问的地址或端口上,让外网的设备能顺利连接到本地服务器,解决无公网IP无法跨网联机的问题。

目前主流的内网穿透方式主要有两类,一类是虚拟局域网类(如Zerotier),通过创建虚拟网络让所有设备处于同一虚拟局域网,无需复杂的端口映射配置,适合新手和小范围联机;另一类是端口映射类(如Natfrp),直接将本地服务器的25565端口映射到公网节点,连接速度更稳定,适合多人长期联机。本次实践将选择这两款最常用、操作最简便的工具,分别讲解Windows和Debian13系统下的配置方法,兼顾新手友好性和使用稳定性。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

3.2 使用Zerotier进行内网穿透

Zerotier是一款跨平台的虚拟局域网工具,无需配置路由器,只需在服务器和所有玩家的设备上安装客户端并加入同一虚拟网络,即可实现跨网联机,操作简单,适合好友小圈子联机使用,无需担心公网IP问题。

 3.2.1 在Windows环境下

  1. 首先访问Zerotier官方下载地址:https://www.zerotier.com/download/ ,下载Windows版本的客户端并安装,安装完成后无需额外配置,直接打开软件(可在系统托盘找到Zerotier图标)。

  2. 打开Zerotier官网,注册并登录账号,创建一个新的虚拟网络(Create a Network),记录下生成的网络ID(一串16位的数字和字母组合)。

  3. 回到Windows客户端,右键系统托盘的Zerotier图标,选择Join Network,输入刚才记录的网络ID,点击确认,等待节点加入。

  4. 回到Zerotier官网的虚拟网络管理页面,找到Members栏,会看到刚加入的Windows服务器设备,将其Authorized改为开启,并可自定义设备名称,方便识别。

  5. 此时在服务器的Zerotier客户端中,可查看到分配的虚拟局域网IP(多数为10.xx.xxx.xx),将该IP告诉好友,好友在自己的设备上安装Zerotier并加入同一网络ID,授权后,在MC中直接连接该虚拟IP,即可实现跨网联机。

  6. 若MC服务器搭建在Windows系统,需确保Windows防火墙放行Zerotier相关端口,无需额外放行25565端口,虚拟局域网内会自动互通。

 3.2.2 在Debian环境下

Debian系统下使用Zerotier全程通过终端操作,步骤简洁,适配无桌面的纯命令行服务器,具体操作如下:

  1. 打开Debian服务器的终端,执行以下命令安装Zerotier客户端:

   curl -s https://install.zerotier.com | sudo

  2. 安装完成后,执行以下命令加入刚才创建的虚拟网络,将网络ID替换为自己的Zerotier网络ID:

   sudo zerotier-cli join 你的网络ID

  3. 回到Zerotier官网的虚拟网络管理页面,在Members栏中找到Debian服务器的设备,将Authorized开启,完成授权。

  4. 执行以下命令查看Debian服务器分配的虚拟局域网IP:

   sudo zerotier-cli listnetworks

  5. 记录下返回结果中的虚拟IP(如10.147.17.xxx),好友同样安装Zerotier并加入同一网络ID后,在MC中输入该虚拟IP即可连接。若需要长期使用,可将Zerotier设置为开机自启:

   sudo systemctl enable zerotier-one

   sudo systemctl start zerotier-one

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

3.3 使用Natfrp进行内网穿透

Natfrp是一款国内的端口映射类内网穿透工具,拥有多个国内公网节点,连接速度快、稳定性高,支持TCP/UDP端口映射,专门适配MC等游戏服务器,分为网页端管理和客户端运行,操作直观,适合多人长期联机使用,免费版即可满足小型MC服务器的使用需求。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

 3.3.1 在Windows环境下

1. 访问Natfrp官方网站:https://natfrp.com/ ,注册并登录账号,完成实名认证(免费版需简单认证,无额外费用)。

2. 登录后,在左侧菜单栏选择客户端下载,下载Windows版本的Natfrp客户端,解压到任意无中文/空格的文件夹(如D:\Natfrp)。

3. 回到Natfrp网页端,点击左侧隧道管理→创建隧道,配置隧道参数:

   - 隧道类型:选择TCP(MC服务器默认使用TCP协议)

   - 本地地址:填写127.0.0.1(本地回环地址)

   - 本地端口:填写25565(MC服务器默认端口,若修改过server.properties中的端口则填写对应端口)

   - 节点选择:选择就近的国内免费节点(如北京、上海、广州)

   - 公网端口:可选择随机端口或自定义端口(免费版支持随机端口)

   配置完成后点击创建,记录下生成的公网地址+端口**(如xxx.natfrp.cc:xxxx)。

4. 打开Windows的Natfrp客户端,在网页端左侧账户中心复制客户端Token,粘贴到客户端的Token输入框,选择自动连接,点击启动客户端,等待客户端上线(网页端会显示客户端在线状态)。

5. 客户端上线后,启动Windows的MC服务器,将记录的公网地址+端口告诉好友,好友在MC中选择直接连接,输入该地址即可跨网加入服务器。

6. 确保Windows防火墙放行25565/TCP端口,若需要开机自启Natfrp客户端,可将客户端创建快捷方式,放入系统开机启动文件夹。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

 3.3.2 在Debian环境下

Debian系统下使用Natfrp可通过命令行安装客户端,支持后台运行,适配纯命令行服务器,具体操作如下:

1. 打开Debian服务器的终端,执行以下命令下载Natfrp客户端(适配Linux-amd64架构,若为其他架构可在Natfrp官网下载对应版本):

sudo wget -O natfrp https://github.com/natfrp/natfrp/releases/latest/download/natfrp_linux_amd64

2. 赋予客户端执行权限:

   chmod +x natfrp

3. 回到Natfrp网页端,创建隧道,参数配置与Windows一致:TCP协议、本地地址127.0.0.1、本地端口25565、选择就近免费节点,创建后记录公网地址+端口。

4. 在Debian终端中,执行以下命令启动Natfrp客户端,将你的Token替换为网页端账户中心的客户端Token,支持后台运行:

   nohup ./natfrp -t 你的Token &

5. 执行以下命令查看客户端是否运行成功:

   ps -ef | grep natfrp

6. 启动MC服务器(./start.sh),此时好友在MC中输入Natfrp的公网地址+端口,即可跨网连接Debian服务器。若需要设置Natfrp开机自启,可将启动命令写入系统自启脚本,或使用systemctl配置服务。

7. 确保Debian服务器防火墙放行25565/TCP端口,执行命令:

   sudo ufw allow 25565/tcp

(如图示“未找到命令”其原因是因为你根本就没有防火墙)

8.如上述使用Natfrp方法不成功,请访问:https://doc.natfrp.com/frpc/usage.html遵循官方教程转使用frpc启动器。碍于篇幅(此时字数已经4000多了)不做赘述。

附启动命令:sudo frpc <隧道启动参数> ; <隧道启动参数(如果你有两条的话)>

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

4. 结语

     本次寒假实践,利用家里的闲置计算机,分别在Windows10和Debian13(GNU/Linux)两个系统下完成了Minecraft Java版服务器的搭建,还学习并实践了Zerotier虚拟局域网和Natfrp端口映射两种内网穿透技术,实现了跨网络的多人联机,让闲置的硬件发挥了实际作用,同时也收获了丰富的计算机网络知识。

     在搭建过程中,从Java环境的匹配安装、服务端的选择与配置,到启动脚本的编写、EULA协议的同意和正版验证的关闭,每一个步骤都需要严谨的操作,比如服务器文件夹路径不能有中文和空格、Java版本必须与MC版本匹配、启动内存要合理分配,这些细节的把控是服务器正常运行的关键。而Linux系统与Windows系统的操作差异,也让我体会到了不同操作系统的特点——Linux系统轻量、占用资源少,适合作为服务器长期运行,而Windows系统操作直观,更适合新手入门(?)。

     这次搭建MC服务器的实践,不仅让我和小伙伴们在寒假里有了共同的娱乐方式,更重要的是,让我将书本上的计算机网络知识运用到了实际操作中,做到了理论与实践相结合。同时也发现,计算机技术的学习需要多动手、多尝试,遇到问题时(如启动脚本报错、内网穿透连接失败),通过查阅官方文档、求助AI、调试参数,最终解决问题的过程,正是提升自身能力的关键。

     此次实践只是计算机网络技术学习的一个开始,未来我还会继续探索服务器的优化、插件的安装与配置、数据的备份与恢复等内容,不断积累经验,提升自己的计算机操作和网络技术水平,让闲置的硬件发挥更多价值,也让自己在实践中收获更多成长。

寒假实践之利用闲暇时间进行计算机网络技术学习(搭建Minecraft Java服务器)

图文/四高一(2)班 张君岳

排版/四高一(2)班 李淇

审稿/李卉(老师)

 
chengsenw
  • 本文由 chengsenw 发表于 2026年3月17日 14:45:27
  • 转载请务必保留本文链接:https://www.gewo168.com/11837.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: