Page 1 of 1

Jug Pets Crash my Server :(

Posted: Tue Mar 24, 2020 8:44 pm
by NekoNinja
I am not sure if this is a bug or not but i can say I have not modified anything that has to do with the Call Beast ability.
For some reason when i use the call beast job ability it instantly crashes my the server. I thought maybe it was a pet that isn't set up yet so I started trying all of the pets under 75 and still crashes. the game server log doesn't show much aside from
[action info] CLIENT player PERFORMING ACTION 09 -- the server crashes at this point. it is my GM account and I did not do the BST job quest so Im not sure if that matters or not i job changed to BST with !changejob again not sure if this is just me or a bug

Re: Jug Pets Crash my Server :(

Posted: Tue Mar 24, 2020 9:09 pm
by NekoNinja
this is what i copied from visual studio if it matters

DSGame-server.exe has triggered a breakpoint. occurred


inline int32 CLuaBaseEntity::PrintToPlayer(lua_State* L)
{
DSP_DEBUG_BREAK_IF(m_PBaseEntity == nullptr);
DSP_DEBUG_BREAK_IF(m_PBaseEntity->objtype != TYPE_PC); X <---- there is a red dot with an X here

DSP_DEBUG_BREAK_IF(lua_isnil(L, 1) || !lua_isstring(L, 1));

CHAT_MESSAGE_TYPE messageType = (lua_isnil(L, 2) || !lua_isnumber(L, 2)) ? MESSAGE_SYSTEM_1 : (CHAT_MESSAGE_TYPE)lua_tointeger(L, 2);
std::string name = (lua_isnil(L, 3) || !lua_isstring(L, 3)) ? std::string() : lua_tostring(L, 3);

((CCharEntity*)m_PBaseEntity)->pushPacket(new CChatMessagePacket((CCharEntity*)m_PBaseEntity, messageType, (char*)lua_tostring(L, 1), name));
return 0;
}

Re: Jug Pets Crash my Server :(

Posted: Wed Mar 25, 2020 8:36 am
by whasf
I am guessing that you are printing something to the player when they call a jug pet? That is "crashing" (it's actually a debug break) because the object type isn't a PC (Player Character)

Re: Jug Pets Crash my Server :(

Posted: Wed Mar 25, 2020 11:49 am
by NekoNinja
That's weird I didnt add any print to player to it I have some gm commands with print to player messages and a couple NPCs in the town's I added print to player to serve as dialogue. Can I edit the baseentity file and delete the lines causing the problem? Also when I built the server I made 2 copys of the DSP source so I had a clean copy too I tried dragging those files from the clean version over and replacing the baseentity files and it didnt work either

Re: Jug Pets Crash my Server :(

Posted: Wed Mar 25, 2020 5:22 pm
by NekoNinja
Whasf if you read this can you reply that this was the correct action to take.

I tried some more stuff and it was still crashing. I tried messing with it in visual studio and no luck so this is what I did

I right clicked my darkstar folder and used tortise git and clicked pull then I went into visual studio and clicked rebuild for the servers.

and it worked... lol i really dont understand what i did but im happy it worked I was under the impression that if you do a pull and rebuild you lose all of your character data and stuff but i didnt. when I logged in i tried call beast, activate, and summon they all worked and things are fine now

thank you for your assistance it facilitated me trying to figure it out and i was able to fix it by accident I guess lol

Re: Jug Pets Crash my Server :(

Posted: Tue Apr 07, 2020 6:15 pm
by NekoNinja
For anyone that comes across this thread the reason my game was crashing when summoning a pet is because I had created a Buff command that modified the "allied tags" status effect. When I originally edited the allied tags lua file I had put a "Print to Player" message at the end that would say something like Buffs have been applied. The problem was allied tags effects the PC and your Pet so that your pet can engage mobs in a campaign battle in retail XI. That being said when using call beast or activate it was trying to give the print to player message to the NPC pet which triggered a break and crashed the server. I basically worked backwards trying to figure it out and when I had nearly given up hope the buff message dawned on me and I went in and deleted that line from the lua and sure enough I logged back in and tried to call beast again and it worked. moral of the story be patient and retrace your steps so you don't make a post about something you yourself broke lol