[Server Crash] - Who do we call?


osmRhodey

Recommended Posts

Bug Submission:

Category: Server Crash
Issue Title: Who do we call?
Issue Description: (This server is including rezecib's more characters mod)

So for some strange reason, all ghosts had been working fine up until some short while ago.

The days were passing by normally as always, then two of our players died. We didn't think anything of it as they haunted everything and went about being ghosts trying to kill monsters.
Then out of the blue I get this screen popping up.

 

Now the only thing I'm not entirely sure of, is if it could have been the modded in Wes player.(but they have been dead before and the problem never occurred)

We first thought it was from the haunting and the server having overload.
The report says there's a call not being brought back to the module thus, something can't run and it crashed at the same time every day.

If I was able to revive them quickly enough(sadly having to console half the time in worry), then everything was fine.

So the cause is not pin pointed, other than it has to do with ghosts and it links itself back to the WilsonGhost.lua file. Something is possibly not linking up properly, we don't know.

post-386662-0-30674900-1416739723_thumb.




Steps to Reproduce: -Open a server

-Have someone other than the host die(not sure if the host could recreate this)

-See if it crashes(all I can say, again, not entirely sure what's the issue besides a callback)

Link to comment
Share on other sites

Yup, looks like it's Wes ghost-related. Apparently ghosts have a "mime" state? And it currently refers to a variable (noanim) that doesn't actually exist.
 
Just from comparing it to other parts of SGWilsonGhost that use noanim, I'm guessing this is what needs to be changed:

        onenter = function(inst)

to:

        onenter = function(inst, noanim)

Edit: But maybe Wes ghosts shouldn't actually be reaching that state at all, so it might make more sense to fix it elsewhere.

Link to comment
Share on other sites

  • Developer

Edit: But maybe Wes ghosts shouldn't actually be reaching that state at all, so it might make more sense to fix it elsewhere.

 

I swear I'd typed out a response to this... who knows where it went. Anyways! This is a crash that will happen when a Wes ghost tries to inspect or announce something (i.e. something that would send him to the "mime" state in the ghost stategraph). I didn't look too deeply into it since we're not officially supporting Wes quite yet, but it's possible that it's a specific codepath that gets executed for announcements (i.e. the dusk announcement) that is causing the ghost to get to that state (as opposed to inspecting objects). Most likely the real fix is to prevent the Wes ghost from doing any talking-related stuff (i.e. including miming), but adding that missing variable might sort you out in the short-term.

Link to comment
Share on other sites

@SethR, Okay, so I got it fixed in the mod by just removing the reference to noanim, but this causes the Wes ghost to produce "Ooohs". I'm not sure if you want this to happen, but it sounds like you don't, so this line in stringutil has to be changed to check for being Wes in addition to being a ghost:

    local ret = GetSpecialCharacterString((type(inst) == "table" and inst:IsValid() and inst:HasTag("playerghost")) and "ghost" or character) or

I'm not going to change it in the mod since Wes ghosts producing "Ooohs" is not catastrophic, and changing stringutil would be pretty invasive (likely to break stuff if stringutil gets changed in other ways for other reasons).

Link to comment
Share on other sites

Archived

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

Please be aware that the content of this thread may be outdated and no longer applicable.