【Minecraft】无法连接至服务器,登录失败:无效会话(请尝试重启游戏及启动器)

【Minecraft】无法连接至服务器,登录失败:无效会话(请尝试重启游戏及启动器)

  • 一、场景复刻
  • 二、原因分析
  • 三、解决方案
    • [3.1 正版账号登录](#3.1 正版账号登录)
    • [3.2 自建服务器](#3.2 自建服务器)
  • [四、使用 SakuraFrp 樱花内网穿透【小白推荐】](#四、使用 SakuraFrp 樱花内网穿透【小白推荐】)

一、场景复刻

场景复刻: 我是腐竹A,我想把自己正在玩的世界分享出去,让我的好朋友和我一起联机。我打开了单人游戏,点击 Esc 开启局域网联机,使用随机端口号(假设是12345),接着使用内网穿透工具打通了隧道,随后我将IP地址和端口号发送给了我的朋友B。朋友B准备联机,可以看到游戏正常显示,但是点进入无法进入游戏。

点击进入,报错,无法进入游戏。 无法连接至服务器,登录失败:无效会话(请尝试重启游戏及启动器)

二、原因分析

登录失败:无效会话: 90% 以上的根源是 Minecraft 的「正版验证机制」冲突 。

局域网开放默认开启正版验证: 当你在单人游戏里点击「对局域网开放」时,MC 会自动启动一个临时服务器,默认开启 online-mode=true(正版验证):

内网穿透放大了问题:

  • 公网访问时,MC 客户端的会话校验会走公网链路,容易出现超时、校验失败
  • 朋友的客户端和你的临时服务器不在同一局域网,正版验证的会话同步会出问题
  • 防火墙 / 端口配置错误,导致验证请求被拦截,间接触发会话失效

其他原因:

  • 你和朋友的游戏版本 / 模组不一致(比如你是 1.21.8 纯净,朋友加了模组)
  • 启动器登录状态异常(比如 PCL2/HMCL 离线登录、账号过期)
  • 防火墙 / 杀毒软件拦截了 MC 的网络请求
  • 同一个账号在多设备同时登录,导致会话被顶掉

三、解决方案

3.1 正版账号登录

使用正版账号登录,进入游戏后重新打开局域网联机,重新进行内网穿透即可。

3.2 自建服务器

mc服务端选择插件服/模组服都可以。文章以插件服 paper-1.21.11-127.jar 演示为例。

点击打开PaperMC 官网 找到历史版本,下载你正在玩的版本,必须和你的存档世界保持相同版本。

点击进入历史版本

将下载的 paper-1.21.11-127.jar 文件放在一个没有中文路径的文件夹下面。

编写启动脚本 start.bat

bat 复制代码
@echo off
chcp 65001
java -Xmx8G -jar paper-1.21.11-127.jar nogui
  • paper-1.21.11-127.jar 替换为你自己下载的 .jar 文件
  • -Xmx8G:表示为服务器分配最大 8GB 运行内存。如果你 Windows 内存小,请将该值调小,避免无法启动。

双击启动脚本,启动游戏。因为我的世界服务器在国外,国内访问会比较慢,所以 你可能需要多尝试几次才能将文件下载成功 。如果下载失败,就挂个 tizi。

此时会生成一些文件,我们主要关注这两个文件 eula.txtserver.properties

同意eula协议: 打开 eula.txt 文件,将 eula=false 修改为 eula=true

bash 复制代码
eula=true

关闭正版验证: 打开 server.properties 文件,找到 online-mode=true 修改为 online-mode=false

bash 复制代码
online-mode=false

再次双击启动脚本 start.bat 。此时正常开服。

可以进入游戏。

关闭服务端,避免存档数据损坏: 在 cmd 输入以下指令关闭服务端。

复制代码
stop

替换你正在玩的世界存档: 点击单人游戏,选中你正在玩的世界,点击编辑,点击打开世界文件夹,将里面的文件全部复制。打开服务器端文件夹 ~\paper-1.21.11-127\world ,将里面的文件全部删除,替换成你刚刚复制的世界存档文件。

同时删除 world_netherworld_the_end 这两个文件夹,让服务端自动读取单人世界的存档数据,重新生成地狱维度和末地维度的数据。然后重启服务端,正常进入游戏。

接下来你只需要内网穿透,然后将链接发给你的好友即可。

四、使用 SakuraFrp 樱花内网穿透【小白推荐】

进入官网,注册并实名认证(需要花费1r)。SakuraFrp官网链接

下载软件并复制登录密钥。(ps. 好像只能安装在C盘,下载完成后,一路点击下一步进行安装就行了。)

粘贴密钥进行登录。

点击隧道,新建隧道。优先选择距离你最近的一个节点。

选择TCP隧道。

创建隧道。端口号,输入你服务器设置的端口号(server.properties 文件中的 server-port=25565),默认为:25565。

点击开启隧道。

查看日志,复制访问连接。将访问连接发给好友即可进行联机。

点击多人游戏。

因为你是在本机 Windows 上开的服务器,所以你直接输入: 127.0.0.1 即可。启动器会自动绑定25565端口。如果你修改了端口号,请输入: 127.0.0.1:<你修改的端口号>

朋友输入你给的访问链接。

可以正常游戏。


End

你好,少年,未来可期~

相关推荐
神の愛1 小时前
左连接查询数据 left join
java·服务器·前端
九皇叔叔1 小时前
Ubuntu 22.04 版本常用设置
linux·运维·ubuntu
杨云龙UP3 小时前
ODA登录ODA Web管理界面时提示Password Expired的处理方法_20260423
linux·运维·服务器·数据库·oracle
郑寿昌3 小时前
IIoT本体迁移的领域扩展机制
服务器·前端·microsoft
songx_993 小时前
Linux基础2
linux·运维·服务器
我想要SSR3 小时前
搭建小龙虾过程和坑点
linux·服务器·ai
陈皮糖..4 小时前
27 届运维实习笔记|第三、四周:从流程熟练到故障排查,企业运维实战深化
运维·笔记·sql·nginx·ci/cd·云计算·jenkins
莫白媛5 小时前
Linux在限制敏感命令下的修改用户密码小白版
linux·运维·服务器
hhb_6186 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
想唱rap6 小时前
UDP套接字编程
服务器·网络·c++·网络协议·ubuntu·udp