//core_file - this internal config file only store whats required, //but core_file is a remote config file (does different thing than internal one) //Relative address, not FULL URL! core_file=main.ini
//============================= // File below is on local disk //============================= [Local] //status_file - BAD NAMED.. used store informations such as last patch id etc, //it should be more "advanced" if works as orignal planned.. status_file=my.ro
//grf_file - self explained grf_file=myro.grf
//client_file - self explained, it's GAME EXE not patcher's client_file=MyRo.exe
//client_parameter - should be self explained.. client_parameter=-1sak1
//============================= // Custom Skin controls //============================= [skin] //windows_mode - How should windows presented? // None - Borderless window // Single - Window cannot resized // Sizeable - ... what it says, can not resize when windows_autosize set to true / 1 window_style=none
//windows_autosize - if set to 1, window size will automatically change depend on content size windows_autosize=true
// Should be self explained, width and height //windows_autosize set to 0 for this to work // Min: 1 Max: 10000 (I don't think you should make that big) window_width= window_height=
// If set to true, user able to drag window by click images (background) // recommended to true especially for boarderless window window_handle_move=true
// Image for background (DOES NOT READ FROM DIRECTORY OF PATCHER, the config packer will put image inside patcher too) // Support : jpg bmp // Note : patcher determine image format by filename extension, use with care! background_file=images/bg.bmp // overall transparency (not used yet) //transparency=255
//New style of progress bar, it used image. NewProgressBar=false
//Image of progress bar(only when ProgressBar set to true, currently only BMP & JPG supported) ProgressBar_back= ProgressBar_front=
// how big is progress bar? (only when NewProgressBar set to false) progress_bar_width=478 progress_bar_height=16
// Position of progress bar progress_bar_left=74 progress_bar_top=316
// Status message width (the one shows what patcher currently doing) // no height status_width=
// Text alignment // Left , Center , Right status_alignment=center
// Position status_left=132 status_top=318
// control notice (News box? Mini web browser? you name it) notice_width=0 notice_height=0 notice_left=18 notice_top=94
// For start button start_normal=images/start1.png start_hover=images/start2.png start_down=images/start3.png
start_left=63 start_top=225
// For Exit button exit_normal=images/Exit1.png exit_hover=images/Exit2.png exit_down=images/Exit3.png
exit_left=435 exit_top=225
// for cancel button cancel_normal=images/cancel1.png cancel_hover=images/cancel2.png cancel_down=images/cancel3.png
cancel_left= cancel_top=
// How many custom buttons you want to create? // Can create up to 255 buttons (Plenty enough) buttons=1
// - Custom buttons - //As you can see below, it's not that hard to make custom buttons //the number after "button" is id(depends on how many you set in buttons) // Again, note that all image files will be embed into patcher.
// _normal - image file when button is in normal status //button1_normal= // _hover - image file when user hover on it //button1_hover= // _down - image file when user mouse down on it //button1_down= // _left/_top - position of button //button1_left= //button1_top= // _mode - mode for button // 0 = open URL // 1 = Launch file/program // 2 = Message box // 3 = Reserved //button1_mode= // _action - depend on what you set in _mode, this may vary // ex. _mode = 0 , _action=http://google.com // which makes user open that URL address after click that button //button1_action=
[star Clone] //Start button clone, i name it star clone because its better name XD // How many start button clones you wanted? // Again, up to 255 buttons=0
// very similar to custom buttons
// _normal - image file when button is in normal status //button1_normal= // _hover - image file when user hover on it //button1_hover= // _down - image file when user mouse down on it //button1_down= // _left/_top - position of button //button1_left= //button1_top= // _file - Client file //button1_file= //_parameter - Client parameter //button1_parameter=-1sak1
[Misc]
//Background music, leave empty to disable (mp3) bgm=
//Loop play backgroun music? (play over and over) BGMLoop=False
//Set to true if you want patcher allow to start game when unable to connect webserver Continue On Connection Fail=False
[Language] //Legacy Language entries. // Has lower priority than language.ini //Entries marked with *: symbol "%" needs to write as "%%" (without quote)
getting_info=Getting Information...
update_patcher=Updating...
update_client=Updating...
repacking=Repacking...
saving_res=Saving...
//* getting_file=Getting file %s.
//* need_defrag=Data fragment reached %u%%, would you like to defrag now?
defraging=Defragment in process...
confirmation=Waiting Confirmation...
client_locked=Client Application is locked
failed_to_communicate=Failed to communicate with server
//* failed_to_get=Failed to get %s
//===================== //This is END of config // BE CREATIVE //=====================
//if not, what message should appear? policy_msg=Server is taking a nap.
//unused, may needed in future version=1
[Patch] //use CheckSum tool, hash for client, // used to make sure client exe is up to date // (leave empty to disable this feature) ClientSum=
//same thing for patcher itself =) PatcherSum=
//[OLD] // if hash different than above, which file should replace? // Note: these files should put same place as patch file (file_url in internal config) //Relative address, not FULL URL! // To make these work, ClientSum and/or PatcherSum can't be empty ClientURL= PatcherURL=
//Same to ClientURL & PatcherURL //Except this is compressed file //ClientURL & PatcherURL still there for backward compatibility. ClientPath= PatcherPath=
// self explained.. PatchList=plist.txt
[stars] // Shining o.O (Anyways, its for start button clones) // Since orignal client has check sum.. why not for clones? XD
//How many? (it should same as amount of start button clone, but of course it's your choice) clients=0
// _sum - checksum, use CheckSum tool. //client1_sum=
// _URL - address? [OLD, now for "recycle use", it became exe file name] //client1_URL=
// _Path - Path for file (compressed) //if you use _Path, then use _URL as exe file name (eg. YourRo.exe). //Since _Path can be anything.. //client1_Path=
[Misc] //Set a limit for fragment, when reach this limit, patcher will ask user to defrag FragmentLimit=50
//Extra features.. // Currently if set to 1, patcher will ignore everything and enable Play button (aka, force start) OpBit=0
Screenshot of the file setup SS:
I have tried everything and I am so lost. Any help would be super massively and greatly appreciated!!
SOLVED: problem was a missing '/' at the end of the folder path
Question
Dori
So, here I am after 100 hours of struggling with this shit.

I need someone's help, cuz I have NO CLUE on what the heck is wrong!
First, the problem:
It stay stuck like that....forever.
This is what I have in the config.ini:
// Thor Patcher Internal Config File
// Note: any entry leaves as blank will use default value
// True = 1
// False = 0
//base_url - everything except patch files will read from here
base_url=http://myserver.com/Thor/
//file_url - patch files should ALL put here.
// o HTTP:
// %5Burl=http://domain.com/dir/%5Dhttp://domain.com/dir/%5B/url%5D
// o FTP:
// %5Burl=ftp://domain.com/dir/%5Dftp://domain.com/dir/%5B/url%5D
// o With %5BPassword%5D %5BPort%5D
// %5Burl=ftp://username:[email protected]:port/dir/%5Dftp://username:%5Bemail protected%5D<script cf-hash='f9e31' type="text/javascript"> /* */</script>:port/dir/%5B/url%5D
// o Note: username is required if want put password, otherwise everything is optional.
file_url=http://myserver/Thor/data
//notice_file - self explained
//-------------
//if you still don't understand the concept:
// if base_url is %5Burl=http://yourdomain.com/patcher/%5Dhttp://yourdomain.com/patcher/%5B/url%5D
// then notice file address will be
// %5Burl=http://yourdomain.com/patcher/Notice.html%5Dhttp://yourdomain.com/patcher/Notice.html'>
//base_url - everything except patch files will read from here
base_url=http://myserver.com/Thor/
//file_url - patch files should ALL put here.
// o HTTP:
// %5Burl=http://domain.com/dir/%5Dhttp://domain.com/dir/%5B/url%5D
// o FTP:
// %5Burl=ftp://domain.com/dir/%5Dftp://domain.com/dir/%5B/url%5D
// o With %5BPassword%5D %5BPort%5D
// %5Burl=ftp://username:[email protected]:port/dir/%5Dftp://username:%5Bemail protected%5D<script cf-hash='f9e31' type="text/javascript"> /* */</script>:port/dir/%5B/url%5D
// o Note: username is required if want put password, otherwise everything is optional.
file_url=http://myserver/Thor/data
//notice_file - self explained
//-------------
//if you still don't understand the concept:
// if base_url is %5Burl=http://yourdomain.com/patcher/%5Dhttp://yourdomain.com/patcher/%5B/url%5D
// then notice file address will be
// %5Burl=http://yourdomain.com/patcher/Notice.html%5Dhttp://yourdomain.com/patcher/Notice.html
//-------------
//Should be relative address instead FULL URL
//-------------
notice_file=notice.html
//core_file - this internal config file only store whats required,
//but core_file is a remote config file (does different thing than internal one)
//Relative address, not FULL URL!
core_file=main.ini
//=============================
// File below is on local disk
//=============================
[Local]
//status_file - BAD NAMED.. used store informations such as last patch id etc,
//it should be more "advanced" if works as orignal planned..
status_file=my.ro
//grf_file - self explained
grf_file=myro.grf
//client_file - self explained, it's GAME EXE not patcher's
client_file=MyRo.exe
//client_parameter - should be self explained..
client_parameter=-1sak1
//=============================
// Custom Skin controls
//=============================
[skin]
//windows_mode - How should windows presented?
// None - Borderless window
// Single - Window cannot resized
// Sizeable - ... what it says, can not resize when windows_autosize set to true / 1
window_style=none
//windows_autosize - if set to 1, window size will automatically change depend on content size
windows_autosize=true
// Should be self explained, width and height
//windows_autosize set to 0 for this to work
// Min: 1 Max: 10000 (I don't think you should make that big)
window_width=
window_height=
// If set to true, user able to drag window by click images (background)
// recommended to true especially for boarderless window
window_handle_move=true
// Image for background (DOES NOT READ FROM DIRECTORY OF PATCHER, the config packer will put image inside patcher too)
// Support : jpg bmp
// Note : patcher determine image format by filename extension, use with care!
background_file=images/bg.bmp
// overall transparency (not used yet)
//transparency=255
//New style of progress bar, it used image.
NewProgressBar=false
//Image of progress bar(only when ProgressBar set to true, currently only BMP & JPG supported)
ProgressBar_back=
ProgressBar_front=
// how big is progress bar? (only when NewProgressBar set to false)
progress_bar_width=478
progress_bar_height=16
// Position of progress bar
progress_bar_left=74
progress_bar_top=316
// Status message width (the one shows what patcher currently doing)
// no height
status_width=
// Text alignment
// Left , Center , Right
status_alignment=center
// Position
status_left=132
status_top=318
// control notice (News box? Mini web browser? you name it)
notice_width=0
notice_height=0
notice_left=18
notice_top=94
// For start button
start_normal=images/start1.png
start_hover=images/start2.png
start_down=images/start3.png
start_left=63
start_top=225
// For Exit button
exit_normal=images/Exit1.png
exit_hover=images/Exit2.png
exit_down=images/Exit3.png
exit_left=435
exit_top=225
// for cancel button
cancel_normal=images/cancel1.png
cancel_hover=images/cancel2.png
cancel_down=images/cancel3.png
cancel_left=
cancel_top=
// How many custom buttons you want to create?
// Can create up to 255 buttons (Plenty enough)
buttons=1
// - Custom buttons -
//As you can see below, it's not that hard to make custom buttons
//the number after "button" is id(depends on how many you set in buttons)
// Again, note that all image files will be embed into patcher.
// _normal - image file when button is in normal status
//button1_normal=
// _hover - image file when user hover on it
//button1_hover=
// _down - image file when user mouse down on it
//button1_down=
// _left/_top - position of button
//button1_left=
//button1_top=
// _mode - mode for button
// 0 = open URL
// 1 = Launch file/program
// 2 = Message box
// 3 = Reserved
//button1_mode=
// _action - depend on what you set in _mode, this may vary
// ex. _mode = 0 , _action=http://google.com
// which makes user open that URL address after click that button
//button1_action=
button1_normal=images/home1.png
button1_hover=images/home2.png
button1_down=images/home3.png
button1_left=230
button1_top=225
button1_mode=0
button1_action=http://rakuen-ro.com
[star Clone]
//Start button clone, i name it star clone because its better name XD
// How many start button clones you wanted?
// Again, up to 255
buttons=0
// very similar to custom buttons
// _normal - image file when button is in normal status
//button1_normal=
// _hover - image file when user hover on it
//button1_hover=
// _down - image file when user mouse down on it
//button1_down=
// _left/_top - position of button
//button1_left=
//button1_top=
// _file - Client file
//button1_file=
//_parameter - Client parameter
//button1_parameter=-1sak1
[Misc]
//Background music, leave empty to disable (mp3)
bgm=
//Loop play backgroun music? (play over and over)
BGMLoop=False
//Set to true if you want patcher allow to start game when unable to connect webserver
Continue On Connection Fail=False
[Language]
//Legacy Language entries.
// Has lower priority than language.ini
//Entries marked with *: symbol "%" needs to write as "%%" (without quote)
getting_info=Getting Information...
update_patcher=Updating...
update_client=Updating...
repacking=Repacking...
saving_res=Saving...
//*
getting_file=Getting file %s.
//*
need_defrag=Data fragment reached %u%%, would you like to defrag now?
defraging=Defragment in process...
confirmation=Waiting Confirmation...
client_locked=Client Application is locked
failed_to_communicate=Failed to communicate with server
//*
failed_to_get=Failed to get %s
//=====================
//This is END of config
// BE CREATIVE
//=====================
Here is what I have on main.ini:
//Thor Patcher remote config file
[Main]
//Allow patching or no?
allow=true
//if not, what message should appear?
policy_msg=Server is taking a nap.
//unused, may needed in future
version=1
[Patch]
//use CheckSum tool, hash for client,
// used to make sure client exe is up to date
// (leave empty to disable this feature)
ClientSum=
//same thing for patcher itself =)
PatcherSum=
//[OLD]
// if hash different than above, which file should replace?
// Note: these files should put same place as patch file (file_url in internal config)
//Relative address, not FULL URL!
// To make these work, ClientSum and/or PatcherSum can't be empty
ClientURL=
PatcherURL=
//Same to ClientURL & PatcherURL
//Except this is compressed file
//ClientURL & PatcherURL still there for backward compatibility.
ClientPath=
PatcherPath=
// self explained..
PatchList=plist.txt
[stars]
// Shining o.O (Anyways, its for start button clones)
// Since orignal client has check sum.. why not for clones? XD
//How many? (it should same as amount of start button clone, but of course it's your choice)
clients=0
// _sum - checksum, use CheckSum tool.
//client1_sum=
// _URL - address? [OLD, now for "recycle use", it became exe file name]
//client1_URL=
// _Path - Path for file (compressed)
//if you use _Path, then use _URL as exe file name (eg. YourRo.exe).
//Since _Path can be anything..
//client1_Path=
[Misc]
//Set a limit for fragment, when reach this limit, patcher will ask user to defrag
FragmentLimit=50
//Extra features..
// Currently if set to 1, patcher will ignore everything and enable Play button (aka, force start)
OpBit=0
Screenshot of the file setup SS:
I have tried everything and I am so lost. Any help would be super massively and greatly appreciated!!
SOLVED: problem was a missing '/' at the end of the folder path
Edited by Phenex1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.