Critical Error on client while redirected download

Discussions about Servers
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Critical Error on client while redirected download

Post by Barbie »

I've found a strange behaviour of UT client side: At downloading a redirected compressed file, UT throws an Critical Error:
UTCriticalError.jpg
The clients log leads me to the guess that there is a problem with the decompression:
Spoiler
UnrealTournament.log wrote:DevNet: PendingLevel received: WELCOME LEVEL=MH-Ziki+SBFix1 LONE=0
DevNet: Welcomed by server: LEVEL=MH-Ziki+SBFix1 LONE=0
Log: Resolving h2490700.stratoserver.net...
DevNet: Receiving package 'SBNonFallingMantaV0'
Log: Resolved h2490700.stratoserver.net (81.169.240.101)
Critical: appError called:
Critical: Assertion failed: !Reader.AtEnd() [File:..\..\Core\Inc\FCodec.h] [Line: 324]
Critical: Windows GetLastError: Der Vorgang wurde erfolgreich beendet. (0)
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Log: DirectDraw End Mode
Critical: FCodecHuffman::Decode
Critical: FCodecFull::Code
Critical: FCodecFull::Decode
Critical: UDownload::DownloadDone
Critical: UHTTPDownload::Tick
Critical: TickDownload
Critical: UNetConnection::Tick
Critical: UNetDriver::TickFlush
Critical: UNetPendingLevel::Tick
Critical: TickPending
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: MainLoop
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 12/26/15 06:54:54
Info for that downloaded file:
SizeOf(SBNonFallingMantaV0.u.uz): 851
SizeOf(SBNonFallingMantaV0.u): 825

Is that a naming problem ("SBNonFallingMantaV0" isn't so bad, is it?) or are there issues, if the compressed file is bigger than the uncompressed?

(I know that I could bypass this problem by allowing small downloads - I'm interested in the backgrounds.)

EDIT: One of the first things I did was clearing the UT Cache folder. The above error occurs with an empty Cache folder, too.
You do not have the required permissions to view the files attached to this post.
Last edited by Barbie on Sat Dec 26, 2015 6:01 pm, edited 1 time in total.
"If Origin not in center it be not in center." --Buggie
Chris
Experienced
Posts: 134
Joined: Mon Nov 24, 2014 9:27 am

Re: Critical Error on client while redirected download

Post by Chris »

It sounds like the compressed file has been corrupted.
Are you the maintainer of the redirect service?
User avatar
sektor2111
Godlike
Posts: 6442
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Critical Error on client while redirected download

Post by sektor2111 »

Get both files and re-compress original in other location. Compare both files compressed. If file in redirect is screwed you have to replace it. These things leads in 0 players if they doesn't have that stuff - is one of major issues.
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

Chris wrote:It sounds like the compressed file has been corrupted.
That was my thought, too. But if I run "UCC.EXE decompress SBNonFallingMantaV0.u.uz" manually it is decompressed successfully. I just also verified the integrity by downloading SBNonFallingMantaV0.u.uz, decompressing it with UCC and binary comparing with the original SBNonFallingMantaV0.u: files are qual.
Chris wrote:Are you the maintainer of the redirect service?
Yep. That servers log says: file successfully delivered.
"If Origin not in center it be not in center." --Buggie
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

I just added some Lorem ipsum random text as a comment to the source code, compiled and compressed it and the client can connect now.
SizeOf(SBNonFallingMantaV0.u): 2438
SizeOf(SBNonFallingMantaV0.u.uz): 1664

I guess there is a problem if SizeOf(CompressedFile) > SizeOf(UnCompressedFile).
"If Origin not in center it be not in center." --Buggie
User avatar
sektor2111
Godlike
Posts: 6442
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Critical Error on client while redirected download

Post by sektor2111 »

All, but all files have to be compressed for server if are requested, else after getting a single file directly from server, player's patience is tested because the rest (if are many) are coming slowly directly from game too unless he/she knows F10 trick. This might be also a "render" (some detection) problem rather then decompression problem.
This remembers me by MapVoteLa13 when player is facing this package for the first time - it's crashing due to some "cute encryption" used...
If package is OK at least it should pass the test "ucc packageflag somefile.extension>. If UCC returns 0 errors you are almost good. If UCC crash with no response for sure you can get rid of that manure because is not for UT. I could figure such things in several Coop stuff - no wonder why UT is crashing + what you found with doubled the same actors 2in1 soup.
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

sektor2111 wrote:All, but all files have to be compressed for server
What are the correct setting for UnrealTournament.ini->[IpDrv.TcpNetDriver] then if I want ALL files to be taken from redirect server? I thought "AllowDownloads=False" would have done that but there seems still problems if SizeOf(CompressedFile) > SizeOf(UnCompressedFile) ("Server refused to send..."). I'm on it.
"If Origin not in center it be not in center." --Buggie
Chris
Experienced
Posts: 134
Joined: Mon Nov 24, 2014 9:27 am

Re: Critical Error on client while redirected download

Post by Chris »

"If you want all files to be taken from the redirect..." What exactly do you mean?
Like Nelsona said, if a compressed file is missing from the redirect service, the client will stop looking there for the current session and instead request the files from the server. As far as I know the AllowDownloads options will disconnect the client if it requests a file from the server directly.
User avatar
Wormbo
Adept
Posts: 258
Joined: Sat Aug 24, 2013 6:04 pm

Re: Critical Error on client while redirected download

Post by Wormbo »

Does it always happen? There might be an issue how the server sends the data to the UT client as opposed to how you retrieve the file manually for comparison/testing purposes.
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

Chris wrote:"If you want all files to be taken from the redirect..." What exactly do you mean?
I want the UT server to send no files at all; all files the client is requesting should come from the redirected server.

There is also the key "MaxDownloadSize" in that ini section, but from (my) logic it should not be taken into account if AllowDownloads=False.
"If Origin not in center it be not in center." --Buggie
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

Some tests have shown that there is a problem if a compressed file is bigger than the uncompressed. Therefore I put variant amount of comment into the UC file, compiled and compressed them, restarted the UT server, cleaned the clients UT cache and tried to connect. Depending on file sizes I even got two different issues (Server refused to send/Critical Error):

Smaller compressed one:
SBNonFallingMantaV0.u.uz: 924
SBNonFallingMantaV0.u: 957
-> Client downloads and joins

Equal size:
SBNonFallingMantaV0.u.uz: 895
SBNonFallingMantaV0.u: 895
-> Client downloads and joins

Bigger compressed one:
SBNonFallingMantaV0.u.uz: 888
SBNonFallingMantaV0.u: 887
-> '192.168.1.155/MH-Ziki+SBFix1?Name=Ken?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?Checksum=NoChecksum' failed; Downloading package 'SBNonFallingMantaV0' failed: Server refused to send 'SBNonFallingMantaV0'

SBNonFallingMantaV0.u.uz: 885
SBNonFallingMantaV0.u: 884
-> '192.168.1.155/MH-Ziki+SBFix1?Name=Ken?Class=Botpack.TMale2?team=0?skin=SoldierSkins.blkt?Face=SoldierSkins.Othello?Checksum=NoChecksum' failed; Downloading package 'SBNonFallingMantaV0' failed: Server refused to send 'SBNonFallingMantaV0'

SBNonFallingMantaV0.u.uz: 883
SBNonFallingMantaV0.u: 878
-> Critical Error

Some other test with sizes below that leads also to Critical Error.

Servers UnrealTournament.ini settings in [IpDrv.TcpNetDriver]:
Spoiler

Code: Select all

AllowDownloads=False
ConnectionTimeout=15.0
InitialConnectTimeout=120.0
AckTimeout=1.0
KeepAliveTime=0.2
MaxClientRate=200000
SimLatency=0
RelevantTimeout=5.0
SpawnPrioritySeconds=1.0
ServerTravelPause=4.0
NetServerMaxTickRate=20
LanServerMaxTickRate=35
MaxDownloadSize=1
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload
"If Origin not in center it be not in center." --Buggie
User avatar
sektor2111
Godlike
Posts: 6442
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Critical Error on client while redirected download

Post by sektor2111 »

Barbie wrote:Checksum=NoChecksum' failed;
What's this if you don't mind ? What content have those files ? The same BRAIN x.xx ?

I could see at a moment UC files corrupted unable to be compiled because of some nasty invisible bytes added screwing syntax. Forcing a compilation there might do nasty things - I'm guessing only.

However I'm curious how you get such small files. How much script is there ? Only defaultproperties changed ? hmmm......
Is not much simple a package having some content for at least 10kb size.

Those messages are new to me - I never see them. My MaxDownloadSize=0 - Unlimited and explanations

When game is hosted in point A and redirect is hosted in point B (blacklisted and firewall-ed or redirect HOST is DOWN for many reasons), client won't get nothing EVER. You should leave them last resort to gain files from server if redirect fails.
At least I don't have these issues with XC_Engine - if client fails redirect (as described today for tech reasons) server is pumping files in client faster than at game-speed.

From my old experience redirect and game-server should be better to have almost the same location (the same ISP if possible) to prevent switching many hops.
Last edited by sektor2111 on Sat Dec 26, 2015 10:11 pm, edited 1 time in total.
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

sektor2111 wrote:
Barbie wrote:Checksum=NoChecksum' failed;
What's this if you don't mind ? What content have those files ? The same BRAIN x.xx ?
I'm sorry, I don't get what you want to say here. :???:
However I'm curious how you get such small files. How much script is there ?
See this thread for packages content; it's only a hand full of lines. Usually I embed such small stuff into MyLevel but if MunsterHunt.u is used, UnrealEd's "Compile Changed Scripts" fails. So I decided for an external package. (In the meanwhile I have embedded it into the map to avoid clients redirected download problems, but before I can compile scripts in UnrealEd I have to remove all used stuff of MonsterHunt.u, save the map, close UnrealEd, reopen the map in UnrealEd, add my script, compile it and then add on all removed MonsterHunt.u-stuff. Just wasted working time...)
When machine is hosted in point A and redirect is hosted in point B
Both are running on the same host.
At least I don't have these issues with XC_Engine
Have you ever run into this special case with compressed size > uncompressed size? And it's not a problem of the server, it's a problem of the client.
"If Origin not in center it be not in center." --Buggie
User avatar
sektor2111
Godlike
Posts: 6442
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Critical Error on client while redirected download

Post by sektor2111 »

Barbie wrote:Usually I embed such small stuff into MyLevel but if MunsterHunt.u is used, UnrealEd's "Compile Changed Scripts" fails
Issue number 1 when people are doing MH stuff - credits for trash goes at Shrimp Kenneth Watson. Never use MonsterHunt.u file used in servers for working around MH - you need the MonsterHunt.u file for coders (I have one from Kelly) but I can do a place-holder any time or perhaps works v5.04 which is not funked up for no reason.
Barbie wrote:Have you ever run into this special case with compressed size > uncompressed size? And it's not a problem of the server, it's a problem of the client.
okay, I'll try to see if I don't have such things already or I'll write a small null thing just for testing purpose because you awake my curiosity.

Edit:
NICE FIND, BARBIE....
It's the same problem with this >
relicsbindings.zip
However... such stuff won't be a warm welcome for player. Looks like happens at small files. Is this issue fixed in v451 ?? (client).
You do not have the required permissions to view the files attached to this post.
Last edited by sektor2111 on Sat Dec 26, 2015 10:37 pm, edited 1 time in total.
User avatar
Barbie
Godlike
Posts: 2955
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Critical Error on client while redirected download

Post by Barbie »

Never use MonsterHunt.u file used in servers for working around MH - you need the MonsterHunt.u file for coders
I cannot remember exactly what MonsterHunt version I installed years ago on my developing PC (not server). I've found Help\ReleaseNotes.htm which mentions 'Kenneth "Shrimp" Watson' and it says it is "Release 6". The size of System\MonsterHunt.u is 1251524 and the MD5 sum 570f03b201d4bf1928438ac2381d3a0c.
"If Origin not in center it be not in center." --Buggie