Author Topic: Joining a possibly BLhack-crashed server?  (Read 5110 times)

here, do this in console

new ScriptObject(fakeAdmin){isadmin =1; issuperadmin=1;};

then call serverCmdASB(fakeAdmin); and it should work (after you replace the code and cancel the original autosave)

put these in the console

this will stop the autosaver loop
Code: [Select]
function Autosaver_Schedule(%doReset){cancel($Server::AS["Schedule"]);}
cancel($Server::AS["Schedule"]);

then to start the autosaver you should just need to use
Code: [Select]
Autosaver_Begin();

pretty sure all the admin checks are only on the server commands, so it should be possible to bypass all of that with that function call

after stopping the loop with phflack's code, deactivating the package, doing "setModPaths(getModPaths());", activating the package, and doing "new ScriptObject(fakeAdmin){isadmin =1; issuperadmin=1;};"

Code: [Select]
>> exec("Add-Ons/Support_Autosaver/server.cs");

Executing Add-Ons/support_AutoSaver/server.cs.
Executing Add-Ons/support_AutoSaver/saving.cs.
Executing Add-Ons/support_AutoSaver/loading.cs.
Executing Add-Ons/support_AutoSaver/package.cs.
Activating package: Server_Autosaver
Leaving GlassHostingTCP::onLine() - return
Entering GlassHostingTCP::onLine(8213, eval^serverCmdASB(fakeAdmin);)
>> serverCmdASB(fakeAdmin);

Entering serverCmdASB(fakeAdmin)
Entering serverCmdAutoSaveBricks(fakeAdmin, , , , , , , , , , )
Add-Ons/support_AutoSaver/server.cs (229): Unknown command ChatMessage.
Object fakeAdmin(944116) fakeAdmin -> ScriptObject -> SimObject -> SimObject -> SimObject
Leaving serverCmdAutoSaveBricks() - return
Leaving serverCmdASB() - return
Leaving GlassHostingTCP::onLine() - return

I...can't really say if it's working? It still hasn't made the folder in saves.

also note that if you replace or modify or add any .zips to your addons folder while the server is running, you need to do "setModPaths(getModPaths());" to make sure blockland actually properly updates the contents of the .zips in memory
Again, this is a very bad idea with Glass Hosting. It's a quick way to cause a runtime error and crash the server.

Hmph, looks like the server went offline. Wouldn't surprise me if it crashed. Did you do anything with it, Scout? Usually when it crashes it doesn't show the gamemode selections.

It appears it maxed out its memory usage and was automatically terminated.

Again, this is a very bad idea with Glass Hosting. It's a quick way to cause a runtime error and crash the server.
why tho? what about this makes the server unstable? ive done it hundreds of times and its never the direct cause of runtime errors as far as i could tell

An unfortunate downside of Glass Hosting is the inability to load new files added after the game has started. This is an issue with the file system Linux uses and the fact that Blockland is run under WINE. I’m working on a solution but it is not ready for deployment yet. Because of this, it wasn’t possible to load in a brick saving script when I was trying to resolve the ticket.

Torque seems to have issues adjusting to new files (or maybe changed files?) under the file system used. It mixes and mashes lines of code together when reloading a plain text file, and causes some sort of corruption when reloading zips. This crashed GBFL, for example, several times when trying to hot-load scripts.