XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Higor » Tue Dec 12, 2017 7:18 am

These should only be applied over the latest stable builds.

This can crash during joining process.
- Asynchronous decompressor, info on screen (join a server, download some files while you're playing offline)
- Package downloader and loader using GUID, you can now join servers with mismatching files.

Stuff that I'll add over the builds:
- Info on additional packages during download (how many need to be downloaded, full data)
- URL protocol filters.

============
Servers have the experimental relevancy loop
- Better visibility checks through windows, less actors replicated.
- Improved Pawn bandwidth hack, pawn positions look better.
Attachments
XC_Engine_ClientNet_01.7z
Win32
(194.54 KiB) Downloaded 32 times
Higor
Godlike
 
Posts: 1726
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby sektor2111 » Tue Dec 12, 2017 8:17 am

Primary test failed. I had to move at work so I will check more details later.
Connecting server using no stuff declared in INI files from client - properly joined.

All declared and the same files used in both server and client 440.
3 times downloaded the same few files and then client said that map file was not found "file load failed etc." which was the first download. I was unable to join even after restarting client - I think map it's in cache but unusable. This way doesn't seems to work. I'll track logs and screenshots after work. In case of failures I'll go back to old XC_Core XC_IpDrv.

Edit:I could check more details about this update as long as I'm back from work.
To be honest I don't know what you did but I'll fallback to v20 as it was before. I see double downloads from redirects and then the same stuff from server like redirect doesn't exist. I'm talking about files which aren't in cache. Else at end of downloading client says that cannot find map file but map is cached normally. With old client V20 is not that different when server has this v21. What did I miss ? New V21 for the moment it's useless as long as is not compatible with old XC_Core.dll, XC_IpDrv so I have do changes back to v20.
Edit2: Found something not OK here in my client side I forgot external lzma file but this doesn't explain why client is trying 2 times a download from lzma redirect if first time has failed and has no decompressor. - Why does it need to download useless files if cannot deal with them ?
I've added lzma.dll file, but map cannot play, client has to uncache map else NONE game. By having server V21 and client V20 everything works normally.
To summarize this V21 is NOT for clients, unless they want to not join to servers that easy...
User avatar
sektor2111
Godlike
 
Posts: 3959
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Higor » Tue Dec 12, 2017 5:28 pm

The external LZMA isn't an optional component, XC_IpDrv will always attempt to download the LZMA file first.
The package file finder now always attempts to match the package GUID, so it makes sense that files in your game directory are now discarded over cached versions (if game files are mismatches).

Logs aren't as verbose, the only difference you'll see is whenever the game attempts to replace a game file with a cached file, in the following case if have Unreal CD's Dusk.umx in my game and I was able to join a server using the long contaminated Dusk.umx without problems.
Code: Select all
XC_Engine: Loading GUID compatible package Dusk from ../Cache\B2ECEB6B47299A05CF10598A925E1E86.uxx
Higor
Godlike
 
Posts: 1726
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby sektor2111 » Tue Dec 12, 2017 8:11 pm

With or without LZMA, downloaded map from whatever location won't load not local map from map folders. Client is rejected and cannot enter game EVER without having exactly map file in maps folder. I'll setup client and I'll drop a screenshot + a log snippet if you want to see it.
Cli_v21.png

Log file confirms what's happening.
Code: Select all
...
DevNet: Receiving package 'MH-{mcslc}-WarOfMonsters'
...
DevNet: Compressed filesize: 230293
....
....
Warning: Failed to load 'MH-{mcslc}-WarOfMonsters': Can't find file 'MH-{mcslc}-WarOfMonsters'
Warning: Failed to load 'Level None.MyLevel': Can't find file 'MH-{mcslc}-WarOfMonsters'
NetComeGo: Close XC_TcpipConnection0 12/12/17 21:17:03
Map is the first file in download chain and then it says what you see. Don't get me wrong but in this way player need all maps which server might have, else player has no business there, this doesn't happen in V20. I don't care about dusk file, Level is NOT Loaded not even from cache, as long as client doesn't have main Level the rest of debate is useless.
User avatar
sektor2111
Godlike
 
Posts: 3959
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Higor » Wed Dec 13, 2017 1:20 am

Fixed map package linker.
Restored 'most' of the import verifications to preload stage (less likelly to crash the game)
Some packages may fail to load even if in Cache.ini, gotta find out what's up with that.
Attachments
XC_Engine_ClientNet_02.7z
(194.44 KiB) Downloaded 36 times
Higor
Godlike
 
Posts: 1726
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby sektor2111 » Wed Dec 13, 2017 6:54 am

Take in account that some "user" (like me) might delete cache when it grows too much but without editing Cache.ini. The problem is then you cannot count on that file, and then I did not have any issues so far so you can forget Cache.ini deals because what's in that file might be a false reality. UT by default seems to have some good sanity checks and others are None (you know them better than anyone here...).
I go to my "testing lab" for primary tests before to leave the home for moving at work...
Edit: Test failure - operated with a clean cache and less clean with a similar result.
Client could not load a texture downloaded.
Code: Select all
...
DevNet: Receiving package 'QUAKE3c'
...
DevNet: Compressed filesize: 1131545
...
DevAudio: Galaxy SetViewport: WindowsViewport0
Warning: Failed to load 'QUAKE3c': Can't find file for package 'QUAKE3c'
NetComeGo: Close XC_TcpipConnection0 12/13/17 08:03:33
LZMA.dll is there, no "collisionhook" active and no "levelhook" is being used.
In final stage I'm hoping to load all content from "packagemap" or else all goes nowhere.
Edit2: Test number 2: Less relevant things.
Client has XC files and decompressor but UT.ini is set for default engine.
Lzma loads/decompress properly - some messages are shown shortly on screen. All is decompressed and loaded correctly - client is able to play.
User avatar
sektor2111
Godlike
 
Posts: 3959
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Higor » Wed Dec 13, 2017 10:19 pm

Breakthrough!

- Download progress tell you how much crap the server wants you to install.
- Package loader and verifier should cover all failure cases.
- Mismatch will only be shown if the loader is trying to replace a package that already exists in memory, in that case load a different map to unload packages and try rejoining.
-- Side effect: Triggers a specific log that was only previously seen in Unreal Editor, it indicates whenever a cached package is being loaded.
Attachments
Downloader.png
XC_Engine_ClientNet_03.7z
(194.54 KiB) Downloaded 38 times
Higor
Godlike
 
Posts: 1726
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Chamberly » Wed Dec 13, 2017 10:54 pm

Spoiler: show
Looks like the redirect doesn't fall back to 'failed' mode after not finding files. - I found redirect not forwarding files to download if it doesn't found the lzma/uz unless I re-connect to the server to download the file. Just a small boo boo, but totally enjoying it!


Image

Love it! :mrgreen:
Image
Image
Image
User avatar
Chamberly
Godlike
 
Posts: 1658
Joined: Sat Sep 17, 2011 4:32 pm
Location: TN, USA
Personal rank: Dame. Vandora

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby ShaiHulud » Wed Dec 13, 2017 11:12 pm

Very nice - great work
ShaiHulud
Adept
 
Posts: 341
Joined: Sat Dec 22, 2012 6:37 am

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby sektor2111 » Wed Dec 13, 2017 11:19 pm

Woow ! Good so far...
Cli_21V3.jpg

Next stage of testing is mismatch problem. I'm gonna screw some files on purpose to see how do it works. So far it's awesome - no kidding. :gj:
User avatar
sektor2111
Godlike
 
Posts: 3959
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby nogardilaref » Thu Dec 14, 2017 12:07 am

Whoa, that screenshot above caught my attention, great job at it Sektor. :mrgreen:
Is that some feature from this engine or so?

Also, would that mean that eventually we could create our own progress bars and whatnot, and render the progress in our own, as well as maybe render full images like more modern games...
This does sound very interesting.
nogardilaref
Masterful
 
Posts: 581
Joined: Tue Jun 20, 2017 1:00 pm
Personal rank: ⚋⚊⚌☰⚞⌖⚟☰⚌⚊⚋

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby sektor2111 » Thu Dec 14, 2017 12:31 am

THIS is Higor keeping UT alive (I know it sounds like a deja vu) but here is for real. XC_Engine v21 has a target connecting to an XC server (it's a default thing for now) getting over mismatch problems. First attempts had some flaws but Higor could figure what's the deal.
The real fact is right now I cannot quit using XCGE because I will need to remove crapped map, outta yard. I can play almost forgotten stuff just because XC_Engine does exist. Main things which are OKAY for me and are intensive used:
- fixing default Windows PlayerCanSeeMe crash bug;
- adding ReplaceFunction - very used by my XC_MonsterHunt;
- adding option for changes in Paths Network from a Level - NavAdder which I wrote has such a goal;
- iterators by Higor made me to have a different Bot class OVER-used in all my games;
- LZMA compression for redirect made things more safe and faster and... smaller files - very small uz files are crashing default UT game engine, btw.
And... the cherry - Solving mismatching problems ? This is the best ever thing if it proves operational.
Higor deserve a barrel with beer. While he was working at packages chapter he added some aka U227 stuff which simply makes you - the player - to know how long you have to wait for downloading files.
User avatar
sektor2111
Godlike
 
Posts: 3959
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby papercoffee » Fri Dec 15, 2017 2:25 am

sektor2111 wrote:Higor deserve a barrel with beer.

Make this two. ;)
User avatar
papercoffee
Site Staff
 
Posts: 9141
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby Higor » Fri Dec 15, 2017 4:59 am

This build should be stable enough, just needs some more testing before I move onto other features.

Server:
Bugfix in extended PreLogin checks.

Client:
ClientTravel, Open cannot be used to open local files anymore.
Fixed bad code that could either crash on join, or make the client load the map with an incorrect package.
Clients no longer send options 'Game' and 'Mutator' in their login string.
Attachments
XC_Engine_ClientNet_04.7z
(233.04 KiB) Downloaded 42 times
Higor
Godlike
 
Posts: 1726
Joined: Sun Mar 04, 2012 6:47 pm

Re: XC_Engine [20] - XC_Core [7b] - XC_IpDrv

Postby [rev]rato.skt » Fri Dec 22, 2017 3:14 am

I am having a problem, when I try to download the file from redirec and it does not find, it does not download from unreal and build this error...
i test AllowDownloads=False and AllowDownloads=True :|
Image
Brazilian Server:
168.227.251.200 1 Classic
168.227.251.201 2 Custom
User avatar
[rev]rato.skt
Skilled
 
Posts: 161
Joined: Mon Aug 16, 2010 1:09 pm

PreviousNext

Return to Discussions

Who is online

Users browsing this forum: No registered users and 1 guest