Better Questing

Better Questing

39M Downloads

Quests and parties doesnt work on a offline server

VSeryi opened this issue ยท 27 comments

commented

Hello,
I created a modded server on 1.7.10 with Thermos Server and BetterQuesting Mod, and The last one doesnt show Completed quest.

If I run it on Online Mode and this work without problems.

commented

same problem.

commented

????

commented

The only way to migrate UUIDs from offline to online is using its username and Mojang API (This only work if offline UUID is a registered minecraft account)

If you want migrate UUIDs from online to offline is using its username and you can use this code:
UUID offlineUUID=UUID.nameUUIDFromBytes(("OfflinePlayer:"+playerName>).getBytes(Charsets.UTF_8));

Source

More Info:

The Minecraft offline mode UUID is generated by hashing the username with md5 while adding 'OfflinePlayer:' in front of the name.
For example: md5("OfflinePlayer:" . $username);

Source

I don't know if this is your difficulty or not (English is not my native language and I dont know if I undestand you correctly :S) but I hope that this can help you and you have a good academic year (I also have begun uni and this is like a hell xD)

Thanks for your time and your mod :D

commented

It's not so much getting the UUIDs that's the problem. The biggest problem is that all of the questing progressed is saved with those UUIDs including 3rd party expansions I'm not in control of so it's not as simple as replacing A with B. There's also no way of knowing if the saved UUIDs are offline or online when loaded. I'm really considering just not supporting progress migration (I don't know many people who do anyway) but rather just look into why people are having difficulty with offline servers.

commented

Look, I'm a little caught up with Uni at the moment and there is no 'quick fix' for this. I plan on having this fixed in the rewrite but I'm still having great difficulty in figuring out a reliable way of migrating UUIDs back and forth between online and offline.

commented

I am totally agree with you, If somebody want migrate it can "manually" replace its online UUIDs to its offline UUIDs on json files.

The weird issue is the problem with offline servers :S

commented

I actually found the cause and solution to this a while ago to this but haven't put it in the released builds yet because it requires all UUID references to be redone. I guess you can use that work around for now but just know it's fixing the symptoms not the root cause

commented

Hello Again!

I did some test and I discovered that topic on Minecraftforum:
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2535805-hackish-fix-uuidoffline-synchronise-client

He had a problem with another mod that It doesnt work on offline mode. He explain why this is happening and how he "solved" it.

I tried his mod and It fix the issue with BetterQuesting mod too.

I hope that this can help you for fix this problem.

commented

I've implemented the UUID changes in the latest 2.x.x beta builds if you want to test those (it isn't compatible with 1.x.x expansions though)

commented

New beta builds pushed out (you'll need to update both the base and the expansion). The questing UUIDs are now server side enforced to some extent

commented

Thanks for your time!
I tried BetterQuesting-2.0.164.jar and StandardExpansion-2.0.101.jar with QuestBook 1.10.
A online server -> All Work
A offline server -> Dont Work
A offline server with UUIDOffline Mod -> Dont Work

commented

Great... guess I'll have to overhaul the UUID system again to a custom synchronised one seeing as vanilla's system isn't very reliable at all. Thanks for testing that by the way, helps quite a bit actually.

UPDATE: I've devised another potential solution that doesn't involve hacking the client side UUIDs. Should hopefully have a new build by tomorrow with the changes.

commented

New beta builds pushed out (you'll need to update both the base and the expansion).

I only see BetterQuesting update (BetterQuesting-2.0.165.jar). BetterQuesting: Standar Expansion was not updated (StandardExpansion-2.0.101.jar) <- I think that It is the actual issue

Summary (BetterQuesting-2.0.165.jar and StandardExpansion-2.0.101.jar):
On online server -> I can create parties and complete quests but "details" is no updated (like @checa8888 said)
On offline server -> I can create parties and complete quests but "details" is no updated (like @checa8888 said)
On singleplayer -> I can create parties and complete quests and "details" is updated. (All work (?))

commented

Seems the Standard Expansion build failed and I hadn't noticed. I've rebuilt it now but I have a new cleaned up version replacing it soon.

commented

BetterQuesting-2.0.165.jar & StandardExpansion-2.0.103.jar

On Online Server or Singleplayer or Offline Server: The name of the party is "new party" alway (If you edit it later, It change the name). The others things that I tested work ๐Ÿ‘

@checa8888

can complete the quest whit one item. (also not consume them) (offline server)
Cant get reward (offline server)

I dont have this issues

commented

That would likely be because a player's offline UUID is different to their online UUID which is what BetterQuesting uses to uniquely identify players. Offline UUIDs are generated based on the username whereas in online mode the UUID is unique to the Mojang account. BetterQuesting has no way of knowing the difference or migrating between them especially because usernames can be changed now. Trying to switch a server between offline and online modes would result in a player's quest progression being reset and removal from any existing questing party essentially meaning everyone has to start over.

TLDR version:
Don't switch between offline and online mid questing, everything breaks.

commented

First, Thanks for you quick response!

I tried several things:

  1. Make a online server (Fresh) and connect with my official account = All Work
  2. Make a offline server (Fresh) and connect with my official account = Doesnt Work
  3. Make a offline server (Fresh) and connect with a "no-premium" account = Doesnt Work

Yes, Better Questing have a problem switching offline and online mode (I tried to activate online mode from offline server too), but It have a problem with every offline UUID because with a fresh offline server doesnt work.

Fresh server is this (?):
image

commented

If this is indeed a 'fresh' server, where are you getting these quests?

Can you post the QuestDatabase.json?

commented

Of course. Firstly I was trying with a Modpack (GT New Horizons that is the modpack I want play ) which use your mod and I tried many things to find what mod or configuration is not working.

When I thought that your mod had the problem I imported a Vainillia Quests from this modpack to a empty "quests book" to try a server without others mods or configurations.

My QuestDatabase.json is there (Its work on Singleplayer and Multiplayer on Online Mode):

DefaultQuests.txt

(I renamed it to txt to upload it to GitHub)

Thanks!

commented

Okay that is really odd, I use offline mode in testing and I've never had any of that happen. Could have something to do with me running the server and client from the same directory. I have a small theory as to what could be happening here but it will take a bit of testing to confirm. Will post if I find anything

commented

There's almost a hundred quests in here, which one specifically do you know is having issues?

commented

All of them on this DefaultQuests or the DefaultQuest on GTNewHorizon modpack. I used quest with ID 8 as example.

If I try complete a quest, the top notification is showed, on QuestProgress.json is written but on the quest book this quest show incomplete.

Other detail is with parties. If I try create a party on offline mode, this is not show on the book but it is written on the QuestParties.json.

I recorded two videos, a online mode video (all work) and offline mode video (nothing work).

Same client and same clean server. Only changing online mode variable.

commented

If I can do some test for help you, tell me and I will be glad to help you.

Thank you so much for your time and your mod. I will wait and I hope that you find the problem! (I will tried with other versions and servers)

commented

http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2535805-hackish-fix-uuidoffline-synchronise-client
This page delited, can sb please explain me, how to start offline server with working BQ?
I use Technic launcher cracked by Pheoenix

The hackish method is using this mod: https://github.com/TehSomeLuigi/UUIDOffline/releases

Can you tell what do I need to do for the same result?

I think that you can update to lastest Better Questing to get it fixed too

commented

Thanks

commented

http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2535805-hackish-fix-uuidoffline-synchronise-client
This page delited, can sb please explain me, how to start offline server with working BQ?
I use Technic launcher cracked by Pheoenix

commented

BetterQuesting-2.0.165.jar & StandardExpansion-2.0.103.jar

On Online Server or Singleplayer or Offline Server: The name of the party is "new party" alway (If you edit it later, It change the name). The others things that I tested work ๐Ÿ‘

@checa8888

can complete the quest whit one item. (also not consume them) (offline server)
Cant get reward (offline server)

I dont have this issues

Can you tell what do I need to do for the same result?