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

Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
@CwaniX

Thank you. I am still learning GitHub.



What must you do in the Environment tab to make the Debugging Configuration settings work for Spring Boot? I have all of the property_template files in a folder called config. Thank you.
 
Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
@CwaniX
What must you do in the Environment tab to make the Debugging Configuration settings work for Spring Boot? I have all of the property_template files in a folder called config. Thank you.

Did you change the file names accordingly? It should look like this:
ose_files - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
Jun 27, 2010
Messages
939
Reaction score
1,192
Thanks for that, but this server will be EP 1.
We got all the translation files, problem is injecting them into the client. Tho i figured that out too. Any help is appreciated:)

you can merge the translated files using wpktool
Ex:
Code:
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

But the problems is the file size need to match with the original files so the right way is to make a tool to unpack/repack the wpk file.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
you can merge the translated files using wpktool
Ex:
Code:
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

But the problems is the file size need to match with the original files so the right way is to make a tool to unpack/repack the wpk file.

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.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
UDPATE:

W2Qanra - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums


95% of names work too :)
and Error Messeges etc.

basicly "only" QuestText is left.
 

Attachments

You must be registered for see attachments list
Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
❈ ServerList Packet

I was able to figure out majority of the bytes for the ansServerList packet. I was able to have two servers, one server with one channel, and the second server with two channels. Please review the packet structure below the protocols listed below.

The protocols for ServerList follow as:
byte S2C_ansSrvList_Srv = 0x11;
byte S2C_ansSrvList_Chn = 0x12;

Use this information below to create a dynamic server list packet on the auth/agent server. Couldn't tell if your server has this setup or not.

Code:
/*
    SERVERS ONLY:
    Size (2 bytes)
    Category (1 byte - 0x33)
    Protocol (1 byte - 0x11)
    # of Servers (1 byte)
    Server Name (32 bytes)
    Unknown (1 byte)
    Server # (1 byte)
    Unknown (1 byte)
    Unknown (1 byte) - filler/separator (0x00)
    Server Name (32 bytes)
    Unknown (1 byte)
    Server # (1 byte)
    Unknown (1 byte)
     */

/*
    CHANNELS ONLY:
    Size (2 bytes)
    Category (1 byte - 0x33)
    Protocol (1 byte - 0x12)
    # of Channels (1 byte)
    Channel Name (33 bytes)
    Server # (1 byte)
    Channel # (1 byte)
    Unknown (1 byte) - terminator byte (cannot be 0x00)
    Unknown (1 byte) - filler/separator (0x00)
    Channel Name (33 bytes)
    Server # (1 byte)
    Channel # (1 byte)
    Unknown (1 byte) - terminator byte (cannot be 0x00)
    Unknown (1 byte) - filler/separator (0x00)
    Channel Name (33 bytes)
    Server # (1 byte)
    Channel # (1 byte)
    Unknown (1 byte) - terminator byte (cannot be 0x00)
     */

I implemented this fragment and it works like a charm :):.
ose_channels - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
I implemented this fragment and it works like a charm :):.
View attachment 167146

Very very nice.
I will upload the english client tomorrow.
Its 95% english appart from quests. But its going to be along time until we can need to think about that.
CwaniX could you try and help me understand the way you process packets from client and send them back. It seems so different from what I am used to in c#.
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
I implemented this fragment and it works like a charm :):.
View attachment 167146
CwaniX
I'm glad to hear that worked out for you. I will post more information about packets - if I can figure them out, so you can create dynamic packets. I will try and work on newer packets when I get to it. Also, I still haven't been able to use your server because I'm not sure on what to do with the config files. Alex Mgh mentioned something about loading the folder location in Eclipse through the Debug Configuration under the Spring Boot section. Not sure on what I actually need to do under that menu. Thank you!



Very very nice.
I will upload the english client tomorrow.
Its 95% english appart from quests. But its going to be along time until we can need to think about that.
@CwaniX could you try and help me understand the way you process packets from client and send them back. It seems so different from what I am used to in c#.
Alex Mgh

I can't wait to see all of the work you have put into the client. It's nice to have someone doing that. English patches can take a long time unless you find the patches elsewhere. Either way, it's very much appreciated.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
Ok lets see if i can post this :)

It seems to be alot but its just very detailed.

First your config folder should look like this.

tCciPX - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



The red circled name will later be the path you specify in your IDE(Spring Suite). In this case C:\SpringSuiteDEV

then go to your Spring Suite and select Debug Configurations

XJ0kdtR - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



create a new configuration

Ljq1XoV - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums


Then you can name it what you want but preferable the server you want to start.
And select the first server form the list.
5zrhRXl - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



Then press the Search button on the right and there should only be 1 return, also select this.

nw9wHZ9 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums


Then go to the environment Tab and add the Variable with the name application.location and your OWN path from Step 1.

svSHwft - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



Now you have to apply everything and DEBUG it ONCE so it shows in your Menu later.

MZ7TUXU - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



Repeat this for all of the 5 Servers! except for the common server.

Normally the Spring Boot Window should be open. If it is not you can search it like this.

ua15PaB - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums


Y7MM01l - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums



I hope this helps.

I will try to Create a more Detailed and more Structured Readme in Word or something.





Anyway, here is the link to the English Resource file.

If there are any issues i will upload the full Client but it should be the same:

https://drive.google.com/file/d/1QDldFiURCpa1FtpgodqgtckRMfwjwfWK/view?usp=drivesdk
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
@CwaniX could you try and help me understand the way you process packets from client and send them back. It seems so different from what I am used to in c#.
I implemented a small framework for handling incoming and outgoing packets. All you have to do is add three classes with the appropriate annotations: IncomingPacket, PacketProcessor and OutgoingPacket. You can look at classes C2SAskSrvSelectPacket, C2SAskSrvSelectProcessor and S2CAnsSrvSelectPacket as a simple example. If you use some packet capture utility, you will probably get something like this from the client:
ose_packet1 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
1 is the length of the packet.
2 is the category and type.
3 is the content.

You must complete the appropriate fields in the incoming object (you don't fill in the length because it is handled automatically):
ose_packet2 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
Then the prepared object goes to the processor where you can perform the required operations and finally send the outgoing packet:
ose_packet3 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
The outgoing packet looks similar to the incoming one but requires an additional defined order of fields in the packet:
ose_packet4 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
I hope this information will be helpful :):
 

Attachments

You must be registered for see attachments list
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
Alright this already helps alot.

So when i create a new Package. For example this one

UsJTPHo - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums


then "c8" is the category (already defined as skill by you)
"c5" is the Type
and the rest is some other information i have to figure out?

I would start with something like this?

pnbn5HC - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums




Anyway, here is the link to the English Resource file.

If there are any issues i will upload the full Client but it should be the same:

https://drive.google.com/file/d/1QDldFiURCpa1FtpgodqgtckRMfwjwfWK/view?usp=drivesdk


Just so everyone sees it clearly
 

Attachments

You must be registered for see attachments list
Initiate Mage
Joined
Aug 5, 2014
Messages
2
Reaction score
0
hey guys .
how is it going with the server?
is it running yet? im willing to help
if its running maybe even with some $ :)
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
hey guys .
how is it going with the server?
is it running yet? im willing to help
if its running maybe even with some $ :)

Well heavily depends on your definition of running :p

If you would like to help i would consider trying to get the server running on your computer as a first step.

If you encounter any problems feel free to reply :)
 
Last edited:
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
Well heavily depends on your definition of running :p

If you would like to help i would consider trying to get the server running on your computer as a first step.

If you encounter any problems feel free to reply :)




I found out that there are packets that have no Content. For example when the Client crashes he will sent a message to the server directly before loading characters. Problem is the Packet Decoder throws an error because it cant handle the packet. I tried to add a knew C2S Packet for that case but it doesnt get recognized. Maybe the decoder doesnt allow packets with no content? I tried to check myself but i dont know if i am right :)

Some packets will not have any content, especially from the client. As an example, this one packet that is sent to the Auth Server from the client:

Code:
    askServerList Packet

------------------------------
    Size (2 bytes)
    Category (1 byte - 0x33)
    Protocol (1 byte - 0x0F)

Also, what packet are you exactly talking about? I will look at the PacketDecoder and see what's wrong.
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
Some packets will not have any content, especially from the client. As an example, this one packet that is sent to the Auth Server from the client:

Code:
    askServerList Packet

------------------------------
    Size (2 bytes)
    Category (1 byte - 0x33)
    Protocol (1 byte - 0x0F)

Also, what packet are you exactly talking about? I will look at the PacketDecoder and see what's wrong.

No need to worry, i was wrong about that. It only happens in debug mode so i have to see why it happens.



Ok guys I have the best NEWS ever. I found a way to unpack the Resource.wpk and tell the client to use the unpacked files and not the Resource.wpk. Now we can edit everything we want !!!
 
Junior Spellweaver
Joined
Oct 20, 2013
Messages
193
Reaction score
56
No need to worry, i was wrong about that. It only happens in debug mode so i have to see why it happens.



Ok guys I have the best NEWS ever. I found a way to unpack the Resource.wpk and tell the client to use the unpacked files and not the Resource.wpk. Now we can edit everything we want !!!

Sounds great, but that can cause problems long term. For now, this is the best solution we have. Can you please post how you got the client to use the unpacked files and any tools that you might have used? Thanks!
 
Initiate Mage
Joined
May 29, 2014
Messages
64
Reaction score
59
Thats the error i always get now even with the original client so thats not the problem.
2020-04-30 00:09:21.454 DEBUG 25588 --- [ntLoopGroup-6-1] p.c.o.c.server.messages.PacketDecoder : [ PACKET DECODER] [userId: ] Incoming data: 48 76 00 00 01 00 00 00 00 32 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 40 00 03 00 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 20 00 00 20 00 00 20 81 07 20 42 00 20 0f 00 20 00 00 20 00 00 20 00 00 20 0e 00 20 07 08 66 bf 25 66
2020-04-30 00:09:21.455 ERROR 25588 --- [ntLoopGroup-6-1] p.c.o.c.server.messages.PacketDecoder : [ PACKET DECODER] [userId: ] Unknown packet: 48 76
 
Initiate Mage
Joined
May 9, 2019
Messages
40
Reaction score
25
Thats the error i always get now even with the original client so thats not the problem.
Did you check if the packet definition loads correctly?
ose_error1 - [Development] Soul of the Ultimate Nation - Server Emulator - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Back
Top