Thor Patcher: The Official User Manual For Version 2.6.4
Thor Patcher: The Official User Manual For Version 2.6.4
Aeomin
Table of Contents
Requirements ............................................................................................................................................. 4
System Requirements ............................................................................................................................. 4
Other Requirements ............................................................................................................................... 4
File Structures ............................................................................................................................................. 5
Coordinate System ...................................................................................................................................... 6
Color System ............................................................................................................................................... 6
Configuration Files ...................................................................................................................................... 6
Syntax ..................................................................................................................................................... 6
Example .............................................................................................................................................. 6
The main.ini File .......................................................................................................................................... 7
The “Config”............................................................................................................................................ 7
[Config:Main] ...................................................................................................................................... 7
RootURL .......................................................................................................................................... 7
RemoteConfigFile ............................................................................................................................ 7
TimeOut .......................................................................................................................................... 7
StatusFile......................................................................................................................................... 7
DefaultGRF ...................................................................................................................................... 8
ClientEXE ......................................................................................................................................... 8
ClientParameter .............................................................................................................................. 8
FinishOnConnectionFailure ............................................................................................................. 8
List of GUI Components .......................................................................................................................... 8
Button ................................................................................................................................................. 8
Label ................................................................................................................................................... 8
NoticeBox ............................................................................................................................................ 8
ProgressBar ......................................................................................................................................... 8
Legacy Custom Button Support............................................................................................................... 8
Scripting ...................................................................................................................................................... 9
Introduction ............................................................................................................................................ 9
Functions ................................................................................................................................................ 9
Objects .................................................................................................................................................... 9
Requirements
System Requirements
Other Requirements
Thor Patcher
A webhost to serve patch files
Medium knowledge about PC
Graph designing (for design skin only)
Patience
File Structures
Patcher
• Thor.exe - Patcher raw program
Configuration
• /images
• Images of skin
• /Languages
• Predefined language files
• LanguageMap.ini
• A config file used to mapping language files
• config.ini
• Main config file
• ConfigGenerator.exe
• Packs data to file or into the patcher
Tools
• /ToolLang
• Language files for tools
• CheckSum.exe
• Used to keep patcher and game client up to date
• ThorGenerator.exe
• Creates patch files
• ToolConf.ini
• Ignore this file
Web
• /Data
• Where patch files are stored
• bg.jpg, notice.html, style.css
• Default page for notice page
• main.ini
• Remote config file (can be changed in config.ini)
• plist.txt
• Patch list file (can be changed in main.ini)
Changelog.txt
• Changelog; updates on every version
Coordinate System
Left
Top
Color System
Configuration Files
Syntax
Most user-editable configuration files are using the same syntax (except main.ini, which will be
upgraded later on). The configuration file is divided into sections with defined component and name
(optional) followed by the settings for that component. Property value can be either in integer or string.
Integer property value can put as is or in hexadecimal which starts with “$” (e.g. $FFFFFF). String
property value is enclosed with single quotation mark.
Single line comment can use the commonly used double slash (//) and block comment is
enclosed with {}.
Example
[Button:Something]
Default='images/button1.png'
OnHover='images/ button 2.png'
OnDown='images/ button 3.png'
Left=1
Top=2
In this example, I have defined a component with type “Button” and name “Something” with 5
component properties.
The main.ini File
Perhaps this the most important configuration file in Thor Patcher; it contains GUI component
settings and three fixed name Config component. The Config is a non-GUI component that used to setup
patcher’s basic behavior.
The “Config”
[Config:Main]
RootURL='http://127.0.0.1/patch/'
RemoteConfigFile='main.ini'
TimeOut=0
StatusFile='server.dat'
DefaultGRF='server.grf'
ClientEXE='game.exe'
ClientParameter='-1sak1'
FinishOnConnectionFailure=false
[Config:Window]
Style='none'
DragHandling=true
Background='images/bg.bmp'
FadeOnDrag=false
[Config:BGM]
File=
Loop=true
Volume=20
Directory=
[Config:Misc]
Title='Thor Patcher'
HideProgressBarWhenFinish=true
Sample Configuration
[Config:Main]
RootURL
The root URL of the remote configuration file and the patchlist file. It must start with http:// and ends
with /
Https is not supported at this moment.
RemoteConfigFile
The filename of the remote configuration file. Although the default name is main.ini you may use any
name you like as long as the content is not altered by webserver.
TimeOut
StatusFile
The filename of status file. Currently it is used to store the patch number. You are recommended to
change this to a name with your server name in order to reduce chance of confliction.
DefaultGRF
The default GRF filename. This will be the file to patch when you did not specify the GRF in ThorMaker.
ClientEXE
Your client filename. You are recommended to change this to something unique to your server.
Although it usually with .exe extension, you may use any extension even without one as your
preference.
If you are using third-party launcher such as anti-bot system, you may use that.
ClientParameter
By default, he KRO client requires a parameter passed through in order to run. If you removed that
restriction, this can be meaningless.
If you are using third-party launcher such as anti-bot system, you might required to use this according
their specification.
FinishOnConnectionFailure
When set to true, patcher will show behavior as completed patching if it cannot reach the webserver.
Button
Label
NoticeBox
ProgressBar
To make it work, make a button like above with exception of Hook, remove the Hook entry then add the
following.
Mode=1
o 1 – Opens an URL
o 2 – Opens a file
o 3 – Pops up message
o 4 – Minimizes patcher
o 5 – Closes patcher
Action=’http://thor-patcher.net’
o Applies for option 1-3
Scripting
Introduction
Functions
alert
Objects