Jump to content

Credinus

Vintarian
  • Posts

    28
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Credinus

  1. Just to follow-up, Aedis' issue is the same one a player trying to connect to my server was having, and we have not been able to resolve it either. Deleting the player data did not work, and removing the XSkills/Xlib mods from the server temporarily to test caused him to lock up and not be able to connect, but also not get a crash to generate a crash report. All other players are having no issues.

    That being said, I did come across another curious bug that I thought I'd bring up. With the expanded foods mod, there are some combinations of food that seem to have a rounding issue that make the number of portions XSkills sees 0; an example of cooking a single unit of egg white and a single unit of egg yolk in the cooking pot, which generates 0.5L of scrambled egg but the cooking pot and, by extension, Xskills, seems to round it down to zero. As a result, when the cooking completes, XSkills attempts to apply something from the cooking skill tree (not sure if it's XP, or something from one of the skills like shelf life or something like that) which causes a divide by zero infinite loop. This caused the server to lock up and be unusable (since even when restarting, it would immediately try and complete the division again), the fix was to temporarily remove the xskills mod and connect to let the cooking process finish out, and then add the mod back in. Definitely more of an issue with the Expanded Foods mod being able to cook less than 1 full unit, but I thought I'd post about it here in case anyone runs into the same issue and isn't sure how to fix it.

  2. Hello! I've got a player that has been trying to play on my home server and keeps crashing with an XEffectsPatch error when he tries to connect. No other users are having this issue; the player has done a fresh reinstall of the game twice and it is still occurring. He gets past downloading all the mods upon connecting, and then it crashes to this and any further attempts to reconnect give the same error. Anyone have any ideas as to what might be causing this? As mentioned, we have three other players that are not having any issues, so I'm at a loss as to what the problem might be. The mention of the XEffectsPatch is the only thing I recognize as it's part of this mod set (which we are using on the server, server/client versions 1.17.9).

    Thanks in advance for any suggestions or ideas for resolving this!

    Quote

    Running on 64 bit Windows with 8 GB RAM Game Version: v1.17.10 (Stable) 1/27/2023 8:19:09 PM: Critical error occurred Loaded Mods: Involved Harmony IDs: XEffectsPatch System.ObjectDisposedException: Cannot access a disposed object. Object name: 'The ThreadLocal object has been disposed.'. at System.Threading.ThreadLocal`1.GetValueSlow() at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(IWorldAccessor world, ItemSlot inslot) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2213 at Vintagestory.API.Common.CollectibleObject.AppendPerishableInfoText(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1579 at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch1(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) at Vintagestory.API.Common.ItemStack.GetDescription(IWorldAccessor world, ItemSlot inSlot, Boolean debug) in VintagestoryApi\Common\Collectible\ItemStack.cs:line 372 at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(ICoreClientAPI capi, ItemStack stack) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 42 at Vintagestory.GameContent.GuiDialogHandbook.BuildPages_Async(List`1 allstacks) in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 516 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() Event Log entries containing Vintagestory.exe, the latest 3 ================================== { TimeGenerated = 1/27/2023 8:19:13 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.17.10.0, time stamp: 0x63bbdc3a Faulting module name: KERNELBASE.dll, version: 10.0.22621.963, time stamp: 0x766ca8ae Exception code: 0xe0434352 Fault offset: 0x00000000000906bc Faulting process id: 0x0x73e0 Faulting application start time: 0x0x1d932b557c55c7f Faulting application path: C:\Users\drago\AppData\Roaming\Vintagestory\Vintagestory.exe Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll Report Id: c3f487f7-48d1-438a-861b-8c37aa2db128 Faulting package full name: Faulting package-relative application ID: } -------------- { TimeGenerated = 1/27/2023 8:19:10 PM, Site = , Source = .NET Runtime, Message = Application: Vintagestory.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.ObjectDisposedException at System.Threading.ThreadLocal`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetValueSlow() at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(Vintagestory.API.Common.IWorldAccessor, Vintagestory.API.Common.ItemSlot) at Vintagestory.API.Common.CollectibleObject.AppendPerishableInfoText(Vintagestory.API.Common.ItemSlot, System.Text.StringBuilder, Vintagestory.API.Common.IWorldAccessor) at DynamicClass.Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch1(Vintagestory.API.Common.CollectibleObject, Vintagestory.API.Common.ItemSlot, System.Text.StringBuilder, Vintagestory.API.Common.IWorldAccessor, Boolean) at Vintagestory.API.Common.ItemStack.GetDescription(Vintagestory.API.Common.IWorldAccessor, Vintagestory.API.Common.ItemSlot, Boolean) at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(Vintagestory.API.Client.ICoreClientAPI, Vintagestory.API.Common.ItemStack) at Vintagestory.GameContent.GuiDialogHandbook.BuildPages_Async(System.Collections.Generic.List`1<Vintagestory.API.Common.ItemStack>) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() } -------------- { TimeGenerated = 1/26/2023 9:17:30 PM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1746392558194827675, type 5 Event Name: CLR20r3 Response: Not available Cab Id: 0 Problem signature: P1: Vintagestory.exe P2: 1.17.9.0 P3: 63501532 P4: mscorlib P5: 4.8.9105.0 P6: 63227283 P7: 3dcb P8: 1b P9: System.ObjectDisposedException P10: Attached files: \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.1eff633a-5b49-4845-ab0f-ad3fccff6ff5.tmp.WERInternalMetadata.xml These files may be available here: \\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_b1673e598bfc64344c356b44d832999463819975_7fba9aec_837b24e1-2783-483e-9403-45532c183701 Analysis symbol: Rechecking for solution: 0 Report Id: 6269f5e3-d5ab-418b-a7df-12626accac18 Report Status: 268435456 Hashed bucket: 4133548a4b01363dd83c6ec76596a19b Cab Guid: 0 }

     

  3. On 9/19/2021 at 3:02 PM, Viceroy said:

    -issues with food spoilage on multiplayer servers

     

    this so far was and still is the most frustrating thing to deal with that needs to get fixed. The sooner the better. Going on a journey with food in your inventory, needing to log off quickly and after a while coming back on the server I find all my food rotten while in the middle of nowhere. Working on a base is less annoying since your are near your food source, but still nearly 30-40% of my tasks on the server were revolved around solving food situation. Meanwhile your crops are dying, foods in vessels spoiling with winter just around the corner. This mechanic is very punishing and it almost feels like this game disrupts your daily routine, as stupid as it sounds. This was the main thing that drove me away from playing.

     

     

     

     


     

    For dedicated servers, spoilage rates and time progression have been the most difficult things to balance in my experience. Using conventional preservation methods such as pickling/curing ingredients, storing in cellars, sealing crockpots, etc work great for a lot of things, but there are some mechanics that are downright impossible if you play on a dedicated server where you only have limited hours per day but other players are running the time forward constantly. For example, cheesemaking: you've got to be able to be on during a window in which your animals can be milked (this is decently forgiving at least, but still difficult to manage depending on how frequently you are able to play). Then you've got to go through each of the steps in making the cheese, and the spoil times for each step here are not so forgiving, and there's not much you can do outside of modding to fix this. And unfortunately, the only "easy" fix to this would be a blanket reduction on spoil rates either globally or for certain containers (such as barrels), which could in-turn trivialize a major survival factor in the game. Perhaps more control of room temperatures and their effects on spoil rates could address this to some extent, but again, balancing making those mechanics impossible for casual players versus trivializing them for all-day players is a tall order. I'm curious to hear how other server managers are juggling this.

    Time progression can also create difficulty in farming. I have not yet found an easy solution to this, but I am looking at greenhouses as the easiest fix: if you can make greenhouses work as a true safeguard for your crops, then you don't have to worry as much about your crops dying from seasonal temperature shifts before you get a chance to harvest them because you took a weekend away. If you could just throw your crops into a greenhouse and have the peace of mind knowing that they're going to be safe from seasonal shifts while you're away from the game, then that concern goes away. One suggestion I've seen mentioned in other threads makes a lot of sense, but I imagine would require quite a bit of rework to the code structure of greenhouses; the suggestion was essentially to make it so that greenhouses will never let a crop go below its minimum growing temperature or above its maximum, so while it would still be subjected to reduced yield and slowed growing rates if the temperatures are too extreme, they at least won't wither away. There could be an argument here that that also presents a major balance issue, though, in that players could then essentially use greenhouses as forever storage for crops.

    Even with mods, I have not found a good existing solution to tackle either of these in a way that doesn't make the game's survival aspect too underwhelming for the players that are on far more often than others, and I'd venture to say that it may be the biggest sticking point that is holding dedicated server popularity back over anything else. The time progression works wonderfully for single player or for set playtime servers, but unfortunately it just unfairly limits the amount of game mechanics that casual players can participate in on dedicated servers, and that's a problem that needs addressing sooner rather than later since it is wrapped up in the core mechanical foundations of the game.

    • Like 1
×
×
  • 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.