EOSERV Forum > EOSERV > EOserv Law bob crash fix.
Topic is locked.
Page: << 1 >>
EOserv Law bob crash fix.
Author Message
Post #64123 EOserv Law bob crash fix.

So i know i've crashed some servers with this bug (which in my opinion was more for testing it how many servers had this bug in it)

well anyway i think it's time to fix it since i've handled the bot to some people and I think we shouldn't abuse it anymore so here's the fix i hope that makes it a little bit good again (if not than that's not my problem idc)


Go to Law.ccp (not all servers have this but most people have it i guess.)

look for something like this:


        case PACKET_REQUEST:
        {


and add under that line:


if (this->state < EOClient::Playing) return false;


Do the same for PACKET_OPEN


that will fix the bug and so your server won't crash anymore when someone tries to abuse that packet.

as soon as i see that people are starting to abuse new bugs i will try to found them out and post another fix for it.

(didn't test this yet but it should work)


---
opensource isometric game engine ~ www.avac-engine.blogspot.com
13 years, 9 weeks ago
Post #64132 Re: EOserv Law bob crash fix.

Nice, but I beat you to it aha.

I should note that.

There is Two Packet Opens located in Law.cpp (If you use the CTRL + F) Only post it under the first one it goes to it should look like this:

case PACKET_OPEN: // Talked to a lawyer
        {



The one that you should Not put it under is:

reply.SetID(PACKET_LAW, PACKET_OPEN);

That's just the The PacketLaw.

13 years, 9 weeks ago
Post #64134 Re: EOserv Law bob crash fix.

ah sorry lol i don't have the src of a trunk anymore so well couldn't really check it but good you have mentioned it ;)

---
opensource isometric game engine ~ www.avac-engine.blogspot.com
13 years, 9 weeks ago
Post #64290 Re: EOserv Law bob crash fix.

Yes this will fix the crashes I went through all my handlers today and checked for

if (this->state < EOClient::Playing) return false;

In Jukebox.cpp find   case PACKET_USE: // Playing a song using Bard
        {

//add 

  if (this->state < EOClient::Playing) return false;//added


Law.cpp do exactly what was mentioned earlier in the topic


Also check your Spell.cpp alot of spell handlers are different so I cant realy walk you through it just repeat the same process through the different cases in there.


He was on my server earlier while someone was running his bot "no crashes"

13 years, 9 weeks ago
Post #64296 Re: EOserv Law bob crash fix.
insomniac posted: (4th Mar 2011 08:07 pm)

Yes this will fix the crashes I went through all my handlers today and checked for

if (this->state < EOClient::Playing) return false;

In Jukebox.cpp find   case PACKET_USE: // Playing a song using Bard
        {

//add 

  if (this->state < EOClient::Playing) return false;//added


Law.cpp do exactly what was mentioned earlier in the topic


Also check your Spell.cpp alot of spell handlers are different so I cant realy walk you through it just repeat the same process through the different cases in there.


He was on my server earlier running his bot "no crashes"

I wasn't actually running the bot :O i was online though talking about the fix but didn't run it :P i think that was that Dokki guy since he's the only one who was testing the bot atm. but good you've found out that there are more bugs in it where they forget the state check. It makes your server alot more stable so it's really worth it to add the fixes.

---
opensource isometric game engine ~ www.avac-engine.blogspot.com
13 years, 9 weeks ago
Post #64297 Re: EOserv Law bob crash fix.

i messed up somehow i quoted myself just trying to say I edited my last post to make since. Sorry now its sleep time cant even think.

13 years, 9 weeks ago
Post #64298 Re: EOserv Law bob crash fix.

Haha yeah i understand those things anyway i was just saying but thx ;)

---
opensource isometric game engine ~ www.avac-engine.blogspot.com
13 years, 9 weeks ago
Post #64308 Re: EOserv Law bob crash fix.

I don't think this is my law/marriages.

---
http://www.addipop.com
13 years, 9 weeks ago
Post #64309 Re: EOserv Law bob crash fix.

You could have just linked to one of a few topics where I have replied with this fix. That line should be placed in all handler cases where a player calls a function that requires a valid character id/player id, not just law bob.

13 years, 9 weeks ago
Post #64365 Re: EOserv Law bob crash fix.

So now after I fixed/thought I fixed all the my handlers, previous attempts to crash server earlier failed. Now someone has returned useing the same method but seems to be abusing some other bug! Before the fix it was almost instant newacount 6373834 BAM off, now its slow newacount6373834stallabout 10-30 secounds then crash any advice?


What about these cases ?

case PACKET_INTERNAL_NULL

case PACKET_INTERNAL_WARP

case PACKET_LIST: // Opened friends list
case PACKET_REQUEST: // Requested a list of online players


also whats up with the (PACKET_WELCOME, PACKET_REPLY); in rev 189

because clive mentioned this to be bugged as well!


13 years, 9 weeks ago
Page: << 1 >>
Topic is locked.
EOSERV Forum > EOSERV > EOserv Law bob crash fix.