fix broken playerface D3D crash patch

Search, find and discuss about Mutators!
UT99.org

fix broken playerface D3D crash patch

Post by UT99.org »

billybill wrote:OK guys so the bug crashes anyone with the old direct3d renderer with the error of insufficient midmaps.

Before this there are 2 fixes:

1. something that stops them using the crash skin by changing them to something when they enter, then something else that prevents them changing skin mid-game I don't know what that is, probably pure

2. running a timer to check all peoples skins on a regular interval, lagging the server

So insuffient midmaps means there are midmaps missing, can we add a bunch of fake ones or what? I am kinda new to skinning


Instructions: Replace texture file on server


Link: https://anonfiles.com/file/f4f021e70f98 ... 0ce53b4b88

Testing: Add
Object=(Name=SoldierSkins.Gard4Ivan,Class=Texture,Description="Ivan")
to Soldierskins.int (not sure if it has to be under metal guard) and say something in the server
Last edited by UT99.org on Sat Aug 10, 2013 8:31 am, edited 3 times in total.
UT99.org

Re: trying to fix crash skin

Post by UT99.org »

UT99.org

Re: trying to fix crash skin

Post by UT99.org »

billybill wrote:Yes thats right that is the number 2 I mentioned. Running any repetitive timer like that checking anything is really not a good idea, events are one thing but timers they really impact gameplay. Sure a timer that runs 1 time with a drawn out interval isn't going to have a huge impact but we're looking for a way around this. thanks anyway, at least you didn't post the one that bans them! my god that is rife for abuse. considering that sending a player to another server with the skin of your choice doesn't even require a downloaded file

I believe I have fixed it. There are a few differences like if a player tries using it on the server they will have NO player picture in the top right corner. I've messed with this file by making the server not recognise the skins. It should defaults them back to no face for that skin but with no talk textur

Need testers: if you run a very busy server you might want to leave this to the first round of testers, if no issues are reported then it should be fine to use. This could cause issues with skins, invisible bots, lag, sliding players or remaining crash errors but looks OK to my first testing
Last edited by UT99.org on Tue Apr 02, 2013 11:25 am, edited 1 time in total.
User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: trying to fix crash skin

Post by Dr.Flay »

The mipmaps are generated during importing the texture (or not). I suspect the offending skins need to be remade.

Would it not be in the players interest to stop using a DX5-7 renderer, and use something that matches their hardware? (I doubt any of them have a DX7 chip let alone a DX5.)

I understand what you are trying to achieve obviously, but feel that finding a fix/bypass for the aged Windows 9x renderer problem is just holding back some players from updating, and enjoying the game at full speed and looking more stunning.

There is a simple and reliable fix.
Recommend they update :D
UT99.org

Re: trying to fix crash skin. need testers

Post by UT99.org »

billybill wrote:Hi, It's a stock renderer. And usually they choose direct3d over windows rendering because opengl is hidden. In my experience opengl ran horribly post winxp but maybe that is only me. This seems to be a workable temp fix but you are right that leaving a blank texture the occasional player would no doubt use it to show off their 'no talking face'

If you are not sure or don't want to take the risk. Pure is real the solution here, and giving them a skin to join with. Because even if successful with this there are still going to be skinhacks that change to any default texture that will work. I will look into it because replacing default models with pure models can't be what is locking the skins in place and maybe there is something I can take from pure
Last edited by UT99.org on Tue Apr 02, 2013 11:27 am, edited 1 time in total.
User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: trying to fix crash skin. need testers

Post by Dr.Flay »

Yeah I figure you are talking about the 436 version. I assume you are referring to the equally aged and stock OpenGL renderer.
That is hidden because it was beta and unfinished (and equally aimed at Win9x era chips, so should also be avoided).
None of the stock 436 renderers can run a modern map that uses modern Hi-Res textures.

I am talking about using the finished modern renderers aimed at DX9+ (WinXP era) that were updated until 2010.
(Note. GL performance can often be an issue for ATI and intel users)
Vista and Win7 users have the option of even newer renderers DX10 and 11.

Brand-new OpenGL and DX9 renderers are currently being tested, so if there is a bug in the renderers then now is the time to have it dealt with.
If the bug has already been fixed, then use the renderer that fixes it.

Blocking skin-hacks is a different matter entirely, and should be researched.
Shame Gopostal is M.I.A. he may have the an insight on this :(
UT99.org

Re: trying to fix crash skin. need testers

Post by UT99.org »

billybill wrote:Seems nobody has tested this, I will put it on a server next week and post the results. It is hex edited in 3 places all related to the crash skin. I will change the thread title to no longer testing and those who don't use it it would be your loss. If this were reddit it would be upvoted to the top of the list still and have more posts and testers
UT99.org

Re: trying to fix crash skin. need testers

Post by UT99.org »

medor wrote:
billybill wrote:OK guys so the bug crashes anyone with the old direct3d renderer with the error of insufficient midmaps.

Before this there are 2 fixes:

1. something that stops them using the crash skin by changing them to something when they enter, then something else that prevents them changing skin mid-game I don't know what that is, probably pure

2. running a timer to check all peoples skins on a regular interval, lagging the server

So insuffient midmaps means there are midmaps missing, can we add a bunch of fake ones or what? I am kinda new to skinning


Instructions: Replace texture file on server


Link: https://anonfiles.com/file/f4f021e70f98 ... 0ce53b4b88

Testing: Add
Object=(Name=SoldierSkins.Gard4Ivan,Class=Texture,Description="Ivan")
to Soldierskins.int (not sure if it has to be under metal guard) and say something in the server
http://unrealtournament.99.free.fr/utfi ... Server.zip
http://medor.no-ip.org/index.php?dir=Ad ... Server.zip
JackGriffin
Godlike
Posts: 3774
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: trying to fix crash skin. need testers

Post by JackGriffin »

You rang?

Of all the server griefs this was my favorite because you can almost see in your mind's eye when the original guy was thinking up ways to poke other players in the eye. It's a pretty neat exploit when you understand how it works.

The end result is that there are other ways to do this besides SoldierSkin so Flay has the right idea: update your driver and server admins install the patch to prevent the most shared way of doing it.
So long, and thanks for all the fish
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: trying to fix crash skin. need testers

Post by Higor »

D3DCrashFix is stupid.
Fills the servers with accessed none logs, doesn't prevent the Ivan hack (tested on all Siege servers).

You need to tackle this in 2 ways:

- For team games, grab the Login parameters and replace "IVAN" with "VON" on ModifyLogin, operate in CAPS text.

Code: Select all

i = InStr( Caps(OPTIONS), "IVAN");
if ( i > 0 )
     OPTIONS = Left(OPTIONS,i) $ "von" $ Mid(OPTIONS, i+4);
- For deathmatch games (layered, on top of the other fix), on ModifyPlayer, run 2 checks:

Code: Select all

local FV_SkinWatcher aW; //My watcher actor
if ( Other.Mesh == LodMesh'Botpack.Soldier' && InStr(CAPS(string(Other.MultiSkins[0])),"GARD") > 0 )
{
    ForEach Other.ChildActors (class'FV_SkinWatcher', aW)
         break;
    if ( aW == none )
         aW = Spawn(class'FV_SkinWatcher', Other);
}

//The watcher:
class FV_SkinWatcher expands Info;

event Tick(float Delta)
{
    if ( Pawn(Owner) == none || (Pawn(Owner).PlayerReplicationInfo == none) )
    {
         Destroy();   //Destructor
         return;
    }
    if ( Pawn(Owner).PlayerReplicationInfo.TalkTexture = Texture'SoldierSkins.gard5Ivan'; 
          Owner.Destroy(); //Kick player
}
JackGriffin
Godlike
Posts: 3774
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: trying to fix crash skin. need testers

Post by JackGriffin »

Like I said, there are other ways to do this. It's best to force the driver update among your players.
So long, and thanks for all the fish
User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: trying to fix crash skin. need testers

Post by Dr.Flay »

Updating is the way forwards (did anyone see what I did there. hehe)
Onwards and upwards I say.
UT99.org

Re: trying to fix crash skin. need testers

Post by UT99.org »

billybill wrote:Before we move into the installing drivers remotely thread

There are two skins that were "disabled" in this patch

Object=(Name=SoldierSkins.Gard4Ivan,Class=Texture,Description="Ivan")
Object=(Name=SoldierSkins.Gard5Ivan,Class=Texture,Description="Ivan2")

if I understand right Higor's method would try to run 20 times per second on a normal server, 120 times a second on a 120 tick server etc. It may fix the log errors but increasing the checks 100-fold won't do much for the gameplay on the server

if a UScript solution is used, I would request that you address the problem of servertravelling a player to a server with the skin differently than to those who intentionally change to the skin after entry
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: trying to fix crash skin. need testers

Post by Higor »

billybill wrote:if I understand right Higor's method would try to run 20 times per second on a normal server, 120 times a second on a 120 tick server etc. It may fix the log errors but increasing the checks 100-fold won't do much for the gameplay on the server
You clearly don't understand the engine.
UT99.org

Re: trying to fix crash skin. need testers

Post by UT99.org »

billybill wrote:actually didn't see this line " - For deathmatch games (layered, on top of the other fix), on ModifyPlayer, run 2 checks:"

And then destroying it instantly. I would be dead right if you were running something like this continuously. Does this work though I mean if the player is changing their skin halfway through the game is the modify player called? thanks
Post Reply