Author Topic: Crash when someone connects.  (Read 916 times)

Alright, so a few days ago I was on Blockland, making a deathrun. Then some dude joins and the whole game just freezes. I wait for about 5 minutes; nothing. What could possibly be going on?

What was the guy's name?



This happens to me too: I'm hosting a server, building normally and then someone joins and Blockland freezes (crash). This started happening after V19 Update.

This is v18/v19's fault. When a player connects, the server goes through every add-on you have enabled, and generates a file manifest and sends it to the player so that they can download it. If you have a few add-ons enabled, you almost don't notice it. If you have many add-ons enabled, you freeze for a bit. If you have very many add-ons enabled, you almost crash. A way to see this is that when people join, the last thing shown in console before the freeze is "Generating file manifest".

When people join, just wait until the game finished generating file manifest, or disable some add-ons when starting a server.

I suppose you're right. I'll disable some add-ons, see if it works. Thank you.
And now that I possibly have an answer...locking for now.

you know this happened to me too. only i disabled every addon i have (even the defaults) and it still does this. plus i gots no addons enabled so wtf is goin on

I sometimes crash, or sometimes I lag terribly

you know this happened to me too. only i disabled every addon i have (even the defaults) and it still does this. plus i gots no addons enabled so wtf is goin on
Redownload Blockland, if that doesn't work...then you need to go techy.

Badspot

  • Administrator
This is v18/v19's fault. When a player connects, the server goes through every add-on you have enabled, and generates a file manifest and sends it to the player so that they can download it. If you have a few add-ons enabled, you almost don't notice it. If you have many add-ons enabled, you freeze for a bit. If you have very many add-ons enabled, you almost crash. A way to see this is that when people join, the last thing shown in console before the freeze is "Generating file manifest".

When people join, just wait until the game finished generating file manifest, or disable some add-ons when starting a server.

The file manifest is only regenerated when it is possible that the number of art files the server is using could have changed. 
Events that will cause the manifest to be regenerated are:
  • Creating a datablock
  • Deleting a datablock
  • Changing maps


Once the file manifest is regenerated, it will not have to be regenerated again until one of those events occurs.

If you have an add-on that is constantly creating new datablocks, then yes, the manifest will have to be regenerated whenever someone connects because those new datablocks could reference new art files that the connecting user needs.  You should not be creating datablocks during gameplay. 



Regenerating the file manifest consists of these operations
  • Iterate over all datablocks and add relevant art files to manifest
  • Iterate over mission group to find skybox, terrain, and interior files, add relevant art files to manifest
  • Add all print textures to manifest
  • Iterate over all files in the manifest and compare their file modified time with the time stored in the cache database.  If the file has been modified since the last time it was stored in the database, then the file must be read, hashed and re-stored in the database. 


This means that if none of your files have changed, regenerating the file manifest should only take a few seconds because most files are not read, only their modified time is checked.  The first time you start a server, it may take longer than normal as none of the files are in the cache database yet, but it still won't take 5 minutes unless your hard disk is ruinously fragmented. 

If your server freezes for more than a few seconds then there is something else wrong.

Well, now I have another problem. When I attempt to load the server, it says something like:

"Blockland could not build the cache database.
This is caused by running on a CD-ROM only" or something. Should I just reinstall blockland?

This happened to me before, but pushed back in early V15/V16.

Well, now I have another problem. When I attempt to load the server, it says something like:

"Blockland could not build the cache database.
This is caused by running on a CD-ROM only" or something. Should I just reinstall blockland?