Minecraft联机教程

Leapan 发布于 15 天前 52 次阅读


我们都知道,在原版Minecraft游戏中,Mojang为游戏提供了局域网联机这一功能。

事实上,早在Java版Classic阶段的0.0.16a_01版本中,就有了类似的功能存在。(来自中文 Minecraft Wiki

当我们点击后,屏幕上会出现一个端口,在同一局域网的好友便可以输入你的设备IPv4地址:你的端口,之后便可以加入到你的世界里。但这种方法有一个弊端,倘若你的好友不和你在同一局域网,而是在别的地方,或是千里之外,这个方法就行不通了,这时候我们就需要换一种思路。我们需要先了解一下Minecraft局域网联机的原理。

原理

在局域网内,每台设备都有一个唯一的IPv4地址,用于设备之间的识别和通信。当我们在Minecraft中创建游戏世界并选择对局域网开放时,游戏会在创建者的设备上开启一个特定的端口,用于接收其他玩家的连接请求。

但是,在实际应用中,由于网络运营商的分配策略,运营商分配的IP地址属于内网IP范畴。这意味着,这些玩家的计算机或设备在外部网络中无法直接访问,如同被一道无形的屏障所隔离。因此,其他玩家无法直接通过这些内网IP地址加入游戏。因此,我们的任务是克服内网的问题。

因此,我们就可以引入内网穿透技术,内网穿透技术是一种网络通信技术,它能够在不改变现有网络结构的前提下,实现内网节点与外部网络的通信。通过内网穿透,我们可以将内网中的游戏服务器映射到外部网络上,使得其他玩家能够通过公网IP地址和端口号顺利加入游戏。

然而,在Minecraft1.8版本及以上,Mojang引入了正版验证机制,在你使用Microsoft账户登录时,启动器会调用authlib向 http://auth.mojang.com 发送验证请求,其原理可以用下图所示↓

然而对于并没有正版账户的玩家,不去验证那怎么使用uuid和token进入游戏呢?换个思路想,我们只要伪造一个uuid和token不就行了↓

这时候,我们就可以使用一个Mod来完成这项工作:[LSP]自定义局域网联机 (Lan Server Properties) - MC百科|最大的Minecraft中文MOD百科

准备

点击上方的链接,下载完成后拖到mods文件夹内,一般来说位于\启动器\versions\版本\mods(开启版本隔离情况下)

当然,如果你是PCL2启动器的用户,直接在版本设置→Mod管理中即可找到,PCL2会自动为你添加到Mod文件夹,你也可以使用PCL2启动器的下载功能。

安装完成后,进入游戏,进入你想联机的世界。当游戏画面出现后轻按ESC键,点击对局域网开放,会出现如下界面↓

轻按在线模式选项,使其更改为离线模式+UUID修复,其他的选项根据你的需要来进行配置。

完成后,记住聊天栏内的端口,我们等会内网穿透要用到。

内网穿透

这里采用的是Sakura Frp | 樱花内网穿透。首先在官网注册好你的账户,普通用户每个月会有20GiB的流量,每天签到可以获得1~4GiB流量,对于正常游戏的用户来说,已经足够使用了。

之后下载客户端:软件下载 | SakuraFrp,打开后在设置选项卡里找到访问密钥一栏。

在官网的用户首页中可以找到复制访问密钥的选项。

回到软件里,找到隧道边栏选项,点击新建隧道,选择离你近的节点后会出现如下界面。

  • 隧道类型:选择TCP隧道
  • 隧道名称:仅支持英文和数字
  • 本地端口:这里注意一下,如果上文你没在Mod里自定义端口的话就选择Minecraft Java [25565],否则的话就选择自定义端口,输入你设置的端口
  • 其余都按照默认设置

创建成功后打开隧道,你可以在电脑右下角弹出的通知,或是软件的日志选项里找到公网地址。

然后在客户端输入这串公网地址,即可成功地加入世界。

最后更新于 2025-01-25