Jump to content

RorschachRev

Banned
  • Posts

    78
  • Joined

  • Last visited

Posts posted by RorschachRev

  1. Due to a large number of game crashes with a computer that can run 15.8.1 on highest settings without lag, we attempted to verify the game files. Steam Library, Properties, Local Files, "Verify Integrity of Game Cache..." proceeded to say that there was over 150 files that were corrupt, deleted them all without prompting, and then redownload 6.0GB of data.

     

    Upon redownload by Steam, warframe launches, complains that it needs to patch, and downloads over 600MB of game data. Game launches fine. We made a copy of the "fresh install" and attempted to move that from machine #1 to machine #2. Steam complains that the game needs to "update" and deletes most of the files, downloads another 5.9GB of data. On rural DSL at 30-120Kb/sec that takes 18-28 hours.

     

    Reading on forums and steam advice, they suggested that all steam games can be backed up and then exported to another machine on the LAN. Since my USB3 drive copies files at 90 MB/sec, that's much preferred. We initiate the backup and then steam complains that the files were corrupted, deletes them again, and we're looking at another 5.9GB download.

     

    I had made backups of the "ready to run" game files, but all 5 of the exe files inside warframe as well as the steam client insist that they need to be updated, delete the existing content, and then redownload everything again. 

     

    Here is your first major failure in this saga. The ONLY thing you probably need to do to make steam *stop deleting the data* is to update the hash list of files that are downloaded. (MD5 or SHA256 are common hash functions, I don't know which version steam uses offhand.) Keep steam in sync with your deployed patches so steam stops deleting the entire folder.

     

    Second major failure is your 5 exe clients. Warframe.exe (and the 64 bit variant) properly complain and exit, demanding to be started via steam. This is fine. Launcher.exe and LauncherCEF.exe are complaining that updates need to be applied. They create a number of .tmp file copies as they "update" themselves to the next version, rename the files, relaunch. That's a ridiculous execution and upgrade path for an "up to date" version of the game. The best part? Upon executing, they delete the game data and then attempt to download 5.9GB of data on an up to date copy of the files. When that finishes, steam complains it needs to update the game, and downloads 5.9GB of data, followed by the game needing to patch another 600MB of data.

     

    Third major failure, JiraClient should be submitting debug logs on execution or crash, interrupting the completely useless giant dump of data that gets sent to Microsoft when a Windows app crashes. Debug.txt is great and all for your LUA/SWF/C++ game, but I think you guys should get a copy of the data.

     

    I'll submit this as a separate bug report in the appropriate place, but here's the debug.txt entry that should shame you.

    [1229/180430:WARNING:resource_bundle.cc(286)] locale_file_path.empty()
    [1229/180430:ERROR:main_delegate.cc(550)] Could not load locale pak for en-US
     
    It isn't empty, the file exists, but we keep getting errors that it is missing sporadically. I'll discuss the LUA/SWF/C++ fiasco elsewhere. I know that's what WoW uses for their GUI, but it sucks for both games.I know it is a lightweight language and plays well with C++, but the BMP/PNG/SWF on top (Looks like Internet Explorer too) really kills your portability. Failing to load a file that exists and random crashes several times per day without a debug.txt entry is awful.
     
    Here's what your patcher should do: 
    #1 Submit the hash to Steam so Steam doesn't kill the game files when users press normal buttons that are supposed to work.
    #2 Cryptographically verify the contents of the files and download only the changes to the files. (If you change 100kb of data in one of your two 1.6GB files, we only need to patch 100kb of data plus the file offset saying where it goes. ) This is implemented well in the rsync protocol, and there are open source implementations under various licenses. (You're allowed to copy paste from the BSD version, M$ does it all of the time for things like TCP/IP)
    #3 When verifying (hashing) the game data, the client should double check the packets.
    #4 Ideally (and without making a LAN proxy server for steamUpdate) we should only download the content once on a LAN. Our friends list in steam is aware of what games out friends play, a running copy of warframe should run the rsync locally and stream the updates to the other LAN members if the public IP matches.
    #5 Your current hash function is slow, I recommend more common implementations. If you're creating hash chunks (like the EDonkey 2000 protocol (eMule, aMule use this, torrents use a variation) then that's a good thing for incremental "in place" changes, but if an int changes to a longint, your entire hash chunk methodology fails and we have to download everything from the change onwards again.
     
    You're working hard, I like the game, both the person who recruited me and myself have put money into the game. I like the drop tables, I like the Damage 2.0 system. The AI is having issues intrinsic to C++. I will keep recommending it, but I'd prefer to not randomly crash and not have to spend a week trying to download the game repeatedly.
×
×
  • Create New...