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] BDO Server Files Repack / With Client

Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
Wish I could get in touch with them :).

Then again I am trying to at least get the code I have to properly build using Maven (I'll try to separate the code into separate modules thereafter). I don't need any profit from that - just remembered the good old days of working on L2J stuff and thought I'd give something more modern a try.

Also since the lag seems to occur when simply running around and also when talking to NPCs (one can see it when picking a quest), it is a hint to some server-wise queue problem. I remember that L2J had a similar problem (under certain circumstances). Anyhow .. gonna give it a try and perhaps make a repository with the projects and modules in it.
 
Initiate Mage
Joined
Aug 19, 2018
Messages
3
Reaction score
0
Hi. Tell me please, what version of the client will fit this server? I want to run a Russian client. There are many Russian clients of the current and previous version in the network. I'm looking for a version that will fit this server. Thank. Снимок.JPG - [RELEASE] BDO Server Files Repack / With Client - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Aug 19, 2018
Messages
8
Reaction score
3
@dipolq : If you have the server/client files for the latest version, you might want to share with the rest of us via torrent. The Russian client shouldn't be (that) different compared with the EU or NA. (maybe I'm completely wrong here)

EDIT: Oh wait... You're looking for a client... Sorry, my bad.
 
Initiate Mage
Joined
Aug 19, 2018
Messages
3
Reaction score
0
@pipoman: I do not have the latest version of the server. I have a server, laid out in the header of this topic. I'm looking for a Russian client who would work with this server. Russian customers of the latest version after their patch from the folder "GamePatch" and from the folder "xc", does not run. In contrast to the client laid out in the header of this topic, it works great. But I'm looking for a Russian client who could work with this server after the patch.
 
Last edited:
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
I used:
OgreFest Client version: 1
Kakao Client version: 491

There is a torrent in this thread for the client (forgot which page) and it works. It does not contain a Russian version of the client though. Not sure there even is a version of the BDO client, which is supported AND contains Russian as the language. I know the supplied on does not.
 
Initiate Mage
Joined
Aug 19, 2018
Messages
3
Reaction score
0
Russian versions of the client exist, and are constantly updated. I figured out what version is needed, 545602. Now I'm looking for it localized in Russian, or at least close versions. Thanks for the help.
 
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
Alright so.. I took my time, turned the source-code provided in the torrent file into a Maven project. Here are my findings so far:

  • the source code from the Server/src folder (I am not sure it's the correct path - it's the only src-folder present inside the ZIP-file though) only contains the source code for the GameServer
  • the GameServer source code seems partially decompiled (according to the comments)
  • the GameServer depends on "commons.jar" and "decoder.jar" - both of which are only present in a compiled state (I could perhaps decompile them though)
  • there is no source code for the LoginServer (except if one decompiles "login.jar")
  • everything seems to be written in Java 8, though some of the libraries appear to just "pollute" the classpath - since they are not used (or perhaps used by other packages that we do not have the source code of)
  • no test, no javadoc, no documentation whatsoever
  • GameServer-AI is HUGE, the classes are barely readable as no clean-code whatsoever has been applied (or perhaps it's what one gets after simply decompiling stuff)
  • GameServer-AI actually prevents proper and fast building workspace

What I am going to try, is:
  • see if I can easily break the GameServer into separate modules (I already did so with the AI-scripts)
  • update libraries (already done)
  • try to have at least the GameServer build again
  • decompile "commons.jar" and "decoder.jar" to hopefully find out what they exactly are ("decoder.jar" seems rather simple, the other one is rather not)
  • see if something improved after updating most dependencies

If then I still feel like it, I'd try to find out why there is this horrible lag when engaging in combat (or in any action), because this is one of the things that annoys me the most.

No idea if anything thereafter will happen as I am afraid there will not be something L2J-like for BDO. If / once I completed all or at least some of the steps, I'll inform you guys and perhaps upload my results somehow somewhere.

If anyone has an idea of where to get more up-to-date server source codes (preferably for a more recent version of the game), let me know. Until now this will have to do.
 
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
I got my hands on a BDO emulator server v661 and am now investigating that one instead of the v491.
While v491 does work, its source code is much worse than that of v661 and it has no build scripts etc.

v661 server has Gradle project scripts (similar to Maven, but more modern) - which in theory enables for easier builds.
However: I still couldn't exactly find out how to build the separate artifacts (login-, realm- and world-/gameserver).

The server JARs found along the source code start properly after adjusting the ports in realm- and worldserver (database.properties, port number of the database is set to 23456 while the database.properties "databasePort"-key expects database on port 27017). After setting it to 23456 in both database.properties, the servers start up just fine.

However: while I can connect to the server initially, I cannot select the "bdoEMU"-server, because apparently 2 unknown packets are sent:
Code:
15:23:21.435 WARN  - Server -> Client: SMSetFrameworkInformation
15:23:21.449 WARN  - Client -> Server: CMLoginUserToFieldServer
15:23:21.461 WARN  - Server -> Client: SMGetContentServiceInfo
15:23:21.463 WARN  - Server -> Client: SMChargeUser
15:23:21.464 WARN  - Server -> Client: SMLoginUserToFieldServer
15:23:21.465 WARN  - Server -> Client: SMPcRoomAuth
15:23:21.465 WARN  - Server -> Client: SMFixedCharge
02:15:56.265 ERROR - [UNKNOWN PACKET] : received 0xffffd8aa, state=AUTHED
02:15:56.265 ERROR - Packet wasn't found so... closing.. or not?
02:15:56.266 ERROR - [UNKNOWN PACKET] : received 0xffffdc42, state=AUTHED
02:15:56.266 ERROR - Packet wasn't found so... closing.. or not?

Possible reasons:
  • wrong client?
  • weird X(ing)C(ode)?
  • some mismatch in regards to server

I tried looking up the hex-numbers in packets.xml of the worldserver (as well as the realmserver), but it seems they are absent. So I will try investigating in that direction.

As you can see before the ERROR-log output some other communication seems to be working as expected. I will continue looking into it myself, but if someone has a clue what the reason is and - preferably how to solve it - please let me know.

Once that works, I'd like to know if I am allowed to make the source and JARs available on here. I have not written the entire code - so I am most certainly will not be claiming any credits for myself.
 
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
File: View attachment packets.zip

Here are the packet.xml-files of the realm- and worldserver as I have them in the corresponding data-subfolders.

Edit:
weird... now that I am trying it anew, it seems to miss more than 2 packets... here's the list:
19:12:12.740 ERROR - [UNKNOWN PACKET] : received 0xffffdfa0, state=AUTHED
19:12:12.740 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.741 ERROR - [UNKNOWN PACKET] : received 0xffffce8e, state=AUTHED
19:12:12.741 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.742 ERROR - [UNKNOWN PACKET] : received 0x2167, state=AUTHED
19:12:12.742 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.742 ERROR - [UNKNOWN PACKET] : received 0x1b48, state=AUTHED
19:12:12.742 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.743 ERROR - [UNKNOWN PACKET] : received 0x75ce, state=AUTHED
19:12:12.743 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.745 ERROR - [UNKNOWN PACKET] : received 0xffffa29d, state=AUTHED
19:12:12.746 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.746 ERROR - [UNKNOWN PACKET] : received 0x5ba7, state=AUTHED
19:12:12.746 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.746 ERROR - [UNKNOWN PACKET] : received 0x6e55, state=AUTHED
19:12:12.747 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.747 ERROR - [UNKNOWN PACKET] : received 0x2613, state=AUTHED
19:12:12.747 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.748 ERROR - [UNKNOWN PACKET] : received 0x185f, state=AUTHED
19:12:12.748 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.748 ERROR - [UNKNOWN PACKET] : received 0xa69, state=AUTHED
19:12:12.748 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.749 ERROR - [UNKNOWN PACKET] : received 0xffff8403, state=AUTHED
19:12:12.749 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.749 ERROR - [UNKNOWN PACKET] : received 0x3b52, state=AUTHED
19:12:12.750 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.750 ERROR - [UNKNOWN PACKET] : received 0xffff8ed8, state=AUTHED
19:12:12.750 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.751 ERROR - [UNKNOWN PACKET] : received 0xffffb784, state=AUTHED
19:12:12.751 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.751 ERROR - [UNKNOWN PACKET] : received 0x2207, state=AUTHED
19:12:12.752 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.752 ERROR - [UNKNOWN PACKET] : received 0xfffff259, state=AUTHED
19:12:12.752 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.753 ERROR - [UNKNOWN PACKET] : received 0x360a, state=AUTHED
19:12:12.753 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.753 ERROR - [UNKNOWN PACKET] : received 0x3cfb, state=AUTHED
19:12:12.756 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.759 ERROR - [UNKNOWN PACKET] : received 0xffffeb5c, state=AUTHED
19:12:12.759 ERROR - Packet wasn't found so... closing.. or not?
19:12:12.759 ERROR - [UNKNOWN PACKET] : received 0x1eae, state=AUTHED
19:12:12.760 ERROR - Packet wasn't found so... closing.. or not?

Can click "enter" on the BDOemu server, but then I get this and am not able to continue to character creation...

The version of the emulator (gameserver.bat / worldserver):
19:10:09.907 INFO - =================================================
19:10:09.907 INFO - Revision: ................ 1
19:10:09.907 INFO - Build Date: .............. 03/14/18
19:10:09.907 INFO - =================================================
19:10:09.907 INFO - Requires BDO Version: .... 661 lol
19:10:09.908 INFO - =================================================
And it seems my client is 661, too (according to versions.dat). Weird.

Edit2:
Now I get only the following unknown packets when trying to join. What I did is follow an original BDO page, which explained that on certain errors one needs to flush dns.
20:56:47.283 ERROR - [UNKNOWN PACKET] : received 0x2fff, state=AUTHED
20:56:47.283 ERROR - Packet wasn't found so... closing.. or not?
20:56:47.284 ERROR - [UNKNOWN PACKET] : received 0xffff86ed, state=AUTHED
20:56:47.284 ERROR - Packet wasn't found so... closing.. or not?
20:56:47.284 ERROR - [UNKNOWN PACKET] : received 0xffffe110, state=AUTHED
20:56:47.285 ERROR - Packet wasn't found so... closing.. or not?

Edit3: managed to get into character creation.
The magic words had been in the readme.txt:
You need to inject with cheat engine to bypass the packet spam during login. Inject BEFORE XC FINISHES LOADING.

So in order to get into the character creation screen (and thus "bypass" the "packet spam during login") I had to install Cheat Engine, open up the BlackDesert64.CT (with a Lua-script inside) and "inject" it (=run it) while XC is checking.

I am not entirely sure what the script does, but it seems the packets are not sent to the server (from the client) anymore. Apparently it must be some problem with XC, which prevented me from getting at least into character creation screen (we'll see if I can continue further).

Anyhow: whoever wrote that, is / was a genius. While not really easy, it's interesting to see this bypass.

Edit4: yep.. and there XC3 (XignCode3) kicks in again.. so XC sees the Cheat Engine and disconnects me after probably 15 minutes. It's a pity, but it seems to at least somehow work. I do not suppose anyone has a XC-folder for 661 (or a non GameZBD BDO-client v661) for me?

Edit5: so 15 minutes anywhere in the game works - until XC kicks in. Sadly I am not good enough at finding out packets and packet structures so I have no idea what the client is sending or expecting in return. It's a pity, but with v491 it was at least possible to play for longer than 15 minutes in one go.
Might look more into it, but while I am pretty decent with Java, I am not so much with reverse engineering the client.
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
Hm .. on a side-note: are the classes in this game gender-locked? Like.. really?

Wish there was am ArcheAge server code-stack (sadly - as already written in PM to Via Nais) I am not good with packets and packet sniffing... but if I knew how it all communicates and had the packet structures, I'd probably be able to write most of the rest myself. At least in ArcheAge anyone can become anything xD... but I hate Trino a lot - which is why I really quit the game.. anyhow .. off-topic... sorry.
 
Experienced Elementalist
Joined
Jun 17, 2014
Messages
273
Reaction score
33
Yes, the game is pretty poorly designed - or, designed to make the most money out of its players: sexy females classes, expensive outfits to dress them with, no direct trading between players, etc...
 
Newbie Spellweaver
Joined
Jun 1, 2007
Messages
35
Reaction score
2
About "lagging" monsters...

I was note that enabling network.debug on gameserver, i see a weird thing about the TheadPools.

Really the queues about send packets on move or attacks are waiting a fixed time. For example, on red are the TheadPools about effects.core.pool.size, that are executed from server to client every 10 seconds.

As the same for the monsters, really is not "lag". I attack for example four wolfs and i move on circles i see how they move "synced" but with delay on about 2-3 seconds each one. If we speak about lag, the movement could be erratic, sometimes appear ok and sometimes one or another instance stop, but they are really synced with delay. Now, like the effects that are always 10 seconds on will sended, is found where are this "timers"...

Im running all on a SSD and 32GBs Ram, with 2GBs of memory to the login server, 12GBs to gameserver, and the other to the system and game, so is not lag.

DevilSpeak - [RELEASE] BDO Server Files Repack / With Client - RaGEZONE Forums
 
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
It's not just attacking monsters.. in v491 even accepting a quest is laggy. Yes - the lag is not random, but a steady delay. I don't think there are timers, though I haven't looked through all the code. I suspect - as someone already pointed out somewhere - that it might be related to LOG-output.
In log4j2.xml (inside the gameserver.jar), there is this:
log4j2.xml said:
<root level="info">
<appender-ref ref="Console"/>
<appender-ref ref="ConsoleToFile" level="info"/>
<appender-ref ref="ErrorToFile" level="error"/>
<!-- Uncomment this for debug messages -->
<appender-ref ref="DebugToFile" level="debug"/>
</root>
The line for debug-output is actually uncommented. Now I haven't checked all of the code passages where "logger.debug" or "logger.log(..., Level.DEBUG)" or the likes is used, but if it were to be somewhere in a crucial place and possibly surrounded by an if-statement (e.g. com.bdoemu.commons.network.Connection#writePacket, line 150 in my source (v661)), it might get evaluated pretty often, resulting in a equally delayed, yet slower processing of packets.

One would have to entirely remove these (as well as other logging-output) or make it asynchronous to see if it fixes the issue.

Note: this is a guess into the blue and judging from my experience with other multi-threaded projects, that I work on at work.
 
Newbie Spellweaver
Joined
Jan 12, 2017
Messages
47
Reaction score
2
Awww, so there is still lag when attacking monsters or interacting with anything, huh?

What a shame.
 
Newbie Spellweaver
Joined
Aug 20, 2018
Messages
28
Reaction score
8
@TwuTu - in v491 there was (even on my beefy set up), but since it was kinda "delayed" (every action seemed to be delayed by the same amount of milliseconds) I suppose that it'd be possible to figure out the delay (perhaps due to logging etc.) to remove it.

In v661 there's less delay in actions such as picking a quest etc., but the monsters are kinda "rubber-banding", which seems to be caused by a sync-problem, which I haven't yet figured out how to fix.
 
Back
Top