Custom Patcher / Updater / Installer

Page 2 of 2 FirstFirst 12
Results 26 to 44 of 44
  1. #26
    SON OF MARFEL hrace009 is offline
    MemberRank
    Apr 2009 Join Date
    Pekanbaru, IndoLocation
    1,035Posts

    Re: Custom Patcher / Updater / Installer

    i have advice for your launcher.

    try with the old patcher. combine it with *.cup

    so.. your patcher will downloaded *.cup files, after the cup file's at your hdd, it will running official patcher.

  2. #27
    Member Jonatas is offline
    MemberRank
    Feb 2011 Join Date
    55Posts

    Re: Custom Patcher / Updater / Installer

    Will work with the files compressed or uncompressed as I suggested?

  3. #28
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by hrace009 View Post
    i have advice for your launcher.

    try with the old patcher. combine it with *.cup

    so.. your patcher will downloaded *.cup files, after the cup file's at your hdd, it will running official patcher.
    I dont want to combinate it, because a lot of stuffs are already exists for it.

    I wrote a lazy style patcher, just close the server then upload or copy your new files and start the server.

    Unlike a lot of patcher, this one is NOT USE HTTP and webserver and it can be run under any operating system like *nix and win*.
    Dont need any update files like *.cup,*.rar and *.zip so it can save a lot of space on your hard-drive and also can save user's free-time and network usage.

    Why? Coz it can be an installer too, and always installs a newest files, then not need more patching

    ---------- Post added at 01:04 PM ---------- Previous post was at 12:54 PM ----------

    Quote Originally Posted by Jonatas View Post
    Will work with the files compressed or uncompressed as I suggested?
    Currently only transfer and syncing files between server-client.
    So it sends pck files as unhandled. Dont compress or decompress it before send them. Compressing and decompressing means a lot of file descriptors on the server it can eat a lot of memory and CPU usage with up to 100-200 concurrent update proccess.
    I think not a good idea.

    If we want to do these we can only do with database on client side and some archived files on server which contains actual update files as you need like official patcher.

    Its not possible to write same as official, but why?
    Official patcher isnt easy to use, but its works and can handle file transfer errors via md5 checksuming.
    Last edited by davies142; 11-04-11 at 03:06 PM.

  4. #29
    Angelemu founder tbnanubis is offline
    MemberRank
    Mar 2011 Join Date
    Unicorn ForestLocation
    527Posts

    Re: Custom Patcher / Updater / Installer

    Thats what i trying to say, there are already programs that ARE like the official patcher, in some cases even better (easy to create patches) but sadly i still don't know if i'm allowed to share it.

  5. #30
    Member Jonatas is offline
    MemberRank
    Feb 2011 Join Date
    55Posts

    Re: Custom Patcher / Updater / Installer

    When I suggested the idea was to compress the pck client side.

    Example Server:

    / Patcher_1
    element /
    models /
    xxxx
    yyyy
    zzzz

    / Patcher_2
    element /
    models /
    xxxx
    yyyy
    zzzz

    You download the files, and the compressed patch. pck
    It would be an improvement of the spatch Ronny

    -----

    The way you suggested is very complicated updates, think I will introduce a new model of clothing, the player having to download the 1gb models?

    -----

    The server records each folder / Patcher_x type information in MySQL database using the track name + + file size for instance.

    You would record when downloading information from the downloaded files on the Internet if you fall pick up where it left off.

    You save the files to a temporary folder in the same way that spatch and update the files. pck

    ---

    I know you are with good intention to help everyone, but it is only a suggestion that it would please many.

  6. #31
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by Jonatas View Post
    When I suggested the idea was to compress the pck client side.

    Example Server:

    / Patcher_1
    element /
    models /
    xxxx
    yyyy
    zzzz

    / Patcher_2
    element /
    models /
    xxxx
    yyyy
    zzzz

    You download the files, and the compressed patch. pck
    It would be an improvement of the spatch Ronny

    -----

    The way you suggested is very complicated updates, think I will introduce a new model of clothing, the player having to download the 1gb models?

    -----

    The server records each folder / Patcher_x type information in MySQL database using the track name + + file size for instance.

    You would record when downloading information from the downloaded files on the Internet if you fall pick up where it left off.

    You save the files to a temporary folder in the same way that spatch and update the files. pck

    ---

    I know you are with good intention to help everyone, but it is only a suggestion that it would please many.

    Every client has a database: SQLITE. < - easy.
    Every file update can be follow in databse < - easy
    Server syncs client's database < - easy just SQL

    we have ~ 200,000 files.. so the databse aprox. 2-20MB

    Server also have the database but it must indexes every file changes. < - Hard.

    In windows system we have a function in C++ which can watch directory changes, so we know every changes under directory but it isnt recursive and I cant watch filesystem, I didnt write ant-virus program yet, they knows it.

    So I think a solution is Virtual FileSystem. < - Very Hard

    If we can write a patcher with virtual filesystem, we will know every filesystem changes and we dont worry about unicode filenames and dont need rehash the database on server. So we can journalize our virtual filesystem.

    Therefore we can integrate an FTP Server < - Medium

    Its Hard to make, but I think beat all solution.
    Fast, stable, and can update only a necassary files.
    So if you change one shader in models.pck the server will only send that one.

    BTW, not necessary save files in temporary folder, then it compress into .pck files with spck method, we can do that in memory, much faster :)

    If I have a lot of free time, I will write this program.
    I made a virtualfs but that one is read-only.
    Spck dont use any magic, so only zlib and stupid XOR needed.
    FTP server is bit harder but possible.


    Hard...

    I bugfixes my currently patcher, then it runs without problem I being share it.
    It sends whole files (.pck) if size or modified time different than client's one.
    Last edited by davies142; 11-04-11 at 09:24 PM.

  7. #32
    Black Magic Development das7002 is offline
    MemberRank
    Apr 2010 Join Date
    EarthLocation
    2,188Posts

    Re: Custom Patcher / Updater / Installer

    You are over thinking it... For my own client I've written a basic SVN based patcher (Since server just stores bin-diffs it doesn't take up much space server side) that uses svn tags for patching...

    BTW, not necessary save files in temporary folder, then it compress into .pck files with spck method, we can do that in memory, much faster :)
    You run the risk of people that have crappy computers not being able to do it, sure it may be faster but it will use a crapton of ram...
    Last edited by das7002; 11-04-11 at 10:07 PM.

  8. #33
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by das7002 View Post
    You are over thinking it... For my own client I've written a basic SVN based patcher (Since server just stores bin-diffs it doesn't take up much space server side) that uses svn tags for patching...



    You run the risk of people that have crappy computers not being able to do it, sure it may be faster but it will use a crapton of ram...
    Not sure, because I think at stream buffering.
    Dont need any filesystem operations to compress files into pcks we can do without it. Of Corse I did not mean that write all files into RAM.

    Next: My patcher on server side sometimes being crashed, mysterious thing, what killed, currently under debugging mode.
    If I catch the bug, I can drop here the patcher.

    Later: I thinking about a virtual filesystem, so I doing brain-storming now...

  9. #34
    Member Jonatas is offline
    MemberRank
    Feb 2011 Join Date
    55Posts

    Re: Custom Patcher / Updater / Installer

    Regarding the database server do not think it would be difficult:

    Example:

    You will make reading a file on FTP (txt) file that will contain the updates so that instead of or arquivo.7z. xup as spatch would check the folder.

    If there is a new update it checks the file to the database and downloads.

    In the BD will have:

    Version | Folder Name | Path | File |


    He reads the files in the current version and low.
    -----

    You have to have temporary folder, if the User has very pressing process or the internet drop or something similar bug may occur. The update should be done only after downloading all files from that version.

    -
    About the 20k files, I do not need, the User downloads the full client and will only have to update the files that the administrator wants (updates)


    ----
    A difficult question is the server to the list of update files? It could be done in the PC before sending to server, after you done send the User + sql update files.

    Sorry my english.

  10. #35
    Angelemu founder tbnanubis is offline
    MemberRank
    Mar 2011 Join Date
    Unicorn ForestLocation
    527Posts

    Re: Custom Patcher / Updater / Installer

    Omg so much overhead... looks like you are trying to kill birds with nuclear warheads...
    just make a simple file with index for each version, a file with all versions and let the patcher iterate over it and download file index for all versions that are newer than his own. then just diff out what is redundant and download what is needed. Why the hell does everyone think you need sql for such simple tasks?

  11. #36
    Account Upgraded | Title Enabled! ronny1982 is offline
    MemberRank
    Jan 2010 Join Date
    744Posts

    Re: Custom Patcher / Updater / Installer

    for those who are searching for a solution to sync client files with server (without pck injection) you can use svn...

    install a repository on the patch server and import the client files to this server

    deliver svn commandline tool with a checkout.bat file as the "patcher", i'm using svn the same way to keep pwTools up-to-date
    Last edited by ronny1982; 12-04-11 at 12:47 PM.

  12. #37
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    SVN isnt a patcher solution, could not create a shortcut, could not inform user, SLOW and dont have GUI.

    Iam using sqlite because its very fast, what I described above, that dont need any versioning and packages, you copy your files to bundled FTP directory like shader.pck.files, its very easy, safe and fast, but yes a bit overhead :)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    But this patcher method only idea right now.
    Last edited by davies142; 12-04-11 at 02:48 PM.

  13. #38
    Member Jonatas is offline
    MemberRank
    Feb 2011 Join Date
    55Posts

    Re: Custom Patcher / Updater / Installer

    Adapting all that way believe it would be better than the official patcher. I have some problems with the official patcher paths with some files that are not identified yourself as already pointed out.

    ---------- Post added at 01:00 PM ---------- Previous post was at 12:59 PM ----------

    I believe that releasing the patcher with functions and have about an author on the due credits.

  14. #39
    Black Magic Development das7002 is offline
    MemberRank
    Apr 2010 Join Date
    EarthLocation
    2,188Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by tbnanubis View Post
    Omg so much overhead... looks like you are trying to kill birds with nuclear warheads...
    Quote Originally Posted by davies142 View Post
    SVN isnt a patcher solution, could not create a shortcut, could not inform user, SLOW and dont have GUI.
    Iam using sqlite because its very fast, what I described above, that dont need any versioning and packages, you copy your files to bundled FTP directory like shader.pck.files, its very easy, safe and fast, but yes a bit overhead :)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    But this patcher method only idea right now.
    I have to agree with Anubis on this one, you are going crazy with the overhead you have and wayyyy overthinking it...

    Quote Originally Posted by davies142 View Post
    SVN isnt a patcher solution, could not create a shortcut, could not inform user, SLOW and dont have GUI.
    SVN is not slow, it is just as fast as the network it runs across... and about the GUI bit you said there... There are many that exist, you obviously can't Google

    Could not inform user? Wait what...? Use SVN tags for version numbers, let patcher just get a list of the tags and do an int comparison if (currentVersion < svnTagVersion) update();

    Tada!

    Quote Originally Posted by davies142 View Post
    But this patcher method only idea right now.
    And its a bad one...

  15. #40
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by das7002 View Post
    I have to agree with Anubis on this one, you are going crazy with the overhead you have and wayyyy overthinking it...



    SVN is not slow, it is just as fast as the network it runs across... and about the GUI bit you said there... There are many that exist, you obviously can't Google

    Could not inform user? Wait what...? Use SVN tags for version numbers, let patcher just get a list of the tags and do an int comparison if (currentVersion < svnTagVersion) update();

    Tada!



    And its a bad one...
    Not a bad, just isnt simple.
    Leave this until the next round.

    Question: SVN is using any integrity check like CRC?

  16. #41
    Angelemu founder tbnanubis is offline
    MemberRank
    Mar 2011 Join Date
    Unicorn ForestLocation
    527Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by davies142 View Post
    Not a bad, just isnt simple.
    Leave this until the next round.

    Question: SVN is using any integrity check like CRC?
    modification timestamp if i remember right.

  17. #42
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    I mean Is SVN have any dara corruption check?
    I mean if you download a big file 1GB from somewhere it can be corrupted easily for example: winrar says Corrupted file / Invalid CRC!

    I think SVN cant do that, SVN usefull for small files.
    Last edited by davies142; 13-04-11 at 01:29 PM.

  18. #43
    Black Magic Development das7002 is offline
    MemberRank
    Apr 2010 Join Date
    EarthLocation
    2,188Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by davies142 View Post
    I mean Is SVN have any dara corruption check?
    I mean if you download a big file 1GB from somewhere it can be corrupted easily for example: winrar says Corrupted file / Invalid CRC!

    I think SVN cant do that, SVN usefull for small files.
    Unlike your mess of a patching solution you'd only be downloading what's different... So it'd be lots of small files...

    Quote Originally Posted by davies142 View Post
    I mean if you download a big file 1GB from somewhere it can be corrupted easily for example: winrar says Corrupted file / Invalid CRC!
    Only if for some reason you decide to use UDP to transfer it... TCP is self correcting... so it is very rare for any corruption to take place...
    Last edited by das7002; 13-04-11 at 02:09 PM.

  19. #44
    Apprentice davies142 is offline
    MemberRank
    Jun 2009 Join Date
    Budapest, HUNLocation
    23Posts

    Re: Custom Patcher / Updater / Installer

    Quote Originally Posted by das7002 View Post
    Unlike your mess of a patching solution you'd only be downloading what's different... So it'd be lots of small files...



    Only if for some reason you decide to use UDP to transfer it... TCP is self correcting... so it is very rare for any corruption to take place...
    I have using TCP always, and not rarely to being corrupted.
    I also have a big datacentre with uncountable erros, which is normal and doesnt matter.

    Everything is can miss mostly (apache) in overload.



Page 2 of 2 FirstFirst 12

Advertisement