Solved [HELP] Multiplayer crashes by entering the cellar of the 5th Player

Meffistopheles

Greenhorn
Hi,

we are playing a multiplayer farm. We are 5 Players, so we had to alter the save file from the beginning to get a fifth house. So far we could play without major problems.

Now every Player has his house upgraded so it has a cellar. The first four cellars are working without Problems (besides some glitching). But the last cellar is bugged. If anyone enters this cellar the game crashes for this player (yea if the host enters, the game of all shuts down).

I checked the save-file. The data of the cellar looks similar to the other ones, except that it has the Number "-1" (others 2, 3 and 4). So I changed that to 5, but that doesn't helped.

Is there any way to get this cellar working?

Greetings,

Meffistopheles
 
Like I wrote, we altered the save file to add a House. With every house you can connect a new Farmer. but Thats not the Point of the Problem ;)

--------How-to-more-Multiplayer-Guide------------
 
Like I wrote, we altered the save file to add a House. With every house you can connect a new Farmer. but Thats not the Point of the Problem ;)

--------How-to-more-Multiplayer-Guide------------

That very well is the point of the problem, possibly. How much space is reserved for these basements and other buildings? We're talking about something out of design, and the crash happens during one of the border cases for an out of design thing, so it's very likely tied to the part where you're going out of design. Might not be, but then you gotta find out how it would manifest itself when you're not going out of design (having 5 players). There might be only so much space reserved for farm building and such, or even just for the basements, before it starts over-writing other sections of RAM that are reserved for other things. Also, without trying it myself, i don't know how much RAM this takes. IIRC, Unity only allows up to 2GB of RAM (for compatibility with 32bit platforms, many of which are still on the market and are targets for Unity), and if you're crossing that boundary, this could easily turn into a "pointer exception" or, as windows likes to call it, "Access Exception Violation 0xc000000007" or something like that (i'm going off of memory), or "Segfault" on unix systems. Unity might even have an internal system for this. What do the OS crash logs say, and what do the stardew valley crash logs say (the latter should be near your saves)?
 
Can't see any reference to RAM-Overflow or something simular.

Yes, I'm your opinion too, that the Problem is caused by the fifth player adaption. I just wanted to know, if there is any way to fix the cellar?

anyway, the logs
Stardew-Valley-Log:
Message: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. InnerException: Stack Trace: bei StardewValley.Game1.onFadeToBlackComplete() in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:Zeile 5666. bei StardewValley.BellsAndWhistles.ScreenFade.UpdateFade(GameTime time) in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\BellsAndWhistles\ScreenFade.cs:Zeile 38. bei StardewValley.Game1.UpdateOther(GameTime time) in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:Zeile 5843. bei StardewValley.Game1._update(GameTime gameTime) in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:Zeile 3608. bei StardewValley.Game1.Update(GameTime gameTime) in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:Zeile 2913. bei Microsoft.Xna.Framework.Game.Tick() bei Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e) bei Microsoft.Xna.Framework.GameHost.OnIdle() bei Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame() bei Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e) bei System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef) bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) bei System.Windows.Forms.Application.Run(Form mainForm) bei Microsoft.Xna.Framework.WindowsGameHost.Run() bei Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) bei StardewValley.Program.Main(String[] args) in C:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Program.cs:Zeile 152.

Windows-Log (german):
1-Information:
Fehlerbucket 1553688818822579335, Typ 5 Ereignisname: CLR20r3 Antwort: Nicht verfügbar CAB-Datei-ID: 0 Problemsignatur: P1: Stardew Valley.exe P2: 1.3.7346.34283 P3: 5e42fa69 P4: Stardew Valley P5: 1.3.7346.34283 P6: 5e42fa69 P7: 1bb P8: 2f0 P9: System.NullReferenceException P10: Angefügte Dateien: \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDC54.tmp.dmp \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE0B.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE2B.tmp.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE29.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE3A.tmp.txt Diese Dateien befinden sich möglicherweise hier: \\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Stardew Valley.e_a572b2a5f87286d8efe8ecda7d86ca676e89a2_77cae30c_acaeb8f2-4fbf-460d-8c68-316eefdc7b20 Analysesymbol: Es wird erneut nach einer Lösung gesucht: 0 Berichts-ID: 5e295ead-9d7c-4640-91fb-18af873f45da Berichtstatus: 268435456 Bucket mit Hash: c8bbe08c43e8eb89158fcfbfb96a8487 CAB-Datei-Guid: 0

2-Error:
Anwendung: Stardew Valley.exe Frameworkversion: v4.0.30319 Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet. Ausnahmeinformationen: System.NullReferenceException bei StardewValley.Game1.onFadeToBlackComplete() bei StardewValley.BellsAndWhistles.ScreenFade.UpdateFade(Microsoft.Xna.Framework.GameTime) bei StardewValley.Game1.UpdateOther(Microsoft.Xna.Framework.GameTime) bei StardewValley.Game1._update(Microsoft.Xna.Framework.GameTime) bei StardewValley.Game1.Update(Microsoft.Xna.Framework.GameTime) bei Microsoft.Xna.Framework.Game.Tick() bei Microsoft.Xna.Framework.Game.HostIdle(System.Object, System.EventArgs) bei Microsoft.Xna.Framework.GameHost.OnIdle() bei Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame() bei Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(System.Object, System.EventArgs) bei System.Windows.Forms.Application+ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32) bei System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) bei System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext) bei System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext) bei System.Windows.Forms.Application.Run(System.Windows.Forms.Form) bei Microsoft.Xna.Framework.WindowsGameHost.Run() bei Microsoft.Xna.Framework.Game.RunGame(Boolean) bei StardewValley.Program.Main(System.String[])

3-Error:
Name der fehlerhaften Anwendung: Stardew Valley.exe, Version: 1.3.7346.34283, Zeitstempel: 0x5e42fa69 Name des fehlerhaften Moduls: unknown, Version: 0.0.0.0, Zeitstempel: 0x00000000 Ausnahmecode: 0xc0000005 Fehleroffset: 0x18395b66 ID des fehlerhaften Prozesses: 0xb10 Startzeit der fehlerhaften Anwendung: 0x01d61688dd1509a0 Pfad der fehlerhaften Anwendung: D:\Games\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe Pfad des fehlerhaften Moduls: unknown Berichtskennung: 5e295ead-9d7c-4640-91fb-18af873f45da Vollständiger Name des fehlerhaften Pakets: Anwendungs-ID, die relativ zum fehlerhaften Paket ist
 
I don't know german, but google translate says that the object didn't refer to an instance, which means either ConcernedApe or the creators of Unity failed to check for null-pointer, which also indicated at in error 2 ("System.NullReferenceException"). Null pointers mean that memory wasn't declared. Either stardew pre-reserves this memory at run time, even if you don't use it, or it creates it on the fly and you ran out. Only way to know which is the case is to see how much RAM it's eating. Either way you look at it, though, it's a ram issue.

EDIT: ERROR 3 says "Ausnahmecode: 0xc0000005" and that's a hex-decimal code in windows that i'm *VERY* familiar with. It means you tried to access RAM that you did not have permission for (actually using a null pointer). I mentioned this one in my previous post.
 
@kohlrak -- Stardew Valley doesn't use Unity, it's a custom engine in C#/XNA. This crash has nothing to do with memory usage, it's just the fact that the game was coded for 4 player max, and the cellars in particular weren't coded in a way that could scale beyond that

@Meffistopheles -- Unfortunately this is just a limitation of the experimental >4-player mode. This can possibly be fixed in the next update, but for now only the first 4 players can have a cellar.
 
Hello @ConcernedApe
Thank you for your reply!

Well, now I know, that there is no easy way to make it work. Would love to see this being added in one of the next updates. But anyway. We really enjoy playing this game for hours! We are 5 people and somehow make it work. :D

Thanks @kohlrak for trying to figure this out with me.

Greetings
 
@kohlrak -- Stardew Valley doesn't use Unity, it's a custom engine in C#/XNA. This crash has nothing to do with memory usage, it's just the fact that the game was coded for 4 player max, and the cellars in particular weren't coded in a way that could scale beyond that

@Meffistopheles -- Unfortunately this is just a limitation of the experimental >4-player mode. This can possibly be fixed in the next update, but for now only the first 4 players can have a cellar.

Oh right, i tend to confuse unity and XNA, since Unity uses C# and probably XNA behind the scenes.
 
Back
Top