Jump to content

[Bug] NotSupportedException: Cannot expand this MemoryStream


rucky

Recommended Posts

I've already posted this in the Bug-Section, but I thought it could help getting more attention.

Sorry for the double-posting.

 

So I'm generating a lot of new items with my new BzWeaponMaker tool and have added 900 (yes 900, no spelling mistake) new weapons to the items.xml (and recipes, loot).

 

When playing SP all is fine, played 4 hours in one session.

 

But when a friend is connecting to my game he cannot join and I get this error:

 

ERR Task_CommWriterSteam (cl=76561198011537516, ch=0):
EXC Cannot expand this MemoryStream
NotSupportedException: Cannot expand this MemoryStream
 at System.IO.MemoryStream.set_Capacity (Int32 value) [0x00000] in <filename unknown>:0 
 at System.IO.MemoryStream.Expand (Int32 newSize) [0x00000] in <filename unknown>:0 
 at System.IO.MemoryStream.Write (System.Byte[] buffer, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0 
 at System.IO.BinaryWriter.Write (System.Byte[] buffer) [0x00000] in <filename unknown>:0 
 at NetPackageConfigFile.write (System.IO.BinaryWriter _writer) [0x00000] in <filename unknown>:0 
 at NetConnectionSteam.Task_CommWriter (.TaskInfo _threadInfo) [0x00000] in <filename unknown>:0 
UnityEngine.Debug:Internal_LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Logger:masterLogException(Exception)
Logger:Exception(Exception)
Log:Exception(Exception)
NetConnectionSteam:Task_CommWriter(TaskInfo)
ThreadManager:D(Object)

 

I've seen a bug report back for the 11.5 version, so is this a known "bug" or "problem" ?

My Friend also does have all the files, but my suggestion is that 7dtd tries to send all the different files (and they are HUGE compared to the original) no matter what and then get some memory stream problem because of some hard coded limits implemented.

 

Anyone knows something?

 

thanx in advance.

rucky

Link to comment
Share on other sites

After some testing (and upgrading the weaponmaker utility to support depending lists) I'm sure now that this problem depends on the items.xml (file size or number of items).

 

When generating (and automatic adding/changing) a lot of items (that is 1420 at the moment) the game ALWAYS get into trouble when someone wants to join, but when generating smaller lists (f.e. 220 new items) the game runs fine inclusive multiplayer connect and playing.

Singleplaying with that 1420 new items (weapons) is fine, no bugs, no lags, and/but the error only and immediately occurs as soon as someone tries to connect.

Link to comment
Share on other sites

The items data to be sent to the client are too large to fit into a 3MB buffer. It's possible to make it generate a larger buffer by modifying NetConnectionSteam..ctor in Assembly-CSharp.dll (using decompilers like Telerik JustDecompile with the Reflexil plugin).

 

Here's that modification for a 6MB buffer (which hopefully is enough) :

https://www.dropbox.com/s/w3nzau12x34k2ot/Assembly-CSharp-client_A12.5_PackageBuffer6MB.zip?dl=0

Link to comment
Share on other sites

First, have a great ThankYou for that!

 

First Problem is/was now, when starting 7dayToDie (normal or _EAC) I got a blackScreen.

Starting with SDX_V4.1 (disabling mods) (my xml mods seem to first load fine) I could start 7dtd.

 

Second Problem, my items.xml is 6,3 MB.... :-/

 

May I ask you to make a new dll which would allow 10MB data transfer?

Thank you!

Link to comment
Share on other sites

  • 3 weeks later...
Im not entirely sure how to put this new buffer into place. Could somebody kindly instruct me on how to get this working?

Thanks

 

Am I to just replace the existing Assembly-csharp.dll with that one?

 

I believe so.

 

Note: I do not believe EAC works with a modified.dll.

 

 

Vote h0tr0d 2016 -- I believe that children our are future.

Link to comment
Share on other sites

I believe so.

 

Note: I do not believe EAC works with a modified.dll.

 

 

Vote h0tr0d 2016 -- I believe that children our are future.

 

Thanks for that note. I really hate the idea of a passworded server, but with this game it seems inevitable with the amount of hackers and EAC bypasses.

Link to comment
Share on other sites

Thanks for that note. I really hate the idea of a passworded server, but with this game it seems inevitable with the amount of hackers and EAC bypasses.

 

Precisely. Just had to ban 3 players minutes ago after seeing it emerge for the first time I can recall on mine. Hopefully that hole can be plugged.

 

 

Vote h0tr0d 2016 -- we plug holes in dikes.

Link to comment
Share on other sites

I run a public server and we have a bot in place that does a great job detecting would-be hackers/cheaters. We have been going for a year, passworded is not mandatory.

 

Did someone say it was mandatory?

 

 

Vote h0tr0d 2016 -- highly recommended

Link to comment
Share on other sites

  • 1 month later...
why do I get blackscreen when I get open the game after I replace the Assembly-csharp.dll?

 

As I assume you have replaced the Dll with the 10MB version, then that's the right answer:

 

Or you can just launch game thru steam turning eac off
Link to comment
Share on other sites

NotSupportedException: Cannot expand this MemoryStream

 

I tried to 6 and 10 , did not work , a new bug

Setting up 1 worker threads for Enlighten.
 Thread -> id: 186c -> priority: 1 
2015-11-24T01:22:37 12.851 ERR Loading and parsing 'blocks.xml' (Model '#Storage2f?Storage2f' not found on block with id 269)

2015-11-24T01:22:37 12.852 ERR Loading of blocks aborted due to errors!

2015-11-24T01:22:37 12.853 ERR   at BlockShapeModelEntity.Init (.Block _block) [0x00000] in <filename unknown>:0 

 at BlocksFromXml.CreateBlocks (.XmlFile _xmlFile, Boolean _fillLookupTable) [0x00000] in <filename unknown>:0 

2015-11-24T01:22:37 13.062 ERR Loading and parsing items xml file (Unknown block name 'TorchB' in use_action!/  at ItemActionPlaceAsBlock.ReadFrom (.DynamicProperties _props) [0x00000] in <filename unknown>:0 

 at ItemClassesFromXml.CreateItems (.XmlFile _xmlFile) [0x00000] in <filename unknown>:0 )

2015-11-24T01:22:37 13.063 ERR Loading of items aborted due to errors!

2015-11-24T01:22:37 13.063 ERR   at ItemActionPlaceAsBlock.ReadFrom (.DynamicProperties _props) [0x00000] in <filename unknown>:0 

 at ItemClassesFromXml.CreateItems (.XmlFile _xmlFile) [0x00000] in <filename unknown>:0 

Exception: Block with name 'gore2' not found in block id 21
 at Block.LateInit () [0x00000] in <filename unknown>:0 

 at BlockUpgradeRated.LateInit () [0x00000] in <filename unknown>:0 

 at Block.LateInitAll () [0x00000] in <filename unknown>:0 

 at WorldStaticData.Init (System.String _name, .XmlFile _xmlFile) [0x00000] in <filename unknown>:0 

 at WorldStaticData.J (System.String ) [0x00000] in <filename unknown>:0 

 at WorldStaticData+XB.MoveNext () [0x00000] in <filename unknown>:0 

 at GameManager+AJ.MoveNext () [0x00000] in <filename unknown>:0 

(Filename:  Line: -1)

Link to comment
Share on other sites

  • 2 years later...
I couldn't reproduce a black screen without EAC (with EAC enabled it doesn't work of course).

 

Here's the 10MB version :

https://www.dropbox.com/s/3nrr7dupkzelu60/Assembly-CSharp-client_A12.5_PackageBuffer10MB.zip?dl=0

 

I Know thats an older post but i play ravenhearst 3.1.5 atm, and got the error

[h=2]NotSupportedException: Cannot expand this MemoryStream does your .dll is compatible with it. Or what can i do to fix the problem, we play on a dedicated server. My Mates dont have this error only me !?[/h]

Thanks for Answers !!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...