Author Topic: Server Hosting Experience  (Read 2655 times)

Trying to host DM, had 20 players in. Server has unbearable lag due to the console being spammed by errors from all the clients.

base/server/scripts/game.cs (1376): Unable to find object: '#########' attempting to call function 'GetType'
or slight variations to this.

Video.


Log.
console.log

this wasn't the same session that was shown in the video, but it does capture the bare minimum. didn't think over a million lines of errors would've helpped.

The server only began to lag around the 18 player mark, lag would happen every time a player would connect/spawn/respawn/join mini game/leave mini game/disconnect.

I thought it was slayer trying to reset vehicles every time a player would do anything, but my expertise is limited on trying to comprehend this. Trying to not get upset over this cuz I lost a lot of people during the lag sessions, and the goal was to have a fun and simple server but if I can't even get a simple deathmatch to work properly why should I even bother lol.

Any help or guidance is appreciated, feel free to roast me if it's something absurdly simple and or a well known fact, I just wanna play my game in peace and it seems I'm always fighting instability and errors every time I play.

Your object IDs are in the billions? What the forget?

is this a ddos or another rce type exploit

is this a ddos or another rce type exploit
No, this is certainly some broken add-on screwing everything up.

Badspot

  • Administrator
The relevant code from game.cs is:
Code: [Select]
function GameConnection::ResetVehicles(%client)
{
   if(!isObject(MissionCleanUp))
   {
      if(getBuildString() !$= "Ship")
         Error("ERROR: GameConnection::ResetVehicles() - MissionCleanUp group not found!");
      return;
   }
   //cycle through mission cleanup and look for vehicles that belong to this client's brick group
   %ourBrickGroup = %client.brickGroup;
   %count = MissionCleanUp.getCount();
   for(%i = 0; %i < %count; %i++)
   {
      %obj = MissionCleanup.getObject(%i);

      if(!(%obj.getType() & ($TypeMasks::VehicleObjectType | $TypeMasks::PlayerObjectType)))
         continue;
     
      if(!isObject(%obj.spawnBrick))
         continue;
         
      if(%obj.spawnBrick.getGroup() != %ourBrickGroup)
         continue;

      %obj.spawnBrick.schedule(10, spawnVehicle);
   }


The error is that the %obj retrieved from MissionCleanup.getObject is invalid, which should not happen.  Internally getobject retrieves from a vector and will print a different error message if you make an out of range request. 

The first error of relevance is this:
Code: [Select]
base/server/scripts/game.cs (1376): Unable to find object: '540024883' attempting to call function 'getType'
BackTrace: ->GameConnection::onDrop->[BuilderMode]GameConnection::onClientLeaveGame->[DefaultMiniGame]GameConnection::onClientLeaveGame->[Event_Minigame]MiniGameSO::removeMember->MiniGameSO::removeMember->GameConnection::resetVehicles

Does this happen every time someone quits?  If so, type trace(1); in console, have them quit, then close out and post the log.

I re-enabled Slayer because I thought I removed the addon that may have been causing the issue but alas the problem persists but even worse now?? somehow.

console.log

With trace(1); I think the problem may be coming from the Event_Minigame addon conjoined with Slayer. I don't need this addon, i just use it to enable a bunch of events upon the reset, there are alternatives for this.

Currently testing the server with Slayer disabled and Event_Minigame enabled.

then I'll test with Slayer enabled and Event_Minigame disabled so on and so forth.


I totally forgot I cannot edit posts here, so please excuse the double post.

This one is with Slayer disabled.
console.log

Error still persists, and I think I may have concluded that it's Event_Minigame.
I have to wait until another poor soul joins my server to test it once more with that disabled.

As I presumed it's a user error and I should be more weary of what addons I'm currently using; I am absolutely grateful for the assistance.

I totally forgot I cannot edit posts here, so please excuse the double post.

This one is with Slayer disabled.
console.log

Error still persists, and I think I may have concluded that it's Event_Minigame.
I have to wait until another poor soul joins my server to test it once more with that disabled.

As I presumed it's a user error and I should be more weary of what addons I'm currently using; I am absolutely grateful for the assistance.

So it looks like the error is (most-likely) happening within the Laser Guided Rocket add-on...

Give this a go... I think I've resolved it, it isn't causing a mass console dump for me at least.


http://www.filedropper.com/weaponlaserguidedrocket

Thank you, that was the other trouble addon.

The HL Weapon package sometimes gives an error, not sure why and I can't seem to find it in my log atm, but it's extremely minor.

Even after all that with 8 players today, the GetType error is still happening even with Event_Minigame being removed. I'm running Slayer and I would really like to continue doing so.

Not so sure how much posting the console.log would help being that it's the exact same as the past few.

But when the server population dies I'll post it.


Literally happened after I made the last post hahaha.



console.log

I added BI0-Hazzard's New Map Rotation, (which for some reason doesn't change the maps I have to do it manually) it crashed after the new build loaded in. 2 players just finished downloading and spawned at the exact same time so I don't know what caused it.

My mod is outdated and I dont think it ever worked with slayer, I might get some time in the near future to remake it

My mod is outdated and I dont think it ever worked with slayer, I might get some time in the near future to remake it

Thanks for letting me know

All I wanted was a basic map rotation and a minigame with rounds/time limit/score limit. I barely have any addons besides a crap tonne of brick packs, and the map rotator actually worked by itself for no reason and I think and it was the one causing the game to crash. Still the GetType thing is still happening and I believe it's just Slayer.

Replace your current GameMode_Slayer/Server/core/gameConnection.cs  with this one and let me know if you still get the error

https://drive.google.com/file/d/1jxn2uAquJtdEhQ4lgkFSv7Ih8U2gntsx/view?usp=sharing