Raised This Month: $51 Target: $400
 12% 

Getting Crashes Since EOTL Update


Post New Thread Reply   
 
Thread Tools Display Modes
Powerlord
AlliedModders Donor
Join Date: Jun 2008
Location: Seduce Me!
Old 12-10-2014 , 10:57   Re: Getting Crashes Since EOTL Update
Reply With Quote #11

Quote:
Originally Posted by friagram View Post
Before it was the issue with sm pushing bad gd for stunplayer, thats fixed now.
There is a problem with the game where the client will crash if a ragdoll is produced for a model with collisionjoints that the client does not have. I assume this is what is happening. I see this a lot if i leave out some joints/meshes on custom models... When the model ragdolls the client crashes. My guess is that the ragdolls are trying to read propdata from static props and it's causing the crashes. Either try removing the custom model that is the static prop and setting the use custom animations netprop/input on player death PRE, or setting a custom model like their scout or their stock there, and then removing the ragdoll.
Tried that. Didn't work.

Nor did removing the custom model in a player_hurt when a player had 0 health left. (player_hurt fires before player_death)

Nor did overriding damage types using an SDKHooks... adding DMG_REMOVENORAGDOLL to all damage done to players with custom models.

Nor did killing the ragdoll before it was spawned or immediately after it was spawned.

I'll have to try the custom animations netprop, as I don't think PropHunt touches that.

Quote:
Originally Posted by friagram View Post
Remember though, that the input is going to happen on the next frame, which is also when the ragdoll will spawn. You may need to just set the netprop directly for use custom animations... And I don't know if you can set the model on the same frame. i suppose you can always try to removeedict the ragdoll.
True... didn't consider using RemoveEdict instead of the Kill input.
__________________
Not currently working on SourceMod plugin development.
Powerlord is offline
Chdata
Veteran Member
Join Date: Aug 2012
Location: Computer Chair, Illinois
Old 12-10-2014 , 23:52   Re: Getting Crashes Since EOTL Update
Reply With Quote #12

Models with custom animations crash a lot.

It's weird though.

Hale in FF2 crashes everyone when he dies.

Hale in VSH doesn't...?

I tested both.
__________________

Last edited by Chdata; 12-10-2014 at 23:52.
Chdata is offline
Powerlord
AlliedModders Donor
Join Date: Jun 2008
Location: Seduce Me!
Old 12-11-2014 , 12:20   Re: Getting Crashes Since EOTL Update
Reply With Quote #13

Quote:
Originally Posted by Chdata View Post
Models with custom animations crash a lot.

It's weird though.

Hale in FF2 crashes everyone when he dies.

Hale in VSH doesn't...?

I tested both.
Which versions and what commands are being run when the boss dies?

I know in PropHunt, it didn't seem to matter when I cleared the custom model1 and/or cleared the ragdoll2... the game would crash whenever players with certain models died.

For PropHunt, that covers most of the models. In fact, the only model on ph_lumberyard I tried that I know didn't cause players to crash was "models/props_gameplay/cap_point_base.mdl" which is the Control Point model... a model shared by all PropHunt maps by default.

1
  • Respawn
  • player_death
  • player_hurt when health <= 0

2
  • 0.1 second timer after player_death.
  • AcceptEntityInput Kill in SDKHook_Spawn
  • AcceptEntityInput Kill in SDKHook_SpawnPost
  • blocked using OnTakeDamage hook, setting damagetype |= DMG_REMOVENORAGDOLL
  • Not removing it at all.

I never did try RemoveEdict on them.
__________________
Not currently working on SourceMod plugin development.

Last edited by Powerlord; 12-11-2014 at 12:28. Reason: player_hurt, not prop_hurt
Powerlord is offline
Chdata
Veteran Member
Join Date: Aug 2012
Location: Computer Chair, Illinois
Old 12-12-2014 , 00:05   Re: Getting Crashes Since EOTL Update
Reply With Quote #14

I tried pretty much the same stuff as you, but I have more tricks up my sleeves. I'll edit with how it goes.

Also, setting the player to gib doesn't work. Even though that'd ?supposedly prevent ragdolls from appearing?... oh well.

I didn't try removeedict though.

Edit: During player_hurt, Damage > Health.

SetClientHealth -> 1
SetCustomModel -> ""
RequestFrame -> ForcePlayerSuicide

FAILED

Take two:

SetClientHealth -> 1
SetCustomModel -> ""
CreateTimer -> 0.1 -> ForcePlayerSuicide

SUCCESS -> The model needs to have enough time to render the change or whatever for this to work. Note. I remove bumpercar before suicide.

Take three:

Instead of CreateTimer, use ForceTeamWin if it was a boss who died. This is less sure fire for servers that use equipmanager so I didn't even try this one, and it's less aesthetic.

Also I p much deleted my ragdoll code and I forget how to hook it or where I even copied the ragdoll code from in the firstplace, so if you could post something to make the ragdolls invisible / not appear that'd be aesthetically pleasing to add.
Attached Files
File Type: sp Get Plugin or Get Source (ragdollfix.sp - 261 views - 2.4 KB)
__________________

Last edited by Chdata; 12-12-2014 at 01:17.
Chdata is offline
Powerlord
AlliedModders Donor
Join Date: Jun 2008
Location: Seduce Me!
Old 12-12-2014 , 09:23   Re: Getting Crashes Since EOTL Update
Reply With Quote #15

Quote:
Originally Posted by Chdata View Post
I tried pretty much the same stuff as you, but I have more tricks up my sleeves. I'll edit with how it goes.

Also, setting the player to gib doesn't work. Even though that'd ?supposedly prevent ragdolls from appearing?... oh well.

I didn't try removeedict though.

Edit: During player_hurt, Damage > Health.

SetClientHealth -> 1
SetCustomModel -> ""
RequestFrame -> ForcePlayerSuicide

FAILED

Take two:

SetClientHealth -> 1
SetCustomModel -> ""
CreateTimer -> 0.1 -> ForcePlayerSuicide

SUCCESS -> The model needs to have enough time to render the change or whatever for this to work. Note. I remove bumpercar before suicide.

Take three:

Instead of CreateTimer, use ForceTeamWin if it was a boss who died. This is less sure fire for servers that use equipmanager so I didn't even try this one, and it's less aesthetic.

Also I p much deleted my ragdoll code and I forget how to hook it or where I even copied the ragdoll code from in the firstplace, so if you could post something to make the ragdolls invisible / not appear that'd be aesthetically pleasing to add.
The "health" value in player_hurt is the amount of health they have left after the TakeDamage is processed. You can see this by logging player_hurt (the last one before player_death will have a health value of 0).

Meaning that you're removing the model killing them while they're still alive.

You might be able to get away with "Take two" in VSH/FF2 because of how high the boss HP is, but in PropHunt the person with the model only starts with 125 hp, so if they get hit with, say, a 90 damage flare, that would immediately remove their prop immediately kill them regardless of how much health they actually have. And yes, it's possible to survive after this.

The 90 damage flare is mentioned for another reason too: OnTakeDamage / OnTakeDamagePost gives you the amount of damage before processing crits and the DMG_CRIT flag doesn't tell you whether it crits or mini-crits... and as discussed before, the time when player_hurt returns a health value of 0 is too late to remove the model without crashing out players.

My understanding is that SM 1.7 SDKHooks has a new hook that might help with this (SDKHook_OnTakeDamageAlive), but lots of good that does for those of us who don't want to force everyone to use experimental builds.
__________________
Not currently working on SourceMod plugin development.

Last edited by Powerlord; 12-12-2014 at 09:36.
Powerlord is offline
Chdata
Veteran Member
Join Date: Aug 2012
Location: Computer Chair, Illinois
Old 12-12-2014 , 14:01   Re: Getting Crashes Since EOTL Update
Reply With Quote #16

Oh well if you look at the code, I use player_death instead of player_hurt anyway, and it seems to work.

The only issue is that people might be able to respawn with "0" (skull) health, as I saw that once. But I'm not sure.

And because that works,

player_hurt with health <= 0 should work too. The pre_hook happens a frame before the event actually happens I think, so setting HP to 1 works fine to prevent death.
__________________

Last edited by Chdata; 12-12-2014 at 15:39.
Chdata is offline
Powerlord
AlliedModders Donor
Join Date: Jun 2008
Location: Seduce Me!
Old 12-13-2014 , 20:11   Re: Getting Crashes Since EOTL Update
Reply With Quote #17

I'm not sure if this is an issue with SDKHooks or a change in the game server, but... using SM 1.6.3, SDKHooks never fires SDKHook_Spawn or SDKHook_SpawnPost for tf_ragdoll entities.

What I'm seeing is this:

Code:
L 12/13/2014 - 19:59:18: [prophunt.smx] [PH] Player death Saxton Hale
L 12/13/2014 - 19:59:18: "Powerlord<2><[U:1:2163242]><Blue>" killed "Saxton Hale<4><BOT><Red>" with "flaregun" (attacker_position "-2391 54 32") (victim_position "-2148 -146 32")
L 12/13/2014 - 19:59:18: [prophunt.smx] Created entity 180, tf_ragdoll
L 12/13/2014 - 19:59:19: [prophunt.smx] Created entity 38, instanced_scripted_scene
What I should be seeing is this:

Code:
L 12/13/2014 - 19:59:18: [prophunt.smx] [PH] Player death Saxton Hale
L 12/13/2014 - 19:59:18: "Powerlord<2><[U:1:2163242]><Blue>" killed "Saxton Hale<4><BOT><Red>" with "flaregun" (attacker_position "-2391 54 32") (victim_position "-2148 -146 32")
L 12/13/2014 - 19:59:18: [prophunt.smx] Created entity 180, tf_ragdoll
L 12/13/2014 - 19:59:18: [prophunt.smx] Ragdoll 180 of "Saxton Hale" spawned
L 12/13/2014 - 19:59:18: [prophunt.smx] Killing ragdoll 180 of player "Saxton Hale"
L 12/13/2014 - 19:59:19: [prophunt.smx] Created entity 38, instanced_scripted_scene
(The latter two I manually constructed from the text of my LogMessage commands "Ragdoll %d of \"%N\" spawned" and "Killing ragdoll %d of player \"%N\"")

This is probably why a lot of the things I tried earlies in the week failed (thanks Valve!)
__________________
Not currently working on SourceMod plugin development.

Last edited by Powerlord; 12-13-2014 at 20:41.
Powerlord is offline
Horsedick
AlliedModders Donor
Join Date: Sep 2011
Old 12-13-2014 , 21:01   Re: Getting Crashes Since EOTL Update
Reply With Quote #18

I've got one server that all of a sudden just won't launch.. it goes into the verification cycle for files but nothign downloads, loads up then bam goes right back thru the cycle. Windows, MvM that's been perfectly fine up until about 30minutes ago?? Anyone else see this problem?
Horsedick is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:08.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode