//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 PhenexLink to comment
Share on other sites
1 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.