rlf / uSkyBlock

The best skyblock bukkit plugin around...
http://dev.bukkit.org/bukkit-plugins/uskyblock/
GNU General Public License v3.0
76 stars 113 forks source link

Nether Portals not linking correctly #1260

Open Pirgosth opened 4 years ago

Pirgosth commented 4 years ago

Please paste the output from /usb version below

[14:00:31] [Server thread/INFO]: Version: 2.8.7
[14:00:31] [Server thread/INFO]: Description: Ultimate SkyBlock v2.8.7-73e1fc4
[14:00:31] [Server thread/INFO]: Language: en (en)
[14:00:31] [Server thread/INFO]:   State: d=128, r=64, i=2, p=1, n=true, awe=false
[14:00:31] [Server thread/INFO]: Server: CraftBukkit git-Spigot-2f5d615-cfeef75 (MC: 1.15.2)
[14:00:31] [Server thread/INFO]:   State: online=false, bungee=false
[14:00:31] [Server thread/INFO]: ------------------------------
[14:00:31] [Server thread/INFO]: Vault 1.7.2-b107 (ENABLED)
[14:00:31] [Server thread/INFO]: WorldEdit 7.1.0;8e55131 (ENABLED)
[14:00:31] [Server thread/INFO]: WorldGuard 7.0.2-SNAPSHOT;bf2593e (ENABLED)
[14:00:31] [Server thread/INFO]: Multiverse-Core 4.1.0-b775 (ENABLED)
[14:00:31] [Server thread/INFO]: Multiverse-Portals 4.1.0-b805 (ENABLED)
[14:00:31] [Server thread/INFO]: Multiverse-NetherPortals 4.1.0-b763 (ENABLED)
[14:00:31] [Server thread/INFO]: ------------------------------

What steps will reproduce the problem? 1.Make a fresh install of a 1.15.2 spigot server 2.Create an island with /is create command 3.Build a nether portal and go to the nether

If you have any log-files, please paste them to pastebin.com

Explanation: when entering a nether portal, I have a very strange issue, the nether portal linking is not working properly, and another portal is created on top of the schematic one, and the player need to broke the new one and reactivate the old one to make the link working correctly.

Here are some pictures:

2020-05-27_14 01 59 2020-05-27_14 02 16

Pirgosth commented 4 years ago

Am I the only one with this issue ? I've tried several times to create a new spigot server, I re-downloaded all plugin dependancies and uSkyblock itself, using all default configurations and I still do have this problem

Muspah commented 4 years ago

There are a few reports of this issue, but I'm not able to reproduce at the moment. We're running a small Dutch server including test builds of USB where the nether works as expected.

Pirgosth commented 4 years ago

Yes this is really disturbing, I have a friend running a pretty similar server, and nether portals work just fine for him

EDIT: I've been running a small server on my laptop using your 2.8.8-SNAPSHOT plugin version, and even if I use dev builds of Multiverse, I still have this bug

Pirgosth commented 4 years ago

Could you give me your exact plugin and dependencies versions ? Even if we can't fix this issue for now I'd like to find a workaround to make portals work on my server. I'll really appreciate it.

BlackBeltPanda commented 4 years ago

I had this issue a long time ago, so not sure if this fix still works or if yours is caused by something else. What I had to do was disable the nether in server.properties, generate it with Multiverse, and then link it to the skyblock world with Multiverse-Netherportals. I also had to set the scale for the nether world in Multiverse's worlds.yml file to 8.

Pirgosth commented 4 years ago

After several hours of testing, I have notice a few things:

@BlackBeltPanda I've tried your fix, but it doesn't change anything, and in my worlds.yml, the nether scale was already to 8.

Pirgosth commented 4 years ago

@Muspah Sorry about the mention, but have you try restarting your island and then go into the nether ? Because it can seem to work at first when you have just created an island, but as far as you restart a new one the issue is back

Muspah commented 4 years ago

It's going to be tomorrow for me, we're having troubles with the incoming power tonight.

Pirgosth commented 4 years ago

No problem, hope it will be fix soon =)

Pirgosth commented 4 years ago

Ok, because I can't find any way to make this working, and because of another issue with portals (when your portal is to near from another island, it teleport you to the wrong nether island) I'll try to implement a new linking mechanism for uSkyblock, independent of Mutliverse-NetherPortals. If I get this to work, I'll submit a pull request, hope it will bring me somewhere.

Muspah commented 4 years ago

The bigger issue is the removal of the TravelAgent in Spigot 1.14.

I've thought about switching to a system where going through a netherportal would just place you at a configured location, something like /is home for the nether, to prevent a lot of issues.

Pirgosth commented 4 years ago

I've thought about switching to a system where going through a netherportal would just place you at a configured location, something like /is home for the nether, to prevent a lot of issues.

It is exactly what I've been thinking of

More precisely, I though about a system where on island creation, we keep track of the nether portal location into the island config, and when a player enter a nether portal on the corresponding island, it teleport the player when the PlayerPortalEvent is triggered

Muspah commented 4 years ago

Yeah, I've fiddled around with similar implementations around a year ago, but there are some other downsides. Especially when going back from the nether to the overworld when one has goldfarms on the island. Which portal should be used then?

In the end, the easiest solution without a lot of edge-cases seemed teleporting to the island home. Bigger question then, do we want to implement that change for all users, if only a few are experiencing issues? It does break the vanilla expectations from players.

Pirgosth commented 4 years ago

Yep, I just realized it would be more difficult than I though. Maybe this can be a option in main config ? Switching between Vanilla and custom but safe behaviour ?

EDIT: Because of the TravelAgent being removed, I'm not even sure if the Multiverse-NetherPortal behaviour is the Vanilla one, because I already noticed a few strange behaviours with portals

Muspah commented 4 years ago

To be honest, I do prefer to switch to a simple implementation if possible. I've just started adding some abstracting between plugins and uSkyBlock, so we're able to add support for different world managers in the future for example.

But it would require additional testing on servers with bigger islands, goldfarms et cetera, because there are going to be edge-cases where the implementation fails. The change itself isn't complicated.

Pirgosth commented 4 years ago

I do understand, maybe should I fork your repository and make my own implementation ?

Muspah commented 4 years ago

image This is what we're running at the moment.

Pirgosth commented 4 years ago

Thank you, are you having any issues when restarting an island ?

Muspah commented 4 years ago

Thank you, are you having any issues when restarting an island ?

Nope, no issues

Muspah commented 4 years ago

I do understand, maybe should I fork your repos and make my own implementation ?

Feel free to fork and PR a change, but I would like to keep it opt-in at first, maybe even with a hidden config option that one needs to manually add, to allow us some time to test things out in production.

Pirgosth commented 4 years ago

Nope, no issues

I'm jealous x)

I agree to add a hidden option for test purpose, and to let you the time to get sure everything's right.

Muspah commented 4 years ago

Mhm, I don't know if that's something to be jealous of, we're running local test builds with broken SQL support, et cetera ;p

Pirgosth commented 4 years ago

The pleasure of being a developer :p

Muspah commented 4 years ago

Oh no, no, that's fiddling with old Delphi crap, still trying to keep it alive and running after 20 years. A lot of code is in Dutch too 😂

Pirgosth commented 4 years ago

:joy:

Pirgosth commented 4 years ago

Okay, I'm glad to say that I just finished my new linking mechanism, and it just work perfectly for now!

Unfortunately, I based my work on an old commit (73e1fc4ac55361632b6ab8b05050229c14a187d5, the 2.8.7 release one) and I made a lot of small changes in several files, moreover I added some data in players config files, and I don't think it would be a good idea to add a toggle for this in the main config, even a hidden one, because it will require a lot of work for not much ..

Muspah commented 4 years ago

and I made a lot of small changes in several files, moreover I added some data in players config files, and I don't think it would be a good idea to add a toggle for this in the main config, even a hidden one, because it will require a lot of work for not much ..

It's not a problem, just open a PR when you're ready to. We can always merge to a new branch and do some testing before pushing to master.

Pirgosth commented 4 years ago

Alright, I'll send a PR when everything is done ;)