Spawn behavior on join
SmallSansSerif opened this issue ยท 9 comments
I am getting sent to the default server spawn after every login now after upgrading to HSP. I'm using Multiverse with multiple worlds.
Any thoughts as to why the spawn behavior would change? It momentarily would appear at the last known point and then I would appear at the server default spawn. Priorities?
http://pastebin.com/V3rDdRTz < config from HSP
http://pastebin.com/hPQpPZxZ < config from Multiverse Core
Can you turn on core.verboseStrategyLogging and see what is printed to the log for your onJoin event and pastebin it here? Your strategy for onJoin is "spawnNewPlayer, default" so HSP shouldn't be sending them anywhere unless they are a new player. Maybe another plugin is doing this?
Ah. This is a UUID issue. In whatever release Bukkit introduced UUIDs, player files switched from "/players/" to "/playerdata/". A simple fix for now is to change your core.newPlayerStrategy to ORIGINAL. This will lookup in the HSP database and fix the issue.
Meanwhile I will work on a code fix with UUIDs so the PLAYER_DAT strategy will work again as expected.
hmm that didn't work.. changed in old config and new core file.. all users spawn to first spawn spot
Oh. Yep I see a bug even in ORIGINAL. It falls through to PLAYER_DAT, which is setting isNewPlayer = true in 100% of the cases.
I've never had a lot of success with "BUKKIT" method, because I believe it was designed to only work on "loginEvent" and I listen to "joinEvent" (which happens later in the login process), but you can try it. If that doesn't work, you'll have to wait until I can get a fix out. Not sure if I'll be able to get to it today, maybe tonight.
I forgot to tag the commit, but this should be fixed in build 570, even with original PLAYER_DAT strategy
It looks like it thinks it's a new player but they are not as this is on a relog: