Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Release] Custom Client Launcher (+Patcher)

Newbie Spellweaver
Joined
Dec 18, 2013
Messages
37
Reaction score
7
Dear Luna private server developers,
I didn't like how my luna launcher from the source didn't compile and fixing it seemed like a pain so I decided to make my own simple new launcher. First thing - I'm not a professional programmer, never even studied programming but I have made this launcher in C# and decided to share it with others. I'm providing the launcher as is - just the .exe with the necessary files and instructions, there will be no source for this. Make sure you have .net framework 4.0 for this. Tested only for Luna Plus. Now here's the thing:

How does it work?
Both:
The Launcher itself in both versions supports theme and resolution changes as well as a window mode selection. On clicking the save button it will apply the selected settings, if you click the Start button it will apply the selected settings AND start the LUNAClient.exe with the default arguments "anrgideoqkr". If you changed them in your LUNAClient.cpp you might want to change them back if you wish to use the launcher or disable the need of argumets in your LUNAClient.cpp.
Patcher:
The Launcher with update function will check your specified FTP server if it has a connection with it, then it will check the version.ver file on your FTP to get the version number and compare it to the one in launcher.ver. If they are different - it will download the update, if they are the same - it will allow you to start the game. The updating process downloads a zip file from your FTP, the one you uploaded and will save it in a new folder called Temp. After the download finishes the Launcher will extract the contents of the .zip file directly to the luna folder and replace everything so technically you can upload your entire client folder contents and it will replace them all. Keep in mind that the version check only checks if its the same version or different, it doesnt check if its 2 lower or 5 lower or something, this means anything you want to update would need to be in every next package too. For example if you modify Itemlist.bin and make a patch of that then later you modify Skilllist.bin and wish to make a second patch - you should include both files in the second patch to make sure anyone who didnt yet download the first patch will get everything up to date. Personally I always include a System/Resource folder in all of my patches. The Launcher will show you the download progress but it may stop responding during the unzipping process for a short moment - it depends on how fast the processor is and how big is the zip package(and of course the HDD speed). After the patching and unzipping is done, the Start button becomes enabled and you may play.

How to Setup?
1. Copy the contents of the folder to your LUNA client folder (copy only one of them depending if you want a launcher with patching or not).
2. If you took the one without update, then thats it, make a shortcut to the launcher, not LUNAClient and its all good.
3. If you took the one with update you will need to configure it:
a) version.ver - here you need to put your new version as a single line text string and then upload to your FTP server
b) launcher.ini - here you set your FTP server address, first line is the general address to your FTP server, to check if its online, the second line is the link to the version.ver file on your FTP.
c) Ionic.Zip.dll - library for unzipping, must be there next to the Launcher to make it work
d) launcher.ver - here you don't really need to change anything, generally this file is the local client version and will be updated as the updates are applied
4. Upload the version.ver to your FTP server as well as a corresponding .zip file with the same file name as the one in version.ver (eg. VERSION000001.zip)

The File:
View attachment Launcher.rar
Virus Scan:
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Dec 18, 2013
Messages
37
Reaction score
7
Naah as it says it will only replace files, not open and add to packages. I would need to include more dll for that and it would not be so simple anymore.
 
Newbie Spellweaver
Joined
Mar 12, 2014
Messages
99
Reaction score
1
You can add a program to your launcher with the option to pak the files(run it after your launcher download the updates and only if you make a pak update) o.o
 
Newbie Spellweaver
Joined
Nov 29, 2013
Messages
62
Reaction score
0
Are you willing to update this with more features later on? monkeyslippery has a good idea with the pak files. Those files are big especially if you only update one thing in them.
 
Newbie Spellweaver
Joined
Dec 18, 2013
Messages
37
Reaction score
7
I don't plan anything to be honest. But also I'm not saying I won't. Dunno. To add the .pak features I would need it to limit the update download only to what is necessary and this would require to remake it basically.
 
Joined
Mar 3, 2008
Messages
408
Reaction score
15
well it seems that your current launcher do this

1. check version
2. download versionxx.zip
3. extract versionxx.zip
4. version OK, run game

the only thing you need to change is
4. check for .pak folders "DATA\3DDATA\CHARACTER" for character.pak, etc
5. call the packing function in the original launcher
6. version OK, run game

well easier said than to be done since i'm not the one doing it :p
 
Newbie Spellweaver
Joined
Dec 18, 2013
Messages
37
Reaction score
7
The changes I would need to make are: Call to the packing dll which lets me open, browse, unpack and repack the .pak files (this would allow me to manage the contents of the .pak files), change the way to check for update (I would need the patcher to make a list of files that need to be updated for each version number to avoid downloading too many, for example the .pak files contents because the whole thing is very big in size), last thing only download the necessary files for the corresponding version and replace the proper bins as well as the necessary .pak contents. All of this would be besically remaking all of the launcher, maybe except a few functions like handling the patch server connection and overall would make this not a simple launcher anymore.
 
Back
Top