Rwagsu 正在尝试迁移 Fumadocs ;) 可能需要数天的网站维护, 但不是现在. 放心, 到时候我们会告诉你, 就在这里😉

Astral Q&A

都怪 NAT 🤬

Q: 为什么联机时显示 "无效会话"?

A: 你不是正版用户.

不管任何联机, 房主都必须要求启用正版验证.

可以安装自定义局域网联机 Mod (Lan Server Properties), 在开放局域网时选择关闭正版验证.

实际上我没用过这个 Mod, 所以那个设置具体叫啥名字我也不知道, 只能给出个大概()

对于 Fabric 用户: 自定义局域网联机 Mod 支持 Fabric, 只不过仅在 CurseForge 发布, 不知道为啥启动器搜不到 CurseForge 的 Mod()

你可以去 CurseForge 官网下载.

Q: 为什么联机时看不到对方皮肤?

A: 房间创建者关闭了正版验证.

解决方法是所有人安装 万用皮肤补丁 Mod, 当其中一个玩家没有安装时不会影响到任何人, 但他自己会看不到皮肤.

Q: 为什么联机时显示 "无法连接至服务器 从客户端收到未知的自定义数据"?

A: 你和用户创建者的 Mod 不匹配.

房间创建者的 Mod 如果属于服务端必装 + 客户端必装, 那么你就必须安装一个和房间创建者一模一样的 Mod.

最保险的方法是让房间创建者复制所有 Mod 然后发给你, 然后你可以自行修改类似客户端性能优化, 但保留服务端必装 + 客户端必装 Mod.

MC 百科可以看到相关 Mod 类型.

Q: 为什么看不到选择服务器的界面?

A: 新版本移动到了设置界面.

该选项移动到了设置界面, 并砍掉了选择服务器页面, 只能手动添加, 你可以从这两个网址寻找链接, 但缺失延迟检测.

关于延迟检测的问题, 这个我们稍后再说.

Q: 为什么要关闭防火墙?

A: 有时候防火墙会阻止 Astral 连接.

你可以不关闭防火墙, 只需要打开高级安全 Windows Defender 防火墙, 然后添加出站规则 / 入站规则将路径指向 Astral 安装路径即可.

看起来 Astral 不能自己添加这两个规则, 而且考虑到大部分新人不会添加规则且太麻烦, 索性给你一个开关直接关闭防火墙.

毕竟不是每个人会在贪吃防火墙访问请求时勾选家庭网络然后再确定的()

Q: 为什么房间界面的玩家显示 "中转?"

A: P2P 打洞失败或者被禁用了.

目前来看是 P2P 打洞失败了, 导致直接变成了使用服务器中转, 看起来性能好像较差.

我不了解这方面的技术, 无法给出具体的修复方法, 看评论区好像都说是 NAT 问题.

Q: 如何解决 NAT 问题?

A: 打电话给运营商, 但前提是你光猫连着路由器.

不知道大家怎么样, 反正我这里可以顺利要到超级管理员密码 / 桥接模式. 😋

  1. 打电话给你所在地的运营商, 告诉他们你要改桥接. (一直告诉 AI 转人工, AI 可帮不了你什么, 直接打给宽带师傅他们也会直接说改不了没权限)
  2. 他们会给你操作, 或者给你个超级管理员密码 (如果不给那没办法()), 然后告诉你 PPPoE 宽带账号和密码.
  3. 进入路由器设置, 将上网设置 > 上网方式从 DHCP 改成 PPPoE 拨号.

现在你的 NAT 应该有所改善了.

Q: 为什么别人进来一会就掉线了?

A: 我也不到啊() 有几个猜测

我在联机的时候也遇到了这个情况, 而且服务器全是可中转的, 所以我猜测以下情况:

  1. 官方文档提到联机时玩家的服务器必须和房间创建者保持一致, 虽然还没有验证, 但你可以把服务器只开启一个试试.
  2. 服务器不稳定导致断线(毕竟现在连延迟都看不了)
  3. 触发了中转导致延迟极差.

Q: 为什么分享码格式错误?

A: 你的 Astral 版本和房间创建者的版本不一样, 或者需要从剪贴板复制

目前来看就两种情况:

  1. 遇到过, 直接 Ctrl V 分享码有概率出现这种情况.
    你可以点击下面的从剪贴板复制, 就能解决问题.
  2. 也遇到过() Astral 最近的一次更新更改了分享码格式, 导致从新版复制的分享码在旧版无效.
    暂时不清楚旧版本是否也进行过更新, 为了保险起见, 还是建议 Astral 版本和房间创建者保持一致.

Q: 为什么 Astral 点击连接时无法连接到服务器?

A: 换个服务器, 或者关闭防火墙.

大概率是服务器不稳定或者防火墙屏蔽了连接造成的.

最简单的方法是先关闭防火墙测试, 不行就换个服务器.

Q: 为什么联机时显示 "getsocket"?

A1: 你的地址是不是错误的?

错误的地址会导致游戏找不到房间.

  1. 你复制的地址大概不应该显示 0.0.0.0, 你是否复制了服务器的地址? 你应该复制房间创建者的地址.
  2. 你是否复制了正确的端口号? 它会在房间创建者点击 "开放局域网连接" 时显示到聊天中, 确保与它严格匹配.
  3. 你是否错误的使用了标点符号? IP 地址要求所有符号都必须是标准的英文字符 (比如 192.168.1.114:3000, 但这不是服务器链接, 仅为瞎写的演示), 而不是类似 192。168。1。114:3000 之类的离谱玩意.
    区分中文标点符号和英文标点符号的最佳方法是看大小, 中文标点符号通常左右两边空的很大 (比如 x:x, x。x), 英文符号通常两边空的很小 (比如 x:x, x.x).

A2: 你的防火墙或服务器是不是有问题?

Minecraft Java 或 Astral 只要有一方被防火墙拦截都会导致此问题.

最好的解决方法是关闭防火墙, 或者手动添加出站规则和入站规则, 并设置允许应用通过 Windows 防火墙.

Q: Astral 支持 32 位吗?

A: 不支持.

Astral 基于 Flutter 构建, 而 Flutter 对 Windows 从来没有支持过 32 位, Android 的 32 位也已经在 2019 年年中彻底放弃对 32 位的支持.

除非 Astral 之前不基于 Flutter, 否则它始终不支持 32 位.

Q: 为什么启动 Astral 时显示 "无法定位程序输入点 GetHostNameW 于动态链接库 WS2_32.dll 上."

A: 它不支持你的系统.

Astral 看起来只支持 Windows 10 以上.

拓展设置: 延迟测试

有谁地理好吗?

反正我不好, 而且经常临近的服务器开始抽风 :)

你可以在旧版本的 Astral 中测试延迟, 只要你找的那个版本能直接在侧边栏看到服务器选项 :)

或者说, 试试我找 Grok (懒得自己写 ♡(。- ω -)) 写的延迟检测工具!

进入后点击 Release, 下载适用于你的版本.

拓展设置: 防火墙

对于那些不想关闭防火墙的用户准备, 在实在无法连接时使用.

  1. 打开 Windows 搜索, 搜索 "允许应用通过 Windows 防火墙" (只需打 "防火墙三个字", 就能直接看到相关选项).
  2. 点击右上角的更改设置
  3. 找到 Astral 主程序, 右边的两个选项全部勾上.

现在大概就可以联机了. ;)

还是不行? 试试把 Minecraft 使用的 Java 也添加进去.

  1. 重复上面的 1-2, 这次不要找到 Java 主程序, 继续点击添加其它程序.(Java 主程序的名称很多都高度相似, 你找不到, 或容易勾错)
  2. 路径的右边, 点击浏览.
  3. 定位 Java 主程序 (是 javaw.exe 而不是 java.exe, 且确定你的 Minecraft 就是使用这个 Java). 4, 点击确定, 点击添加. 5, 重新勾选 Astral 右边的两个选项.

差不多就可以了()

高级设置 (虽然可能性不大, 但你仍可以试试)

  1. 打开 Windows 搜索, 搜索 "高级安全 Windows Defender 防火墙" (只需打 "防火墙三个字", 就能直接看到相关选项).
  2. 点击出站规则, 点击右侧的新建规则.
  3. 选择程序.
  4. 选择 Astral 主程序.
  5. 选择允许连接.
  6. 还有一个入站规则, 也做 3-5 同样的操作.
  7. 重复 2-6, 程序选择 Minecraft 使用的 Java 程序 (是 javaw.exe 而不是 java.exe, 且确定你的 Minecraft 就是使用这个 Java).

还是不行?

那我也没啥办法了()

你应该去找找别人或者评论, 这里无法帮到你了()

如果非要靠这个文章来解决问题, 那我只能说:

你电脑 / 路由器 / 光猫 / 运营商烂了, 建议砸了( ` ω ´ )

包不靠谱的😉