如何配置Geyser使基岩版登录java版MC服务器

俗话说:万物皆发包。服务器与客户端的通信,本质上就是发包。Geyser起到的作用,便是修改包的内容,使其符合基岩版客户端和java版服务端接受的格式,而不是一个真正意义上的双通服务器,因此并不对服务器的稳定性产生大的影响。

Geyser既可以在自己的java版服务器上配置,也可以作为单独的转发服务器代理任何其他java版服务器。MC需要最新发布版本,这里使用的是1.15.2java版服务器及1.14.60基岩版客户端,服务端操作系统是Windows Server 2008

在自己的服务器上配置

1、首先需要java8环境

2、在 https://ci.nukkitx.com/job/GeyserMC/job/Geyser/job/master/ 下载Geyser核心:选择最新的编译通过版本(绿勾)。如果是Bukkit端服务器,或者以Bukkit为基础的Spigot、PaperSpigot端等,下载Geyser-Bukkit.jar;如果是Sponge端,下载Geyser-Sponge.jar。

3、将下载的文件复制到插件文件夹(plugins)中,重新启动一次服务器,等到插件文件夹中生成一个Geyser-Bukkit文件夹(或Geyser-Sponge)后关闭服务器。

4、打开该文件夹中的config.yml进行配置,方法如下:(没有列出的不修改)

  • bedrock:
    • address: 0.0.0.0 //服务器的地址,一般不修改,保持默认0.0.0.0,而登录使用的域名和java服务器的域名是相同的
    • port: 19132 //基岩端需要输入的端口,与java端不相同,需要去防火墙和服务器安全组(如果是云服务器)开放该端口
    • motd1: MC //显示在基岩端“好友”里的motd
    • motd2: Java server via Bedrock //显示在基岩端“服务器”里的motd
  • remote:
    • address: 127.0.0.1 //监听IP,一般不修改,默认是本机
    • port: 25525 //java服务器所在的端口
    • auth-type: offline //按需要设置是否为在线模式,设置为online的话,从基岩版加入该服务器后,会要求输入java版正版账号密码
  • max-players: 100 //从基岩端加入玩家的上限
  • default-locale: zh_cn //注意!这里默认是en_us,需要改为zh_cn,否则开服会一直卡在下载mc核心中

5、保存配置文件,重新开服,再用基岩版就可以通过域名和端口登录了

java服务器后台的输出

Geyser插件先收到连接的请求,然后模拟一个用户连接本机上的服务器,并且注册基岩版皮肤。

转发其他java服务器

1、也需要自己拥有云服务器,或者有公网ip的电脑,同时需要java8环境

2、在 https://ci.nukkitx.com/job/GeyserMC/job/Geyser/job/master/ 下载Geyser核心:选择最新的编译通过版本(绿勾)。然后下载Geyser.jar。

3、将核心单独放在一个文件夹内,在同文件夹创建一个run.bat(windows系统),并且写入如下内容并保存:

@echo off
java -Xms1024M -jar Geyser.jar

4、运行run.bat,直到文件夹内生成一个config.yml后,关闭运行的命令提示符,打开config.yml进行配置,方法如下:

  • bedrock:
    • address: 0.0.0.0 //转发服务器的地址,一般不修改,保持默认0.0.0.0,而登录使用的域名和Geyser服务器的域名是相同的
    • port: 19132 //基岩端需要输入的端口,与java端不相同,需要去防火墙和服务器安全组(如果是云服务器)开放该端口
    • motd1: MC //显示在基岩端“好友”里的motd
    • motd2: Java server via Bedrock //显示在基岩端“服务器”里的motd
  • remote:
    • address: 127.0.0.1 //监听IP,修改为转发的java服务器的IP
    • port: 25525 //java服务器所在的端口
    • auth-type: offline //按需要设置是否为在线模式,设置为online的话,从基岩版加入该服务器后,会要求输入java版正版账号密码
  • max-players: 100 //从基岩端加入玩家的上限
  • default-locale: zh_cn //注意!这里默认是en_us,需要改为zh_cn,否则开服会一直卡在下载mc核心中

5、保存配置文件,重新运行启动脚本,再用基岩版就可以通过域名和端口登录了

转发服务器后台的输出
基岩版登录java版账号的界面

关于登录的账号

  • 如果java服务器和Geyser的配置文件设置为离线登录,则登录使用的用户名是基岩版的用户名(Xbox昵称),等同于用java版客户端使用这个ID离线登录服务器。
  • 如果Geyser的配置文件设置为正版登录,不论java服务器是否设置正版登录,登录使用的用户名都是这个正版账号所对应的ID,基岩版的用户名对其无影响,等同于用java版客户端使用账号和密码正版登录服务器。

现有版本遇到的bug

基岩版登录仍有一些bug,不过相比于早期一些帖子中所描述的,已经修复了很多致命bug,可以有限制的正常游玩了。

  • 2020-05-12 java服务器:1.15.2PaperSpigot
    基岩客户端:1.14.6005.0Win10 Geyser:#140
    • 金色生命值和氧气值不显示
    • 鞘翅无法用火箭加速
    • 下界基岩以上的方块无法显示
    • 附魔台UI无法打开
    • 偶尔会卡不完整方块
    • 无法坐上船和矿车等
    • 睡觉不会显示动画(能跳过黑夜)
    • 个别粒子显示错误,显示为其他粒子

发表评论

电子邮件地址不会被公开。 必填项已用*标注