Debriefing > Bug Reports & Fixes

[BUG] Sourcemod admin mod is now broken with new 4.1 update

<< < (2/3) > >>

Doc.NO:

--- Quote from: Ghoststriker192 on December 11, 2010, 08:38:43 am ---Hi I just recently upgraded my server along with my fellow friends o the new 4.1 problem is now when ever you do any player commands eg: Slay, kick , ban etc it freezes the server and crashes.
--- End quote ---
just move sourcemod/plugins/funcommands.smx to the "disabled" folder and you should be fine.


--- Quote from: killermonkey on December 11, 2010, 09:58:02 pm ---There is another bug in sm when the round ends it does a ge_teamplay command causing the round to do a no scores restart.

--- End quote ---
Weird, thought this bug was from ges itself... dont think there is any ge_* command embedded in sm :/

coolDisguise:
Well, I could think of a possibility how this CAN happen with crappy coded pointers (which would be in SM then)...

If you have an array named Text like ["Title", "Hello World"] and you hardcode shit like
Print Text[1];
because you basically want to print out "Hello World", it works as long as no one touches your array.
But if someone goes like
Text.Insert(1, "Random Bullshit");
and then you call
Print Text[1];
assuming you'll get your "Hello World" you'll just get "Random Bullshit".

So what I'm saying is: maybe SM sets the value for a standard field that is queued somewhere, always at the same position, to change its value. Now GE: S has more fields causing the field that is called normally to change its place in the queue, the pointer now goes to ge_teamplay instead. It doesn't break anything yet, if the value isn't really changed.

Let's assume ge_teamplay is a property, so there's additional code carried out when its value is assigned:
public ge_teamplay{ get {return m_ge_teamplay;} set {m_ge_teamplay = value; doSomeStuff();}}

this is where it gets interesting.(if m_ge_teamplay is the private field storing the variable) Because basically doSomeStuff() can reset the scores or be anything. SM doesn't know about, it just sets a value - apparently for no reason, because the teamplay mode isn't activated when it wasn't before or deactivated when it was activated before.

Then a workaround would be to check if (m_ge_teamplay == value) and skip that part or break;.

Nonetheless it'd be a strange behaviour for SM to set a variable it doesn't need to by requesting a collection of all fields.

killermonkey:
Can someone zip up their server's sourcemod folder and send it to me so I can analyze why this is happening?

Thanks

Mangley:
I actually saw this occur on a server that had no sourcemod installed. It seemed to be attempting to balance the teams (isn't there a built-in team balance in GE:S?)

But I can confirm there were no external plugins on the server as I set it up yesterday.I have a feeling it has something to do with ge_autoteam... as it does the same thing when gameplay transitions from deathmatch to teamplay.

Doc.NO:

--- Quote from: Mangley on December 14, 2010, 09:45:26 pm ---I actually saw this occur on a server that had no sourcemod installed.
--- End quote ---
I got the same feedback as well.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version