funniray / minimap-control

Server-side control for client-side minimap plugins
3 stars 1 forks source link

JourneyMap 1.21-6.0.0 #4

Closed mysticdrew closed 2 months ago

mysticdrew commented 2 months ago

Hey there, JourneyMap dev here. Thanks for this plugin, you saved me from writing it :) I recommend it often. I want to let you know as of 6.0.0 for 1.21 only the WorldId packet has the leading 0 byte , I am still supporting the old forge discriminator for that packet. It has been removed from all other packets as I no longer user forge's SimpleNetwork for forge packets, I have switched to using https://github.com/mysticdrew/common-networking/tree/1.21 which uses EventNetworkChannel

funniray commented 2 months ago

Hey there, thanks for the heads up! I think I got it all working with the new version 😄

Also, as a sidenote, you don't seem to be able to see waypoints from different worldids, although maybe that's fine on modern versions... I was under the impression that each "bukkit world" had it's own worldid, but it appears that bukkit servers now map worlds to their own dimension. I'll see if I can find a way to make it work

If you want, I can open an issue on journeymap instead

mysticdrew commented 2 months ago

Nice, thanks! So, I plan to rework how map data gets saved eventually. To better handle users changing the name of the server in the multiplayer menu and better folder structures.

When you get a new worldId it treats it as a completely different server. Right now we don't have a way to know if a worldId is a completely different server or the same server with multiple servers. I do have some plans in the works to change how the data is saved.

There will likely be more server options added during the 6.0.0-beta. I would like to say I can remind you when that happens, and I will try but I may forget.

I saw your edit as I was typing this, only each "server" has a worldId, primarily used for bungeecord style servers with like a lobby and subservers, or for users that name all their servers in the multiplayer menu the default "Minecraft Server" the worldId keeps that unique.

funniray commented 2 months ago

wasn't worldid needed in old versions of bukkit servers before each "bukkit world" had it's own dimension id? iirc old versions gave all worlds the same version id and it would appear like everything was just the overworld (unsure what version would've changed this though)

mysticdrew commented 2 months ago

I'm honestly not sure. We've always had the worldid for bungeecord servers.

funniray commented 2 months ago

So, I did test and a 1.21 client connecting to a 1.12 based bukkit server using viaversion doesn't get sent different dimension ids and the map will get corrupted (unless a worldid or similar technique is used) image

I do know at least 1.16 bukkit servers and above do send a proper dimension id for other worlds, however people in the bukkit community unfortunately tend to run older versions of minecraft

mysticdrew commented 2 months ago

that is unfortunate. I wonder if that is because they don't even try to map the old int dimensionIds to the resource location used to identify dimensions? Or do they send the int to the client and the client fails to map it?

That was changed from int to ResourceLocation in 1.13 or 1.14 Bukkit 1.12.2 sends the correct dimension ids to 1.12.2 clients

mysticdrew commented 2 months ago

Is this server a public server, I can connect to in the future?

funniray commented 2 months ago

Is this server a public server, I can connect to in the future?

It was just a test server I ran locally. Just downloaded paper 1.12.2, ViaVersion and Multiverse. Unfortunately I don't have a good way to make any of my test services publicly accessible rn