Jump to content

XLib and XSkills


Xandu

Recommended Posts

Got a neat little crash here for you. Seems to happen while digging charcoal and the extra charcoal chance from forester happens. The user in question does not have the perk, if that assists with the debugging process. I'm more than happy to assist in any way I can.

Server Main Logs: 
4.4.2024 12:08:40 [Event] Player WaterhouseHawki got removed. Reason: Threw an exception at the server
4.4.2024 12:08:40 [Error] Exception: Object reference not set to an instance of an object.
at XSkills.XSkillsCharcoalBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1175
at Vintagestory.GameContent.EntityBlockFalling.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in VSEssentials\Entity\EntityBlockFalling.cs:line 248
at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity, EntityProperties type) in VintagestoryLib\Server\ServerMain.cs:line 2330
at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity) in VintagestoryLib\Server\ServerMain.cs:line 2275
at Vintagestory.GameContent.BlockBehaviorUnstableFalling.TryFalling(IWorldAccessor world, BlockPos pos, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorUnstableFalling.cs:line 143
at Vintagestory.GameContent.BlockBehaviorUnstableFalling.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos, EnumHandling& handling) in VSSurvivalMod\BlockBehavior\BehaviorUnstableFalling.cs:line 109
at Vintagestory.API.Common.Block.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1339
at Vintagestory.Server.ServerMain.TriggerNeighbourBlocksUpdate(BlockPos pos) in VintagestoryLib\Server\ServerMain.cs:line 2167
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138

Also I haven't been able to prove it, but there is another bug I am experiencing that causes metal to go to it's melting temperature when you start hammering it, I have a feeling this is caused by the metalworking skill, but no proof. More just throwing it out there if anyone else has experienced it.

Edited by Austin Hilton
Link to comment
Share on other sites

15 minutes ago, Austin Hilton said:

Got a neat little crash here for you. Seems to happen while digging charcoal and the extra charcoal chance from forester happens. The user in question does not have the perk, if that assists with the debugging process. I'm more than happy to assist in any way I can.

Server Main Logs: 
4.4.2024 12:08:40 [Event] Player WaterhouseHawki got removed. Reason: Threw an exception at the server
4.4.2024 12:08:40 [Error] Exception: Object reference not set to an instance of an object.
at XSkills.XSkillsCharcoalBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1175
at Vintagestory.GameContent.EntityBlockFalling.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in VSEssentials\Entity\EntityBlockFalling.cs:line 248
at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity, EntityProperties type) in VintagestoryLib\Server\ServerMain.cs:line 2330
at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity) in VintagestoryLib\Server\ServerMain.cs:line 2275
at Vintagestory.GameContent.BlockBehaviorUnstableFalling.TryFalling(IWorldAccessor world, BlockPos pos, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorUnstableFalling.cs:line 143
at Vintagestory.GameContent.BlockBehaviorUnstableFalling.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos, EnumHandling& handling) in VSSurvivalMod\BlockBehavior\BehaviorUnstableFalling.cs:line 109
at Vintagestory.API.Common.Block.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1339
at Vintagestory.Server.ServerMain.TriggerNeighbourBlocksUpdate(BlockPos pos) in VintagestoryLib\Server\ServerMain.cs:line 2167
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138

Also I haven't been able to prove it, but there is another bug I am experiencing that causes metal to go to it's melting temperature when you start hammering it, I have a feeling this is caused by the metalworking skill, but no proof. More just throwing it out there if anyone else has experienced it.

Hi. I think this bug is usually fixed by deleting the cache folder. It is weird but I think it helped some people. If this does not help I need to do a further look at this. There was a discussion on the second issue in the discord a few days ago. This is caused by the metalworking skill and it is intentional. It is the maximum temperature used for the heating hits ability.

Link to comment
Share on other sites

5 hours ago, Xandu said:

Hi. I think this bug is usually fixed by deleting the cache folder. It is weird but I think it helped some people. If this does not help I need to do a further look at this. There was a discussion on the second issue in the discord a few days ago. This is caused by the metalworking skill and it is intentional. It is the maximum temperature used for the heating hits ability.

Looks like it's still crashing after the cache clear. Thanks for the info on the Metalworking skill, that helps clear things up. :)

Link to comment
Share on other sites

14 minutes ago, Austin Hilton said:

Looks like it's still crashing after the cache clear. Thanks for the info on the Metalworking skill, that helps clear things up. :)

Do you have cleared the cache folder on the server and the client of the affected player? Have both sides the the newest version of the mod?

Link to comment
Share on other sites

13 minutes ago, Xandu said:

Do you have cleared the cache folder on the server and the client of the affected player? Have both sides the the newest version of the mod?

I didn't clear any cache on the server side, actually I'm not quite sure where the cache file is on the server side.

Link to comment
Share on other sites

7 hours ago, Austin Hilton said:

I didn't clear any cache on the server side, actually I'm not quite sure where the cache file is on the server side.

Shouldn't it be on the same place? I have never run a server. So I am not sure either.

Link to comment
Share on other sites

I sadly don't see one in my FTP, nor in any of the directories. I can confirm that everyone on the server does crash however when digging charcoal. Disabling the skill in Forestry doesn't seem to help either.

 ce31f2a1d28026e1a56716b2a57f9233.png

Edited by Austin Hilton
Link to comment
Share on other sites

2 hours ago, Austin Hilton said:

I sadly don't see one in my FTP, nor in any of the directories. I can confirm that everyone on the server does crash however when digging charcoal. Disabling the skill in Forestry doesn't seem to help either.

 ce31f2a1d28026e1a56716b2a57f9233.png

I would expect the folder somewhere there. But I have never run a server. Can you give me a full server main log?

Link to comment
Share on other sites

58 minutes ago, Austin Hilton said:

server-main (3).txtHere's the server main, with me reproducing the crash myself.

There are a lot of mods in there and a lot of error messages and warnings. Have you tried it in single player? Have you tried it with only xskills and xlib enabled?

Link to comment
Share on other sites

4 hours ago, Xandu said:

There are a lot of mods in there and a lot of error messages and warnings. Have you tried it in single player? Have you tried it with only xskills and xlib enabled?

Single-player seems to work with no problem with the mod pack, though you are correct there is a large number of mods here. From what I can tell (and you know way better than me so tell me if I'm wrong), it seems the server is expecting a certain value different than what the client is expecting on the charcoal drop? 

Tests were done both in single-player and both with the mod pack and without the mod pack, both did not crash. The crash only seems to be happening on the server.

Link to comment
Share on other sites

On 4/6/2024 at 1:59 AM, Austin Hilton said:

Single-player seems to work with no problem with the mod pack, though you are correct there is a large number of mods here. From what I can tell (and you know way better than me so tell me if I'm wrong), it seems the server is expecting a certain value different than what the client is expecting on the charcoal drop? 

Tests were done both in single-player and both with the mod pack and without the mod pack, both did not crash. The crash only seems to be happening on the server.

The issue is that there is a variable that should have a value but has no valid value at all. But I have no idea what variable that should be. It is something like a missing player entity. So a non existing player has broken the coal block. Or maybe the forestry skill does not exist at all. But this are cases that should not exist except something else went quite wrong. I made a few changes to the ability for the next patch that maybe fixes your issue.

Link to comment
Share on other sites

On 4/7/2024 at 11:23 AM, Xandu said:

The issue is that there is a variable that should have a value but has no valid value at all. But I have no idea what variable that should be. It is something like a missing player entity. So a non existing player has broken the coal block. Or maybe the forestry skill does not exist at all. But this are cases that should not exist except something else went quite wrong. I made a few changes to the ability for the next patch that maybe fixes your issue.

Interesting, even more strange is that it works on single player but not on multiplayer. When you release this I'll make sure to come back and report on any changes. Thanks for your time looking into this!

Link to comment
Share on other sites

22 hours ago, Austin Hilton said:

Interesting, even more strange is that it works on single player but not on multiplayer. When you release this I'll make sure to come back and report on any changes. Thanks for your time looking into this!

Thank you. It is always good to know whether a change worked or not.

Link to comment
Share on other sites

It would be nice if smithing products like plates with different quality didn't auto-stack, kind of like how different freshness of food items affects stacking behavior. Kind of sucks to pick up a "normal" metal plate and have it auto-stack with your masterwork iron plate, halving its value.

Link to comment
Share on other sites

Please can you explain for me skill well rested? I dont get it. 480s start when? After sleeping? So on multiplayer server it is useless?

EDIT: ok i see after sleeping i not need sleep real, only stay in bed in multiplayer and how long i need stay in bed?

Edited by Jiraiya1989
Link to comment
Share on other sites

On 4/9/2024 at 1:57 PM, Xandu said:

Thank you. It is always good to know whether a change worked or not.

Xandu! I figured it out! When you started speaking of the player that didn't exist, it got me thinking. The mod that would closely relate to that and has had problems in the past regarding these issues, has been the Outlaw Mod. After removing the mod from the server, it appears that the charcoal is now working correctly. Your mod was just the one throwing the error. I would probably note somewhere that there is incompatibility with the Outlaw Mod, but just figured I'd circle back and let you know. :)

Link to comment
Share on other sites

18 hours ago, ShnitzelKiller said:

It would be nice if smithing products like plates with different quality didn't auto-stack, kind of like how different freshness of food items affects stacking behavior. Kind of sucks to pick up a "normal" metal plate and have it auto-stack with your masterwork iron plate, halving its value.

Hi. I will add a configuration that should fix the issue.

9 hours ago, Jiraiya1989 said:

Please can you explain for me skill well rested? I dont get it. 480s start when? After sleeping? So on multiplayer server it is useless?

EDIT: ok i see after sleeping i not need sleep real, only stay in bed in multiplayer and how long i need stay in bed?

The longer you sleep, the longer the effect lasts. I think you reach the maximum at 8 hours of sleep ingame time. But I don't know how sleep works in multiplayer.

2 hours ago, Austin Hilton said:

Xandu! I figured it out! When you started speaking of the player that didn't exist, it got me thinking. The mod that would closely relate to that and has had problems in the past regarding these issues, has been the Outlaw Mod. After removing the mod from the server, it appears that the charcoal is now working correctly. Your mod was just the one throwing the error. I would probably note somewhere that there is incompatibility with the Outlaw Mod, but just figured I'd circle back and let you know. :)

I don't know how the outlaw mod would cause this. I took another look at your crash and it seems like it happens when charcoal collapses? I didn't even know that this can happen. Is this some kind of mod?

Link to comment
Share on other sites

8 hours ago, Xandu said:

Hi. I will add a configuration that should fix the issue.

The longer you sleep, the longer the effect lasts. I think you reach the maximum at 8 hours of sleep ingame time. But I don't know how sleep works in multiplayer.

I don't know how the outlaw mod would cause this. I took another look at your crash and it seems like it happens when charcoal collapses? I didn't even know that this can happen. Is this some kind of mod?

I haven't touched XSkills itself, nor have I downloaded any mods that alter XSkills. I really wish I had more to give, other than I had a hunch, and by uninstalling the Outlaw mod from the server, this crash is no longer happening. 
It was consistent too, if you were trying to dig charcoal, you were going to crash. Once again, I'm sorry I can't provide anything else other than that anecdote. 

WAIT. You're totally on to something. Charcoal doesn't have gravity by default, even with all settings for gravity turned on. This mod here does that https://mods.vintagestory.at/danatweaks, specifically the unstable soil portion. 

Edited by Austin Hilton
Link to comment
Share on other sites

14 hours ago, Austin Hilton said:

I haven't touched XSkills itself, nor have I downloaded any mods that alter XSkills. I really wish I had more to give, other than I had a hunch, and by uninstalling the Outlaw mod from the server, this crash is no longer happening. 
It was consistent too, if you were trying to dig charcoal, you were going to crash. Once again, I'm sorry I can't provide anything else other than that anecdote. 

WAIT. You're totally on to something. Charcoal doesn't have gravity by default, even with all settings for gravity turned on. This mod here does that https://mods.vintagestory.at/danatweaks, specifically the unstable soil portion. 

I could not reproduce this issue even with these two mods installed. Maybe it is just a combination of multiple mods that caused this crash.

Link to comment
Share on other sites

I think this bug might be related to this mod, specifically when you have the huge stomach perk. Basically the game forgets what your max satiety is every time you eat / drink a small quantity of food and takes a few seconds to equalize, making the hunger bar jump around wildly.

Edited by ShnitzelKiller
Link to comment
Share on other sites

1 hour ago, ShnitzelKiller said:

I think this bug might be related to this mod, specifically when you have the huge stomach perk. Basically the game forgets what your max satiety is every time you eat / drink a small quantity of food and takes a few seconds to equalize, making the hunger bar jump around wildly.

This is a known issue. For some reason the base game sometimes has issues with using the right value. I could not figure out why this happens and there is nothing I can do about it. But it only seems to affect the gui and should have no impact on the actual values.

  • Thanks 1
Link to comment
Share on other sites

On 4/17/2024 at 8:30 AM, ShnitzelKiller said:

If you swap a tool with a replacement in your "strong back" extra inventory slots, the durability display gets bugged, with a duplicate of the old item's durability showing up on the new one.

Hi. This is a known issue that sometimes happen. I take a look at from time to time but couldn't find out why this happen. 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.