Ghostpatch (auto-updater tool)

Miscellaneous Forums/Blitz Showcase/Ghostpatch (auto-updater tool)

Automatically updates your end users software. Configured via .ini file.



http://ghostpatch.bansheestudios.com/example/ghostpatch.zip

Expect exansion of this project over the next few days.

This looks cool, have to try it soon, maybe when I release my next game.

Looks very useful ! Thanks !

Wow Backy,

Thats fab, very useful. Thanks.

IPete2.

I have added compression and as you can see from this screenie i've built in an FTP interface (with upload hashing) which the program uses to run an auto-generated ftp upload script for your project.

I'll add decompression tonight and then I just need to figure out a good method of detecting what files to upload (a sort of reverse patcher lol) and it should be ready.

It's still all driven by one simple .ini file and a command line interface. The program prompts you for ftp username and password but otherwise it's entirely scripted in just a few easy commands.



Here's a sample .ini file atm

;This parameter specifies where to download the
;latest files from.
;include the trailing /
webPath=http://ghostpatch.bansheestudios.com/example/

;This command specified the name of the
;program in the application bar.
appTitle=Ghost Patch

;This command specified a background picture
;to display during the patch process.  It also
;determines the size of the patcher window.
background=Patcher\example.jpg

;These co-ordinates determine the boundaries
;of the patch status report.
listTopX=20
listTopY=105
listbottomX=580
listBottomY=280

;This command launches another .exe when the
;patch process is completed.
launch=C:\Windows\calc.exe

;This command sets the text colour used to
;display messages.
textColour=black

;Other text colour options include
;textColor=    (Americanised spelling)
;          white
;          red
;          green
;          blue
;the default textcolour is black

;to specify RGB values for text use these commands.
;textRed=128
;textGreen=128
;textBlue=128
;valid numbers range from 0..255

;This specifies the boundaries of the download
;progress bar which shows the progress of
;the current file.
sliderTopX=320
sliderTopY=45
sliderBottomX=585
sliderBottomY=75

;Excluded files (these two should be left on the
;exclude list because they contain the CRC checks
;of the local and remove file lists.
exclude=version.txt
exclude=remoteVersion.txt

;The free version is not capable of updating the
;patcher file itself so it should be added to the
;exclude list.  Once the first public trials are
;over there are no plans to update the free version
;anyway.
exclude=ghostpatch.exe

;thumbs.db is a file made by more recent versions of
;windows which contains a cached thumbnail image of
;each picture file in a directory.  You do not need
;to send thumbs.db files to each client
exclude=thumbs.db

exclude=.bb
exclude=.bb_bak1
exclude=.bb_bak2
exclude=upx.exe

;ftp server & path to upload too.
;Username & login will be prompted for
;ftp:// prefix is not necessary
;If you do not specify the server the program will
;prompt you during the upload process.
ftpServer=www.bansheestudios.com

;list of ftp commands to issue before starting transfers.
;use these to navigate to the correct directory.
;default transfer mode is binary and hashing is on.
ftp=cd public_html
ftp=cd ghostpatch
ftp=cd gpplus

;Use 'ftpwait' to enter an ftp console mode where you
;can manually enter ftp commands after the auto transfer
;has finished.
ftpWait


Command line paramets are:

<no parameters>: operate in client mode
COMPILE: compile a CRC database but do not download
COMPRESS: compress files
UPLOAD: create an ftp script and execute it (deleted compressed file version after uploading)

Hey. Neat work, I keep meaning to write one of these.

I suppose this is a cool side-project to waterworld?

It's an extension of the system I wrote for Waterworld, now i'm adding compression i'll be using this in Waterworld as the patch downloader for the new version which I hope to release at the start of next month.

It's not so much a side project, as it is to help people out who are waiting on a product by a former BB community member who isn't delivering. Enough said of that in this thread though. I had it half written, opening it up to others and putting in some new features was the least I could do.

o.O *whistles*

Okay then :)

Wow Backy


... otherwise known as Mary Jane ?

The Freudians's are going to have a field day on that one.

Can't do any more tonight i've got to power off soon (Grandad asleep in adjacent room and i'm a loud typist).

Hopefully i'll get the decompression stuff coded tommorow.