Ncpatch: Difference between revisions
imported>Kitsune (historical) No edit summary |
imported>Aggelakis (historical) m (overview, formatting, wikipedia: links) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
ncpatch is the format used by | == Overview == | ||
'''ncpatch''' is the format used by [[NCsoft]] to distribute patches for City of Heroes using the [[Game Client|NCsoft Launcher]] utility. | |||
== Format Description == | |||
The NCsoft Launcher distributes patches as compressed files with the extension ''ncpatch''. The files are compressed using the [[wikipedia:RAR|RAR format]] (literally just renamed from ''.rar'' to ''.ncpatch''). | |||
Within the archive at the root is a folder with the same name as the containing archive, usually in the format of: '''CityOfHeroes_Main_''$FromVersion''To''$ToVersion''''', where ''$FromVersion'' is the version that is to be patched, and ''$ToVersion'' is the desired resulting/final version. Inside this folder is an xml file named ''PatchManifest.xml'' which instructs the NCsoft Launcher on how it should apply the patch, along with miscellaneous information such as [[wikipedia:MD5|MD5 checksums]] and file lengths (both pre- and post- patch). | |||
Along with the ''PatchManifest.xml'' file, in the examined patch, is a folder named ''ProductFiles'' (defined in the manifest- name might be variable). This folder contains [[wikipedia:Xdelta|Xdelta based]] patches with the extension ''.X-D-E-L-T-A''. Based on an examination of ''PatchManifest.xml'', it would appear that only the changed files are named, and ''not'' with the patch file itself not explicitly named. The name of the patch file can be surmised based on the individual 'Path' elements defined in the manifest, with the extra extension ''.X-D-E-L-T-A'', this makes it fairly simple simple to figure out what to patch, even if the manifest is ignored. | |||
It should be fairly trivial to ''manually'' patch a City of Heroes installation, using only a program that can open RAR archives (such as WinRAR or the open source 7zip), along with the xdelta utility (a copy is actually present in the root of the NCsoft Launcher directory). | |||
== Example Layout of a Patch == | |||
This patch would update City of Heroes from version ''1950.201102120907.1.0'' to version ''1950.201102230015.1.0''. This patch will modify a total of 12 files, 2 in the City of Heroes installation directory, and 10 in the piggs subdirectory. | |||
CityOfHeroes_Main_1950.201102120907.1.0To1950.201102230015.1.0.ncpatch | |||
-> CityOfHeroes_Main_1950.201102120907.1.0To1950.201102230015.1.0 | |||
-> PatchManifest.xml | |||
-> ProductFiles | |||
-> version.ini.X-D-E-L-T-A | |||
-> cityofheroes.exe.X-D-E-L-T-A | |||
-> piggs | |||
-> bin.pigg.X-D-E-L-T-A | |||
-> geom.pigg.X-D-E-L-T-A | |||
-> geomBC.pigg.X-D-E-L-T-A | |||
-> geomV1.pigg.X-D-E-L-T-A | |||
-> geomV2.pigg.X-D-E-L-T-A | |||
-> mapsMissions.pigg.X-D-E-L-T-A | |||
-> misc.pigg.X-D-E-L-T-A | |||
-> player.pigg.X-D-E-L-T-A | |||
-> playerFemHuge.pigg.X-D-E-L-T-A | |||
-> playerMale.pigg.X-D-E-L-T-A | |||
[[Category: Game Client]] |
Latest revision as of 02:31, 16 March 2011
Overview
ncpatch is the format used by NCsoft to distribute patches for City of Heroes using the NCsoft Launcher utility.
Format Description
The NCsoft Launcher distributes patches as compressed files with the extension ncpatch. The files are compressed using the RAR format (literally just renamed from .rar to .ncpatch).
Within the archive at the root is a folder with the same name as the containing archive, usually in the format of: CityOfHeroes_Main_$FromVersionTo$ToVersion, where $FromVersion is the version that is to be patched, and $ToVersion is the desired resulting/final version. Inside this folder is an xml file named PatchManifest.xml which instructs the NCsoft Launcher on how it should apply the patch, along with miscellaneous information such as MD5 checksums and file lengths (both pre- and post- patch).
Along with the PatchManifest.xml file, in the examined patch, is a folder named ProductFiles (defined in the manifest- name might be variable). This folder contains Xdelta based patches with the extension .X-D-E-L-T-A. Based on an examination of PatchManifest.xml, it would appear that only the changed files are named, and not with the patch file itself not explicitly named. The name of the patch file can be surmised based on the individual 'Path' elements defined in the manifest, with the extra extension .X-D-E-L-T-A, this makes it fairly simple simple to figure out what to patch, even if the manifest is ignored.
It should be fairly trivial to manually patch a City of Heroes installation, using only a program that can open RAR archives (such as WinRAR or the open source 7zip), along with the xdelta utility (a copy is actually present in the root of the NCsoft Launcher directory).
Example Layout of a Patch
This patch would update City of Heroes from version 1950.201102120907.1.0 to version 1950.201102230015.1.0. This patch will modify a total of 12 files, 2 in the City of Heroes installation directory, and 10 in the piggs subdirectory.
CityOfHeroes_Main_1950.201102120907.1.0To1950.201102230015.1.0.ncpatch -> CityOfHeroes_Main_1950.201102120907.1.0To1950.201102230015.1.0 -> PatchManifest.xml -> ProductFiles -> version.ini.X-D-E-L-T-A -> cityofheroes.exe.X-D-E-L-T-A -> piggs -> bin.pigg.X-D-E-L-T-A -> geom.pigg.X-D-E-L-T-A -> geomBC.pigg.X-D-E-L-T-A -> geomV1.pigg.X-D-E-L-T-A -> geomV2.pigg.X-D-E-L-T-A -> mapsMissions.pigg.X-D-E-L-T-A -> misc.pigg.X-D-E-L-T-A -> player.pigg.X-D-E-L-T-A -> playerFemHuge.pigg.X-D-E-L-T-A -> playerMale.pigg.X-D-E-L-T-A