Chocolate Quest Repoured

Chocolate Quest Repoured

2M Downloads

Reputation system causing payload error.

Zilacon opened this issue ยท 8 comments

commented

Common sense Info

  • I play...
    • With a large modpack
    • Only with CQR and it's dependencies
  • The issue occurs in...
    • Singleplayer
    • Multiplayer
  • I have searched for this or a similar issue before reporting and it was either (1) not previously reported, or (2) previously fixed and I'm having the same problem.
  • I am using the latest version of the mod (all versions can be found on github under releases)
  • I read through the FAQ and i could not find something helpful (FAQ)
  • I reproduced the bug without any other mod's except forge, cqr and it's dependencies
  • The game crashes because of this bug

Versions
Chocolate Quest Repoured: 2.2.1B
Forge: 2846
Minecraft: 1.12.2
Modpack: Hexxit Updated 1.3 (CurseForge)

Describe the bug
When a player joins the server once a reputation file has been generated for that player, it causes a payload error that kicks the player on every following login to the server (i think). I made a complete copy of the world and removed CQR from the server without changing any other files, the player was able to login without any errors multiple times. When i put CQR back into the server the player was getting the payload error once again.

Expected behavior
Players allowed to join without being kicked or receiving a payload error.

Other
Both errors: https://gist.github.com/Zilacon/da9317c3f28920c701545fc1ea89e49b

commented

First of all don't create an issue for 2 problems.

But I can already tell you that the second problem is not relevant. So just edit this issue accordingly.

Now why is the second problem not relevant: I tested it and when starting a server with only CQR it only reloads all loot tables when the spawn dimension is loaded. And that (normally) only happens once because the spawn dimension is (normally) never unloaded. That means it only creates a few warnings when the server is started and not thousands.
Also in my test it printed the error messages in less than a second. That means for you it does not take 5 seconds trying to load the missing loot tables. Instead it probably loads all the other loot tables between the warnings.

The first problem is (probably) caused by the protection system and will be worked on.

commented

If you look at the error I posted you can see the timestamps on how long it takes for it to load a dimension while looking for those loot tables. On average it does take 5 seconds or more on every server software I have available to me.

And yes, starting the server with only CQR would load the server much faster due to the lack of dimensions. The hexxit updated pack has dozens of dimensions from mods like AoA3. So 5 seconds per dimension multiplied by dozens of worlds, increases start time by 10 minutes or longer.

And when I said thousands I meant in total for all worlds. The error I posted shows all of the errors per dimension, but then you have to think of the dozens of dimensions it throws those warnings for, which at the end adds up to hundreds if not a thousand warnings. I did not mean it was throwing a thousand warnings per dimension.

Could the loot tables maybe be loaded once the mod is loaded up instead of when the world is loaded? Because many mods, even without a hybrid software like I'm using. Will automatically unload un used dimensions, and using performance mods like foamfix and unloader will also unload dimensions if not in use by a player.

With that said, could I shift this into another issue to separate the 2? Or is it still something that wont be looked at?
And thanks for looking into the payload error as its rendered the server unplayable.

commented

I did not mean it was throwing a thousand warnings per dimension.

Yes, that's how I understood it. But when testing with only cqr then it only reloads all loot tables when the spawn dimension (usually the overworld with id=0) is loaded and also the spawn dimension is never unloaded. If that is not the case for you then you can create a new issue and provide the complete log.

If you look at the error I posted you can see the timestamps on how long it takes for it to load a dimension while looking for those loot tables.

Just because the time difference between the first warning in the log and the last warning in the log is 5 seconds does not mean that it took 5 seconds trying to load the missing loot tables. An example:

  1. It tries to load the first missing cqr loot table (cqrepoured:entities/mounts/pollo) which takes 1 millisecond and prints the warning: [00:00:00] [Server thread/WARN] ...
  2. It loads 1000 loot tables from all the other mods installed which takes 10 seconds
  3. It tries to load the second missing cqr loot table (cqrepoured:entities/mounts/bee) which takes 1 millisecond and prints the warning: [00:00:10] [Server thread/WARN] ...

Now if you just look at the log you might think it took 10 seconds trying to load 2 missing loot tables but in reality loading the 1000 loot tables from other mods took so long.

Could the loot tables maybe be loaded once the mod is loaded up instead of when the world is loaded?

No, that's vanilla behavior and happens with all loot tables.

commented

Alright, just wanted to show the logs from the start of dimension loading:

[08:40:24] [Server thread/INFO] [FML]: Loading dimension 0 (Survival) (net.minecraft.server.dedicated.DedicatedServer@2d7fd3bc)
[08:40:24] [Server thread/WARN] [net.minecraft.world.storage.loot.LootTableManager]: Couldn't find resource table cqrepoured:entities/mounts/pollo

Ending:

[08:48:51] [Server thread/INFO] [FML]: Loading dimension 4 (DIM4) (net.minecraft.server.dedicated.DedicatedServer@2d7fd3bc)
[08:48:51] [Server thread/WARN] [net.minecraft.world.storage.loot.LootTableManager]: Couldn't find resource table cqrepoured:entities/mounts/pollo
[08:48:57] [Server thread/WARN] [net.minecraft.world.storage.loot.LootTableManager]: Couldn't find resource table cqrepoured:entities/bosses/bull_ice

Total time: 8 minutes 30ish seconds.

Starting the server without CQR (Same world/backup):

[10:42:27] [Server thread/INFO] [FML]: Loading dimension 0 (Survival) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:30] [Server thread/INFO] [FML]: Loading dimension 1 (DIM1) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:31] [Server thread/INFO] [FML]: Loading dimension 50 (DIM50) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:31] [Server thread/INFO] [FML]: Loading dimension 51 (DIM51) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:31] [Server thread/INFO] [FML]: Loading dimension 52 (DIM52) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:32] [Server thread/INFO] [FML]: Loading dimension 53 (DIM53) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:32] [Server thread/INFO] [FML]: Loading dimension 800 (DIM800) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:32] [Server thread/INFO] [FML]: Loading dimension 801 (DIM801) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:33] [Server thread/INFO] [FML]: Loading dimension 802 (DIM802) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:33] [Server thread/INFO] [FML]: Loading dimension 803 (DIM803) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:33] [Server thread/INFO] [FML]: Loading dimension 804 (DIM804) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:33] [Server thread/INFO] [FML]: Loading dimension 805 (DIM805) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:34] [Server thread/INFO] [FML]: Loading dimension 806 (DIM806) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:34] [Server thread/INFO] [FML]: Loading dimension 807 (DIM807) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:34] [Server thread/INFO] [FML]: Loading dimension 808 (DIM808) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:35] [Server thread/INFO] [FML]: Loading dimension 809 (DIM809) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:35] [Server thread/INFO] [FML]: Loading dimension 810 (DIM810) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:35] [Server thread/INFO] [FML]: Loading dimension 811 (DIM811) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:35] [Server thread/INFO] [FML]: Loading dimension 812 (DIM812) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:36] [Server thread/INFO] [FML]: Loading dimension 813 (DIM813) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:36] [Server thread/INFO] [FML]: Loading dimension 814 (DIM814) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:36] [Server thread/INFO] [FML]: Loading dimension 815 (DIM815) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:37] [Server thread/INFO] [FML]: Loading dimension 816 (DIM816) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:37] [Server thread/INFO] [FML]: Loading dimension 817 (DIM817) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:37] [Server thread/INFO] [FML]: Loading dimension 818 (DIM818) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:38] [Server thread/INFO] [FML]: Loading dimension 819 (DIM819) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:38] [Server thread/INFO] [FML]: Loading dimension 820 (DIM820) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:38] [Server thread/INFO] [FML]: Loading dimension 821 (DIM821) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:39] [Server thread/INFO] [FML]: Loading dimension -1 (DIM-1) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:39] [Server thread/INFO] [FML]: Loading dimension 66 (DIM66) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:39] [Server thread/INFO] [FML]: Loading dimension 20 (DIM20) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)
[10:42:42] [Server thread/INFO] [FML]: Loading dimension 4 (DIM4) (net.minecraft.server.dedicated.DedicatedServer@ab24087a)

Total time: 15 seconds flat.
See the difference?

commented

As I said create a new issue and provide the complete log(-s).

commented

Ok, will do.

commented

Which dimension are you in when trying to log in?
And can you try this:

  1. For that dimension can you (temporarily) delete the world/data/CQR/protected_regions folder
  2. start the server
  3. try joining again
commented

Issue will be closed.

Reason: No activity for two entire weeks.
Issue should be reopened when there is activity again.