ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.57k stars 596 forks source link

Problem with FastDL and server resources... #2731

Closed Zetz512 closed 4 years ago

Zetz512 commented 4 years ago

With the latest update, i can't download from servers with FastDL (Fast Download), because that get stuck like this

123

And when i disable the fastdl (sv_downloadurl "")

I get this in console...

1234

And i can play normally without any crash but the models are dont downloaded i see invisible...

12345

GiovaniFerraroTrivelli commented 4 years ago

Are you sure that your fastdownload server is reachable?

Zetz512 commented 4 years ago

Yes, i try with a old client and can download without problems

BlackShadow commented 4 years ago

I can't reproduce it, probaly server related.

mikela-valve commented 4 years ago

Thanks @BlackShadow, if anyone else can try reproing this as well that would be great.

@Zetz512 I'm not aware of anything changing in the way FastDL works in this release but there could be something it was relying on that changed. I just updated the HL1 beta version to reduce the strictness of that 'Invalid file type' check when you have FastDL disabled that should allow it to work for downloading game things like models and sounds again.

The version displayed in the console will be the same as the current public version but the BuildID in the Local Files section of the game properties will be 4280512 for the beta version.

metita commented 4 years ago

@mikela-valve There was another friend that could not download some files properly too (same problem as @Zetz512), not sure how tho. I cannot reproduce it either.

mikela-valve commented 4 years ago

@basuritashka Did you happen to be testing with the same download server as your friend at the time or does it just work for you on other servers you've tried?

metita commented 4 years ago

I tested both IP from my friend and from @Zetz512 itself, I was able to download everything properly on latest stable version and it was for sure using FastDL properly.

Yesterday photo from a friend that got stuck on downloading a map. image

mikela-valve commented 4 years ago

If your friend is able to consistently get stuck like that it would be great if you could have them try the beta to see if it does anything to fix it. I haven't traced through the logic yet to see if FastDL does anything different but it's possible it could hit the same file safety checks that regular resource downloading does and just hang like that instead of erroring.

Zetz512 commented 4 years ago

Good, i recently try the beta and the fastdl download now skip/continue but the invalid file types still persist and dont download anything you can see in the image...

Screenshot_3123123

mikela-valve commented 4 years ago

Sorry about that, somehow that beta version didn't have the latest changes in it. The update I just added should work now, BuildID 4280961.

afwn90cj93201nixr2e1re commented 4 years ago

i like dat, can you add new cvar, for skip downloading all files, and replace ptr's to blank files, like blank.mp3, blank.mdl etc excluding .bsp? we need that for some debug sometimes.

For playing without models and sounds etc.

Zetz512 commented 4 years ago

im not seeing the same error and now when im connect server it dont get stuck downloading a file...

Actually the error that its getting displayed in the screenshot, it is like that my client is not able to connect to fastdl to download the files properly

bugfastdl

and there is also another error on the console - that X file is not getting detected properly by the client and skipping them with the next msg. http://prntscr.com/piel9y

btw testing in the same ip on a old client, download works flawlessly without any error..

afwn90cj93201nixr2e1re commented 4 years ago

can you execute developer 1, then connect to the server and disconnect after join, then execute condump and attach file here.

also I'm not get why its backslash...

Zetz512 commented 4 years ago

Ok, here is...

condump000.txt

BlackShadow commented 4 years ago

̶I̶ ̶t̶h̶i̶n̶k̶ ̶i̶t̶'̶s̶ ̶a̶ ̶s̶e̶r̶v̶e̶r̶ ̶d̶i̶r̶e̶c̶t̶o̶r̶y̶ ̶i̶s̶s̶u̶e̶

As seen on log "models\Skins_P\v_awp.mdl" it can't find the file because it's using \ instead "/"

̶S̶e̶r̶v̶e̶r̶ ̶o̶w̶n̶e̶r̶ ̶m̶i̶s̶c̶o̶n̶f̶i̶g̶u̶r̶e̶d̶ ̶F̶a̶s̶t̶D̶L̶ ̶i̶t̶ ̶s̶e̶e̶m̶s̶.̶

̶I̶t̶ ̶s̶h̶o̶u̶l̶d̶ ̶b̶e̶e̶n̶ ̶l̶i̶k̶e̶ ̶t̶h̶i̶s̶ ̶i̶f̶ ̶t̶h̶e̶ ̶F̶a̶s̶t̶D̶L̶ ̶w̶a̶s̶ ̶c̶o̶n̶f̶i̶g̶u̶r̶e̶d̶ ̶c̶o̶r̶r̶e̶c̶t̶l̶y̶:̶

Requesting HTTP download of http://31.28.170.122/fast31095/cstrike/models/player/dangerTT/dangerTT.mdl Saved http://31.28.170.122/fast31095/cstrike/models/player/dangerTT/dangerTT.mdl to disk

afwn90cj93201nixr2e1re commented 4 years ago

http://fastdl2.arrowhosted.com/afuqkmbi/101_27033/cstrike/models\Skins_P\v_awp.mdl

:/ try to change one path of random model in you source to forward slash, and check is that downloaded.

Seems like something in steamclient.dll (SteamHTTP) or url normalisation in goldsrc engine was changed or redirect(3xx) r blocking now.

Zetz512 commented 4 years ago

:o, i will try this, ty.

UPD-

Now this working properly! condump001.txt

ty for all answers

note: on a downloaded old build, that not happen and directly download all resources

rtxa commented 4 years ago

Any news with this issue? I can confirm this is happening to me with the last update. Using an older build bypass the problem.

afwn90cj93201nixr2e1re commented 4 years ago

show any additional logs with developer 1.

as you can see it's expected and fixed for op by replacing wrong paths: https://github.com/ValveSoftware/halflife/issues/2731#issuecomment-541383221

mikela-valve commented 4 years ago

Hi @Zetz512 and @rtxa, this should be fixed now in the latest beta for the case that @Zetz512 posted where backslashes are used in the URL. Backslashes are now auto-converted to forward slashes for download URL's that are sent to Steam to be handled.

RauliTop commented 4 years ago

Hi @Zetz512 and @rtxa, this should be fixed now in the latest beta for the case that @Zetz512 posted where backslashes are used in the URL. Backslashes are now auto-converted to forward slashes for download URL's that are sent to Steam to be handled.

Don't forget Next release milestone

mikela-valve commented 4 years ago

Thanks @RauliTop! These will actually go out in a small update to fix issues arising from the last release so I'll actually add a new milestone for that.

Zetz512 commented 4 years ago

Gj thanks for fast answer! Sry if this dont goes with this topic, but you can see my other suggest about v_models rendermode please? This is a little thing will can be amazing

Splatt581 commented 4 years ago

@mikela-valve by the way, it may also be worth removing backslash or doing auto-convertion to forward slash for precaching server resources in SV_CreateGenericResources.

mikela-valve commented 4 years ago

@Splatt581 It looks like we currently don't allow any backslashes in the resource path, regardless of where it is in the path (should error with Can't precache resource with invalid relative path <path>). It looks like forward slashes are the only allowed path separator. The .res file itself does already have forward/backslash conversion.

Could you clarify what should be changed please? Feel free to open another issue or update another if there is one open already for this.

Thanks!

afwn90cj93201nixr2e1re commented 4 years ago

Backslashes are now auto-converted to forward slashes for download URL's that are sent to Steam to be handled.

For what?

Splatt581 commented 4 years ago

@Splatt581 It looks like we currently don't allow any backslashes in the resource path, regardless of where it is in the path (should error with Can't precache resource with invalid relative path <path>). It looks like forward slashes are the only allowed path separator. The .res file itself does already have forward/backslash conversion.

Could you clarify what should be changed please? Feel free to open another issue or update another if there is one open already for this.

Thanks!

It seems that conversion does not occur, because I tried to precache asd\asd.txt file via .res file of map on latest beta dlls of Windows version of engine and got Can't precache resource with invalid relative path asd\asd.txt error. As I understand it, SV_CreateGenericResources function should follow same checks for path substrings as IsSafeFileToDownload, that's why I proposed to do the conversion.

mikela-valve commented 4 years ago

Ok, good. That's what I thought would happen so I just wanted to confirm. I think it would be fine to change it around to match IsSafeFileToDownload. Rather than converting the slashes I'll just make both backslashes and forward slashes allowed in the path as long as they are not being used to form an absolute path. This matches the behaviour of IsSafeFileToDownload.

The latest beta should have this change in it. If all is good with it I'll update the public version with this beta.

Splatt581 commented 4 years ago

Thanks! Everything works fine.

mikela-valve commented 4 years ago

Thanks @Splatt581! Closing as fixed.