Demoders Patcher: Configuration Syntax
DP_Configuration
About the configuration
The configuration files are ini-files.For more information about how ini-files work, please see here
dp.ini
[-]
This file is not a part of the default distribution, but is auto-generated if it does not exist.
Per 0.1.1, this file has the sections config, update_map and update_directory.
config_fixed:
This parameter must be set to 1, to indicate that the user has actually looked through the config and set the other parameters right.
package_autodownload_sizelimit:
This parameter defines how large a package can be without having to query the user to download the package manually.
The size is in bytes. The default setting is 4194304, ie. 4MiB
Example:
program_path:
Full or relative path to the Anarchy-Online directory.
workdir:
Path to the Anarchy-Online planetmap directory, relative to the Anarchy-Online directory.
delete_files:
Set to no to never delete files, set to confirm to allow deleting of files, but only after requesting the user to confirm deletion.
This setting can be overridden by the remote distribution. DP will never delete a file in the local distribution unless the user confirmed first.
Example:
delete_files:
Set to no to never delete files, set to confirm to allow deleting of files, but only after requesting the user to confirm deletion.
This setting can be overridden by the remote distribution. DP will never delete a file in the local distribution unless the user confirmed first.
Per 0.1.1, this file has the sections config, update_map and update_directory.
Section: config
Example: [config]
config_fixed="Set this to 1 to validate the config file"
package_autodownload_sizelimit="4194304"
config_fixed="Set this to 1 to validate the config file"
package_autodownload_sizelimit="4194304"
config_fixed:
This parameter must be set to 1, to indicate that the user has actually looked through the config and set the other parameters right.
package_autodownload_sizelimit:
This parameter defines how large a package can be without having to query the user to download the package manually.
The size is in bytes. The default setting is 4194304, ie. 4MiB
Section: update_map
This section defines information for updating planetmaps for the game Anarchy-Online.Example:
[update_map]
program_path="c:\program files\Funcom\Anarchy Online"
workdir="cd_image\textures\PlanetMap"
delete_files="confirm"
program_path="c:\program files\Funcom\Anarchy Online"
workdir="cd_image\textures\PlanetMap"
delete_files="confirm"
program_path:
Full or relative path to the Anarchy-Online directory.
workdir:
Path to the Anarchy-Online planetmap directory, relative to the Anarchy-Online directory.
delete_files:
Set to no to never delete files, set to confirm to allow deleting of files, but only after requesting the user to confirm deletion.
This setting can be overridden by the remote distribution. DP will never delete a file in the local distribution unless the user confirmed first.
Section: update_directory
This section defines settings for updates of directories.Example:
[update_directory]
delete_files="confirm"
delete_files="confirm"
delete_files:
Set to no to never delete files, set to confirm to allow deleting of files, but only after requesting the user to confirm deletion.
This setting can be overridden by the remote distribution. DP will never delete a file in the local distribution unless the user confirmed first.
Local task configuration
[-]
The local task configuration defines what work is to be done.
The user will have to pick one of the configuration files that is residing in the (DP_Directory)\cfg\ directory.
Example: cfg\mytask.ini
The file contains two main sections: config and task:# (where # is a intriger)
This should be a short, but accurate, description of what this taskfile does.
It will be displayed in the console when the user is asked to pick a task.
This section varies a lot, depending on what the task is.
Example:
updatefolder:
The folder inside the planetmap folder in AO's installation directory that should be updated.
patchserver:
Full path to the remote patchserver. Should have a trailing / or \.
Patchserver is a URL: /
Patchserver is on a *nix filesystem: /
Patchserver is on a Windows filesystem: \
distribution:
Path relative to the patchserver, where distribution.ini can be found.
Example:
gui_patchserver:
This is the patchserver containing the GUI (cd_image\gui\<gui_updatefolder>\)
gui_updatefolder
This is the subfolder of cd_image\gui\ that contains the GUIs XML files.
gui_distribution
The name of distribution.ini. This file contains information about the distribution. Relative to gui_patchserver.
texture_patchserver:
This is the patchserver containing the Textures (cd_image\textures\Archives\<texture_updatefolder>\)
texture_updatefolder
This is the subfolder of cd_image\textures\Archives\ that contains the GUIs texture files. (.UVGI and .UVGA)
texture_distribution
The name of distribution.ini. This file contains information about the distribution. Relative to texture_patchserver.
Example:
updatefolder:
The folder that should be updated. Either full path, or relative to the DP directory.
Do not specify this one if you want the user to provide the directory.
patchserver:
Full path to the remote patchserver. Should have a trailing / or \.
Patchserver is a URL: /
Patchserver is on a *nix filesystem: /
Patchserver is on a Windows filesystem: \
distribution:
Path relative to the patchserver, where distribution.ini can be found.
Example:
inputfolder:
This is the folder containing the data you want to make a distribution of.
outputfolder:
This is the folder where the patchserver content will be placed.
distribution:
Name of the distribution.ini (file containing distribution information). Relative to the output folder.
bin_constructor:
Name of the bin constructor configuration. This is used to store information about files that have been split into several minor files, when apropiate.
packages_ini:
File that contains package information. Packages must be made separately. What you specify here, must be relative to its location on the patchserver.
Example, related section mirror_files:
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for whole files.
The locations specified must contain the files that are in task:#'s outputfolder\files\ directory.
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section mirror_slices:
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for slices. (parts of files that have been split up)
The locations specified must contain the files that are in task:#'s outputfolder\slices\ directory.
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section mirror_packages:
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for packages. (zipfiles containing several slices)
The locations specified must contain the packages that are generated using the directive task="make_package".
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section ignore_files:
The # in the heading must be the same as the task:# it is related to.
This section specifies files and folders that are to be ignored when comparing and patching distributions.
This directive is used when making the distribution, and is relative to the task:#->inputfolder.
This directive is also passed on to the patch client, and is relative to the folder being patched on the client.
You may add as many files as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
A package is basically a zipfile containing the slices needed to update from one version to another version of the given file.
Example:
to_file:
Path to the file that is the updated version of the file.
outputfolder:
Folder to store the packaging results in.
package_info:
File that contains the package information. It will be placed inside outputfolder.
Example, related section: from_file:
This section contains a list of paths to the files that are going to be compared to task:#->to_file.
The packages will contain the slices that exists in to_file, but does not exist in from_file.
You may add as many files as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section: package_name:
This section contains a list of package names.
The keys in this section MUST be the same as the keys in the section from_file:#.
The user will have to pick one of the configuration files that is residing in the (DP_Directory)\cfg\ directory.
Example: cfg\mytask.ini
The file contains two main sections: config and task:# (where # is a intriger)
Section: config
description:This should be a short, but accurate, description of what this taskfile does.
It will be displayed in the console when the user is asked to pick a task.
Section: task:#
The # must be a intriger. The first tasks intriger should be 0, the second tasks intriger should be 1, and so on.This section varies a lot, depending on what the task is.
task="update_map"
This is used to update planetmaps for the game Anarchy-Online.Example:
[task:0]
task="update_map"
updatefolder="AoSL"
patchserver="http://aosl.flw.nu/patchserver/"
distribution="distribution.ini"
task="update_map"
updatefolder="AoSL"
patchserver="http://aosl.flw.nu/patchserver/"
distribution="distribution.ini"
updatefolder:
The folder inside the planetmap folder in AO's installation directory that should be updated.
patchserver:
Full path to the remote patchserver. Should have a trailing / or \.
Patchserver is a URL: /
Patchserver is on a *nix filesystem: /
Patchserver is on a Windows filesystem: \
distribution:
Path relative to the patchserver, where distribution.ini can be found.
task="update_gui"
This is used to update a AO custom gui.Example:
[task:0]
task="update_gui"
gui_patchserver="http://patchserver.flw.nu/dovve/gui/"
gui_updatefolder="default"
gui_distribution="distribution.ini"
texture_patchserver="http://patchserver.flw.nu/dovve/textures/"
texture_updatefolder="Notum4"
texture_distribution="distribution.ini"
task="update_gui"
gui_patchserver="http://patchserver.flw.nu/dovve/gui/"
gui_updatefolder="default"
gui_distribution="distribution.ini"
texture_patchserver="http://patchserver.flw.nu/dovve/textures/"
texture_updatefolder="Notum4"
texture_distribution="distribution.ini"
gui_patchserver:
This is the patchserver containing the GUI (cd_image\gui\<gui_updatefolder>\)
gui_updatefolder
This is the subfolder of cd_image\gui\ that contains the GUIs XML files.
gui_distribution
The name of distribution.ini. This file contains information about the distribution. Relative to gui_patchserver.
texture_patchserver:
This is the patchserver containing the Textures (cd_image\textures\Archives\<texture_updatefolder>\)
texture_updatefolder
This is the subfolder of cd_image\textures\Archives\ that contains the GUIs texture files. (.UVGI and .UVGA)
texture_distribution
The name of distribution.ini. This file contains information about the distribution. Relative to texture_patchserver.
task="update_directory"
This is used to update a given folder.Example:
¨np~task:0~/np~
task="update_directory"
updatefolder="./"
patchserver="http://patchserver.flw.nu/dp/"
distribution="distribution.ini"
task="update_directory"
updatefolder="./"
patchserver="http://patchserver.flw.nu/dp/"
distribution="distribution.ini"
updatefolder:
The folder that should be updated. Either full path, or relative to the DP directory.
Do not specify this one if you want the user to provide the directory.
patchserver:
Full path to the remote patchserver. Should have a trailing / or \.
Patchserver is a URL: /
Patchserver is on a *nix filesystem: /
Patchserver is on a Windows filesystem: \
distribution:
Path relative to the patchserver, where distribution.ini can be found.
task="make_distribution"
This is used to create a distribution of the files in a given folder.Example:
[task:0]
task="make_distribution"
inputfolder="./input/maps/AoSL"
outputfolder="./output/maps/AoSL"
distribution="distribution.ini"
bin_constructor="construction.ini"
packages_ini="packages.ini"
task="make_distribution"
inputfolder="./input/maps/AoSL"
outputfolder="./output/maps/AoSL"
distribution="distribution.ini"
bin_constructor="construction.ini"
packages_ini="packages.ini"
inputfolder:
This is the folder containing the data you want to make a distribution of.
outputfolder:
This is the folder where the patchserver content will be placed.
distribution:
Name of the distribution.ini (file containing distribution information). Relative to the output folder.
bin_constructor:
Name of the bin constructor configuration. This is used to store information about files that have been split into several minor files, when apropiate.
packages_ini:
File that contains package information. Packages must be made separately. What you specify here, must be relative to its location on the patchserver.
Example, related section mirror_files:
[mirror_files:#]
0="http://aosl.flw.nu/patchserver/files/"
0="http://aosl.flw.nu/patchserver/files/"
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for whole files.
The locations specified must contain the files that are in task:#'s outputfolder\files\ directory.
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section mirror_slices:
[mirror_slices:#]
0="http://aosl.flw.nu/patchserver/slices/"
0="http://aosl.flw.nu/patchserver/slices/"
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for slices. (parts of files that have been split up)
The locations specified must contain the files that are in task:#'s outputfolder\slices\ directory.
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section mirror_packages:
[mirror_slices:#]
0="http://aosl.flw.nu/patchserver/packages/"
0="http://aosl.flw.nu/patchserver/packages/"
The # in the heading must be the same as the task:# it is related to.
This section specifies mirrors for packages. (zipfiles containing several slices)
The locations specified must contain the packages that are generated using the directive task="make_package".
You may add as many locations as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section ignore_files:
[ignore_files:#]
0="test"
0="test"
The # in the heading must be the same as the task:# it is related to.
This section specifies files and folders that are to be ignored when comparing and patching distributions.
This directive is used when making the distribution, and is relative to the task:#->inputfolder.
This directive is also passed on to the patch client, and is relative to the folder being patched on the client.
You may add as many files as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
task="make_package"
This is used to make packages.A package is basically a zipfile containing the slices needed to update from one version to another version of the given file.
Example:
[task:0]
task="make_package"
to_file="./input/maps/AoSL0.2.7/AoSL.bin"
outputfolder="./output/packages/AoSL"
package_info="packages.ini"
task="make_package"
to_file="./input/maps/AoSL0.2.7/AoSL.bin"
outputfolder="./output/packages/AoSL"
package_info="packages.ini"
to_file:
Path to the file that is the updated version of the file.
outputfolder:
Folder to store the packaging results in.
package_info:
File that contains the package information. It will be placed inside outputfolder.
Example, related section: from_file:
[from_file:0]
0="./input/maps/AoSL0.1/AoSL.bin"
1="./input/maps/AoSL0.2/AoSL.bin"
0="./input/maps/AoSL0.1/AoSL.bin"
1="./input/maps/AoSL0.2/AoSL.bin"
This section contains a list of paths to the files that are going to be compared to task:#->to_file.
The packages will contain the slices that exists in to_file, but does not exist in from_file.
You may add as many files as you need, just make sure the key is a intriger. Duplicate keys result in only the last one of them being used.
Example, related section: package_name:
[package_name:1]
0="AoSL0.1_to_0.2.7"
1="AoSL0.2_to_0.2.7"
0="AoSL0.1_to_0.2.7"
1="AoSL0.2_to_0.2.7"
This section contains a list of package names.
The keys in this section MUST be the same as the keys in the section from_file:#.
Contributors to this page: Demoder
.
Page last modified on Tuesday 26 of August, 2008 03:09:44 CEST by Demoder
.
