Geyser icon indicating copy to clipboard operation
Geyser copied to clipboard

Splitscreen support

Open thebehhbehhman opened this issue 4 years ago • 36 comments

What feature do you want? Splitscreen support. I tried to join with splitscreen but the second player is stuck on "Building Terrain".

Alternatives? None.

thebehhbehhman avatar Jun 07 '20 18:06 thebehhbehhman

I'm actually unfamiliar if this is possible, so someone with better experience may come and correct me. Is the second player also on an Xbox account?

Camotoy avatar Jun 07 '20 18:06 Camotoy

The second player is also on an Xbox account AFAIK, I know that Switch split screen players need to have at least a Switch Online membership on all accounts that want to play online

davidthefrikr avatar Jun 07 '20 18:06 davidthefrikr

Right, I can confirm the second point in the message above. I don't think the player has to be signed into a Microsoft account, but I might be remembering wrong. I think it used their Nintendo name when connecting.

jackson-57 avatar Jun 07 '20 18:06 jackson-57

According to SupremeMortal, this is something that needs to be resolved at the protocol level.

Camotoy avatar Jun 07 '20 20:06 Camotoy

Players on Switch have to be logged into NSO and MS. But second player unfortunately doesn't get his XUID passed on to servers. This is a proper bug since 1.14.60, apparently.

mtsr avatar Jul 19 '20 15:07 mtsr

This issue also occurs on PS4 (1.16.100) when connecting to a LAN paper/geyser server. The server (log) doesn't even recognize that the second player is attempting to connect. A LAN mojang bedrock server works as expected.

jimbt avatar Dec 06 '20 08:12 jimbt

I also just tried connecting to my server with geyser running on the laptop inside the same LAN. First player joins geyser and server no problem, second player is seeing only loading screen with not moving progress. Second player has playstation plus and microsoft account. The second player can connect to the geyser and server when he tries it before first player, always second player on splitscreen has this problem. I have tried creating LAN game with Minecraft for Windows10 and both playstation players on splitscreen can connect and play together. Is this still a work in progress or it might not be resolved?

maciekhtc avatar Dec 20 '20 10:12 maciekhtc

I did an initial implementation which I haven't updated recently, see #1459 . After some discussion it seemed better to move it to the Protocol library. I haven't gotten to it, but the splitscreen support itself is quite simple as you can see from the PR. The challenge will be in fitting it with the way the Protocol library is designed.

My implementation did work for Switch, although I haven't tested other platforms. And since I haven't updated it, I also haven't tested it with newer versions.

mtsr avatar Dec 20 '20 18:12 mtsr

I spent hours setting up a server and perfecting it for me and my little kids to play together, just to find out split screen isn't supported for xbox :( I second this feature.

alexander7567 avatar Feb 16 '21 04:02 alexander7567

I spent hours setting up a server and perfecting it for me and my little kids to play together, just to find out split screen isn't supported for xbox :( I second this feature.

I resorted to a official bedrock bedrock server (with all its failings) for the very same reason. The devs are doing awesome work, but this will always be a best effort with unavoidable limitations. The only complete resolution for full compatibility is bedrock/java feature parity and official support. Thankfully, this particular issue does have a resolution in sight.

jimbt avatar Feb 16 '21 05:02 jimbt

My implementation above worked, but hasn't been updated in a while. It did initially require some changes in other libraries, but I think those PRs were merged. Anyway, since my kids haven't played minecraft in a while, I'm unlikely to update it soon, but feel free to do it, if you can.

mtsr avatar Feb 16 '21 10:02 mtsr

@mtsr thanks - I do see what you are talking about (#976), but I just dont know enough about Java to be able to merge the code and build it to test it. I do wish I could help, but my java is very, very limited. I do hope to see support for this soon, but unfortunately, all I will be able to do is wait I believe. I guess I am stuck with bedrock for now. Thanks for your time in getting the foundation work down!

alexander7567 avatar Feb 16 '21 15:02 alexander7567

Hi there,

first of all, thank you a lot for your great work on Geyser.

Is there any chance that the split screen feature will get implemented? I just have tested it right now and it is stuck in "build world".

Best regards and many thanks

Waffeleisen23 avatar Dec 12 '21 11:12 Waffeleisen23

Players on Switch have to be logged into NSO and MS. But second player unfortunately doesn't get his XUID passed on to servers. This is a proper bug since 1.14.60, apparently.

i’m pretty sure it’s in the sub client login packet

lukeeey avatar Dec 12 '21 17:12 lukeeey

No, there’s a proper bug in the console client and it doesn’t send a proper ID for the second player. I’m not at my PC, but you can probably find the ticket in the official Minecraft bug tracker if you look for it.

I’m betting there’s an issue with for example switch only having a single active player in general.

--

Jonas

On 12 Dec 2021, at 18:34, Luke @.***> wrote:

Players on Switch have to be logged into NSO and MS. But second player unfortunately doesn't get his XUID passed on to servers. This is a proper bug since 1.14.60, apparently.

i’m pretty sure it’s in the sub client login packet

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

mtsr avatar Dec 12 '21 17:12 mtsr

No, there’s a proper bug in the console client and it doesn’t send a proper ID for the second player. I’m not at my PC, but you can probably find the ticket in the official Minecraft bug tracker if you look for it. I’m betting there’s an issue with for example switch only having a single active player in general.

For the PS4 client, the second player is always "Steve", but splitscreen otherwise works with the official bedrock server.

jimbt avatar Mar 10 '22 07:03 jimbt

I have the same issue with Nintendo Switch. Is there any workaround of fix for this? Is it possible to configure the server that it will not check the player ID?

fakio87 avatar Mar 24 '22 15:03 fakio87

It's a client issue, so no, there's nothing that can be done except mojang/microsoft fixing the bedrock client.

mtsr avatar Mar 27 '22 08:03 mtsr

Again, the clients work with the official bedrock dedicated server. The only issue I've seen is that the extra players are always named Steve with default skins. The extra players do keep all their other data (e.g. location, inventory) so it is playable.

I'll agree the bedrock clients have a bug regarding extra players, but it doesn't break the official servers so why would it be a road block for Geyser?

jimbt avatar Mar 29 '22 06:03 jimbt

Geyser can definitely support the same somewhat broken splitscreen that the bedrock standalone server does. In fact, I had my kids playing split screen on a forked version, including inventory etc.

Unfortunately it required a few changes in Geyser and its dependencies that would not be merged as is. The current plan is to integrate it into a new version of Protocol, the bedrock protocol library.

mtsr avatar Mar 29 '22 06:03 mtsr

@mtsr That's great news and will be hugely welcome. I had the same scenario as above just last night, simply assuming splitscreen would work and then feeling the disappointment shared by myself, my wife and my kiddos for our first family minecraft server (That's not limited by Bedrock). Don't mean to give you a sob story, but simply want to emphasize what this will mean to many families. Thank you for all your hard work.

Morthion avatar Apr 28 '22 17:04 Morthion

I've been supporting Geyser for 2 years and this issue still gets attention 👍

thebehhbehhman avatar May 09 '22 20:05 thebehhbehhman

Hello,

I use the Geyser MC plugin together with Floodgate.

As in the previous comments, I am also concerned with the splitscreen problem.

Is there any update on the problem? Will it be developed further?

Thanks for your support

Greeting MaPa80711

MaPa80711 avatar May 17 '22 09:05 MaPa80711

We will likely post here if there's an update - please don't bump this issue in the meantime. Thank you!

Camotoy avatar May 17 '22 15:05 Camotoy

I've updated the implementation done by @mtsr to work with 1.19 in #3109 It uses a workaround to the XUID issue where we just manually record the xbox ID of splitscreen users in the Geyser configuration. Would love a review if you @Camotoy or anyone else has time to.

markmetcalfe avatar Jul 03 '22 00:07 markmetcalfe

I've updated the implementation done by @mtsr to work with 1.19 in #3109 It uses a workaround to the XUID issue where we just manually record the xbox ID of splitscreen users in the Geyser configuration. Would love a review if you @Camotoy or anyone else has time to.

I am playing on Switch - Would it be helpful when I test it too or is the fix online related to Xbox? I see that you mention PS so it seems that this is a general solution for consoles?

Waffeleisen23 avatar Jul 03 '22 05:07 Waffeleisen23

I've updated the implementation done by @mtsr to work with 1.19 in #3109 It uses a workaround to the XUID issue where we just manually record the xbox ID of splitscreen users in the Geyser configuration. Would love a review if you @Camotoy or anyone else has time to.

Really happy to see this. With the summer holidays coming up, my kids are likely to be playing more minecraft, so this will be awesome to have again.

mtsr avatar Jul 03 '22 07:07 mtsr

I am playing on Switch - Would it be helpful when I test it too or is the fix online related to Xbox? I see that you mention PS so it seems that this is a general solution for consoles?

I think the config file workaround should work fine for Switch too. The console client doesn't send the XUID for the connecting users, but it does still send some info, such as the username, which can then be mapped to a XUID.

mtsr avatar Jul 03 '22 07:07 mtsr

Seeing as we safely have a newer version of this PR, I'll close this one. It seems like 3.0 is taking a longer time than we anticipated, so it'll be nice to have something until 3.0 with splitscreen support rolls around. Thanks of course for your contributions.

Camotoy avatar Jul 11 '22 03:07 Camotoy

I thought this was a PR my bad.

Camotoy avatar Jul 11 '22 15:07 Camotoy

Hello all,

have followed with joy the course here and yesterday, unfortunately without success, the adjustment to the splitscreen support PS4/PS5 tried.

I have proceeded as described in https://github.com/GeyserMC/Geyser/pull/3109 and have extended the config.yml in the Geyser Spigot plugin.

grafik

Unfortunately, remains with me further the 2nd player in the terrain will stand built screen.

In the log of the Spigot server no messages come.

Installed is: minecraft server version 1.19.2 CraftBukkit version 3579-Spigot-e53686f-dd0a218 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) floodgate v2.2.0-SNAPSHOT (b73-4f36112) Multiverse-Core v4.3.1-b861 (API v24) Geyser-Spigot v2.0.7-SNAPSHOT (git-master-a16fc9c)

Can someone help me here?

MaPa80711 avatar Sep 10 '22 10:09 MaPa80711