Author Topic: NONE of my bricks exist!  (Read 1475 times)

I don't know what's going on but a huge amount of my bricks are no longer loading.

The emitters, lights, etc all render on the bricks that should be there but the bricks themselves do not exist. My server says all bricks have been loaded but this isn't the case. none of them even have any collision and they aren't invisible. They don't exist.




Here is the console log I don't know what can be done.

I believe this is related to this issue. Because when I restarted my server all my prefs were gone and then all my bricks loaded correctly. Then I restarted again and my prefs were back but bricks were gone.

http://forum.blockland.us/index.php?topic=294052.0



Console log

http://pastebin.com/tGiQ03Dm

Post console log. lol you just beat me to it

Is the building using modter? Sometimes it causes these kind of problems.

I just found the issue. Apparently it's this stuffty script I have someone made for me called "toggleflood" which is suppose to disable the anti flood limit for admins.

There must be a backdoor or something on this stuffty add-on.


Quote
if(isFile("Add-Ons/System_ReturnToBlockland/server.cs"))
{
   if(!$RTB::RTBR_ServerControl_Hook)
   {
      exec("Add-Ons/System_ReturnToBlockland/RTBR_ServerControl_Hook.cs");
   }
      RTB_registerPref("Flood Enabled", "Flood Protection", "$Pref::Server::FloodEnabled", "bool", "Script_ToggleFlood", 3);
}
else
{
   $Pref::Server::FloodEnabled = 1;
}

if($Pref::Server::FloodEnabled != 0 && $Pref::Server::FloodEnabled != 1)
{
   $Pref::Server::FloodEnabled = 1;
}

package toggleFlood
{
   function spamAlert(%c)
   {
      if ($Pref::Server::FloodEnabled == 0 || %c.isAdmin || %c.isSuperAdmin)
      {
         return false;
      }
      return parent::spamAlert(%c);
   }

   function serverCmdMessageSent(%c, %msg)
   {
      floodProtect(%c);
      Parent::serverCmdMessageSent(%c, %msg);
   }

   function serverCmdTeamMessageSent(%c, %msg)
   {
      floodProtect(%c);
      Parent::serverCmdTeamMessageSent(%c, %msg);
   }

};
activatePackage(toggleFlood);



function floodProtect(%c)
{
   if ($Pref::Server::FloodEnabled == 0 || %c.isSuperAdmin || %c.isAdmin)
   {
      %c.isSpamming = false;
      
      %c.spamMessageCount = "";
      %c.spamProtectStart = "";
      
      %c.lastChatTime = "";
      %c.lastChatText = "";
   }
}



function serverCmdToggleFlood(%c)
{

   if(!%c.isSuperAdmin)
      return;
   
   if($Pref::Server::FloodEnabled == 1)
   {
      echo("Flood protection has been disabled");
      
      messageAll('',"\c0Flood protection has been disabled");
      
      $Pref::Server::FloodEnabled = 0;
   }
   else
   {
      echo("Flood protection has been enabled");
      
      messageAll('',"\c2Flood protection has been enabled");
      
      $Pref::Server::FloodEnabled = 1;
   }
   
}

Nevermind apparently toggle flood is not breaking stuff. When I disabled it then restarted the server everything worked. Now when I closed blockland and restarted again everything is still broken again.

So I have no loving clue what's causing this and no I'm not using modter.


Alright so this time I disabled my newest download add-ons which is GSF's brick plant cost.

Everything seems to be working again consistently this time. Prefs don't disappear, bricks don't disappear. Everything works and it continues to work even after I remove brick plant cost on my other BL client.

I can already tell how that could cause problems, but I don't understand how it could affect RTB, if you can, could you post the mod? I feel like taking a look at it.


Skimmed the code, I don't really know how that caused your problem, but if disabling it fixed your problem, then we're good here.

I'd like to use the add-on. I just don't understand why this would happen.

Probably packaged plant or onPlant, which is done when bricks are loaded. Let GSF know and he'll probably be able to fix it.

Probably packaged plant or onPlant, which is done when bricks are loaded. Let GSF know and he'll probably be able to fix it.
onLoadPlant is only called when loading bricks from a file. onPlant is never called during the process, although plant (forgot this is how the bricks actually get planted) is always called, so GSF most likely screwed it up. It should be notified to him.

Code: [Select]
function fxDtsBrick::Plant(%br)
should be

Code: [Select]
function FxDTSBrick::onPlant(%this, %obj)
and don't forget to return the parnet

parnet = parent btw. forget this keyboard  :cookieMonster: