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!

[Development] Soul of the Ultimate Nation - Server Emulator

Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
Hello, sorry for the long absence :):. Unfortunately, I do not have much new information on my part. I started implementing map file support but I miss some data about the format. When it comes to encryption, I'm not dealing with the implementation of algorithms yet, I am trying to bypass encryption in the original client and read unencrypted packets. I will let you know when I can read something. For now I have no more news :(:.
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
Hello, sorry for the long absence :):. Unfortunately, I do not have much new information on my part. I started implementing map file support but I miss some data about the format. When it comes to encryption, I'm not dealing with the implementation of algorithms yet, I am trying to bypass encryption in the original client and read unencrypted packets. I will let you know when I can read something. For now I have no more news :(:.

I respect your answer, but keep in mind that figuring out the encryption results in being able to read and implement retail server packets quicker. We would not have to guess or dig for answers elsewhere. I will continue to figure out the encryption algorithm, then I will create a proxy server to decrypt packets. I'm not sure on how you are doing it. Good luck.
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
@CwaniX

I updated TEA.java on my version of the project. I believe I did the pull request correctly. Let me know if nothing shows up for you or if you have any questions about what I changed. Thanks!
 
Initiate Mage
Joined
Oct 17, 2020
Messages
3
Reaction score
0
Thanks for the advise.
I have a way to inject everything i want into the WPK, regardless of size :) I can even add new stuff if i want.
Problem is that sometimes the the Client gets error messages if the translated file contains stuff the client cannot handle and crashes.
I am pretty sure i will get a solid full translated client in a week depending how much time i have.
@Alex Mgh @Ashime @ashlay

Hey there, could you be so nice and let me know how you injected translations into the wpk? Im trying to translate JP version of SUN, since me and few other folks still play it these days. KR version had all the .txt files in game folder and it was super easy to translate, but JP is different story. WPKTool doesnt work for me.
Please help.


Edit:
Ok, ive manage to extract one file - system.wpk, but there is no .txt with translations t_t.
And bigger file (7GB+) throw error.
 
Last edited:
Joined
Jun 27, 2010
Messages
939
Reaction score
1,193
@Alex Mgh @Ashime @ashlay

Hey there, could you be so nice and let me know how you injected translations into the wpk? Im trying to translate JP version of SUN, since me and few other folks still play it these days. KR version had all the .txt files in game folder and it was super easy to translate, but JP is different story. WPKTool doesnt work for me.
Please help.


Edit:
Ok, ive manage to extract one file - system.wpk, but there is no .txt with translations t_t.
And bigger file (7GB+) throw error.

Use those commands to merge your translation with the system.wpk
the files need to be exactly the same size as the extracted files.
wpktool -m Resource.wpk Data\messagetext.txt Inter\messagetext.txt
wpktool -m Resource.wpk Data\Interface\StringTable.txt Inter\Stringtable.txt
wpktool -m Resource.wpk Data\Interface\Stringtableforname.txt Inter\Stringtableforname.txt
wpktool -m Resource.wpk Data\Interface\StringTableForProgram.txt Inter\StringTableForProgram.txt
 
Initiate Mage
Joined
Oct 17, 2020
Messages
3
Reaction score
0
Use those commands to merge your translation with the system.wpk
the files need to be exactly the same size as the extracted files.
wpktool -m Resource.wpk Data\messagetext.txt Inter\messagetext.txt
wpktool -m Resource.wpk Data\Interface\StringTable.txt Inter\Stringtable.txt
wpktool -m Resource.wpk Data\Interface\Stringtableforname.txt Inter\Stringtableforname.txt
wpktool -m Resource.wpk Data\Interface\StringTableForProgram.txt Inter\StringTableForProgram.txt


Thank you a lot, i've manage to translate JP client, its not perfect, but its night and day.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
They way you can inject almost any File in the wpk is by using the memory addresses instead of the filenames.
So the command would be wpktool.exe -m Resource.wpk messagetext.txt [address]
then the size of the file doesnt matter.

you can get the addresses by calling wpktool.exe -l
Its nice to put that into a batch file and echo the output to a txt file so you can search it better.

I am currently still working on the Server. I made some good progress.

What is done so far:
Authentification,
Entering the Game,
Moving to ALL Maps (not tried Missions yet).
I can create Items including(Grade,Enchant,Devine,Sockets,9 Grade Boni)
I can equip those items.
I can Drop those Items into the world and Drop Heim
I can Buy and Sell items with merchants
I can spawn any Monster that i want (achieved this today and had some fun spawning Bishop in Etherain)
those mobs dont attack yet tho.

I am currently working on Auto Attacking.


I made my own Server in C# because i was to dumb to understand the Project Structure and the new kind of Java that CwaniX used.

As its still early and the main focus is figuring out the packets I hope this doesnt upset anybody.

The Server is a Master Type Server and a Windows From, so you can start/stop/restart it with 1 Button.
The only thing you need is an SQL Server.

If there are more people willing to help I will gladly share my Github after I did some Code cleanup :p
xsaidou if you upload or tell me where you downloaded your Client i would be happy.

Greetings Nightmore
 
Joined
Jul 1, 2008
Messages
421
Reaction score
39
They way you can inject almost any File in the wpk is by using the memory addresses instead of the filenames.
So the command would be wpktool.exe -m Resource.wpk messagetext.txt [address]
then the size of the file doesnt matter.

you can get the addresses by calling wpktool.exe -l
Its nice to put that into a batch file and echo the output to a txt file so you can search it better.

I am currently still working on the Server. I made some good progress.

What is done so far:
Authentification,
Entering the Game,
Moving to ALL Maps (not tried Missions yet).
I can create Items including(Grade,Enchant,Devine,Sockets,9 Grade Boni)
I can equip those items.
I can Drop those Items into the world and Drop Heim
I can Buy and Sell items with merchants
I can spawn any Monster that i want (achieved this today and had some fun spawning Bishop in Etherain)
those mobs dont attack yet tho.

I am currently working on Auto Attacking.


I made my own Server in C# because i was to dumb to understand the Project Structure and the new kind of Java that CwaniX used.

As its still early and the main focus is figuring out the packets I hope this doesnt upset anybody.

The Server is a Master Type Server and a Windows From, so you can start/stop/restart it with 1 Button.
The only thing you need is an SQL Server.

If there are more people willing to help I will gladly share my Github after I did some Code cleanup :p
xsaidou if you upload or tell me where you downloaded your Client i would be happy.

Greetings Nightmore

Thats a super progress!!!Would be very useful if you would start to share the github,and finally have a working emulator!
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
working is kind of an over statement :p
But yeah i tried to build the server focusing on figuring out packets.
The Server will log all unkown packets to the Console and all known Packets to a file (one logfile for each kind of packet).
This way you can run some tests in the client and inspect all the packets later.

This week i will focus on stability of the Server and readability of the Code, aswell as some basic instructions how to handle things.

Remember that until now there is not alot of server logic yet.
My first goal was to figure out packets so the game can basicly be run as a single player game.
Thats because most of the synchronisation logic needs to have the rest of the logic already implemented.
An example for that would be that spawning monsters and items into the game is hardcoded.
Since this is a windows Form i will try to add some Buttons for specific actions.


Then client i am running is the 1007 chinese client that i translated 80% to english, some missing IDs and a couple of Quests, but most are in english. I will still gladly see if the JP Client is as easy to handle or even better.

Anyway i will try to make the Server as easy to handle as i can, so everyone can start using it.
One thing i saldy cannot make easier is installing an Sql Server but this should be pretty easy with SQl Express etc.

Greetings Nightmore
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
@Alex Mgh
Did you figure out the packet encryption or did you use a bypassed client?
 
Last edited:
Initiate Mage
Joined
Oct 29, 2020
Messages
1
Reaction score
0
Hi , im just a bypasser but i've played sunonline in its glory days. And would like to play it again if possible. And saw the amazing effort that you guys try to do. There actually is an client for the game on webzen but you pretty much get stuck at some point. How is the difficult work going. Will it take a long time to get the server up ?
 
Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
working is kind of an over statement :p
But yeah i tried to build the server focusing on figuring out packets.
The Server will log all unkown packets to the Console and all known Packets to a file (one logfile for each kind of packet).
This way you can run some tests in the client and inspect all the packets later.

This week i will focus on stability of the Server and readability of the Code, aswell as some basic instructions how to handle things.

Remember that until now there is not alot of server logic yet.
My first goal was to figure out packets so the game can basicly be run as a single player game.
Thats because most of the synchronisation logic needs to have the rest of the logic already implemented.
An example for that would be that spawning monsters and items into the game is hardcoded.
Since this is a windows Form i will try to add some Buttons for specific actions.


Then client i am running is the 1007 chinese client that i translated 80% to english, some missing IDs and a couple of Quests, but most are in english. I will still gladly see if the JP Client is as easy to handle or even better.

Anyway i will try to make the Server as easy to handle as i can, so everyone can start using it.
One thing i saldy cannot make easier is installing an Sql Server but this should be pretty easy with SQl Express etc.

Greetings Nightmore

Wow, it's nice to see that the topic is still alive :8:. Unfortunately I have too many commercial projects at the moment, therefore I am not able to develop my own, but i can't wait to see your code :p:.
 
Initiate Mage
Joined
Oct 13, 2020
Messages
3
Reaction score
0
Hello im looking forward for your server up and thanks you for your commitment in realizations
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
If your client is using GameData.dat, then you can change the LanguageType option to the follow:
2 = Chinese, 3 = Taiwanese, 4 = Japanese, 5 = German, 6 = Russian.

This will force the game to load the corresponding language files, if the language files exists in the Resource.wpk. I'm not sure what the option is for Korean and English. Option 0, 1, and 7 don't seem to change anything on the Japan client.
 
Initiate Mage
Joined
Dec 20, 2020
Messages
1
Reaction score
0
Hi guys! I recently found an old DvD with what I think is an ep2 client with Setup.exe and GameStarter-1024. If you think you could use it just tell me and i will upload the files. I can say I really admire your dedication for this game and hope you will finally manage to get it up and running.
 
Initiate Mage
Joined
Dec 27, 2020
Messages
1
Reaction score
0
Looking forward to seeing this server/client to be up and running. Would gladly pay money to play this game again, especially Episode 1. Make it a buy to play for your efforts of trying to get it running again. Good luck you guys. I'm glad there are others who see how amazing this game is.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
Hey guys long time no see :)

So I recently had some time to work some more on the Server.
I finally managed to get Attacking to work. Next thing would be Skills and Buffs/Debuffs.

If that would work there would be like 80% of the core game done, since that basicly is the attacking, getting attacked, receive Exp etc.

And since i never actually showed you guys something here is a little video of me hitting Bishop in Tringel with my Fists :p

https://youtu.be/e50mdaKr760
 
Back
Top