This is a Delphi sample for working with the new file transfer code in 1.5.0/server 2.5.0. Includes a prebuilt executable which can download files from any server.
Creates a 'downloaded' folder where the EXE is run, and all downloaded files are placed in there.
For reference, the allowed file types are:
.png
.jpg
.bmp
.gif
.pms
(from the main server directory or any subfolder thereof)
with exceptions for:
logs/gamestat.txt
logs\gamestat.txt
Linux servers are, of course, case sensitive for filenames.
Protocol:
To server:
STARTFILES\r\n
<filename 1>\r\n
<filename 2>\r\n
...
<filename n>\r\n
ENDFILES\r\n
From server:
STARTFILES\r\n
<total size of all files as 4 byte integer>
<filename 1>\r\n
<size of file 1 as 4 byte integer>
<file 1 data>
<filename 2>\r\n
<size of file 2 as 4 byte integer>
<file 2 data>
...
<filename n>\r\n
<size of file n as 4 byte integer>
<file n data>
ENDFILES\r\n