Allods Developers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[1.1] Modifying game mechanics (editing .xdb)

I wanted to start modifying the game mechanics with something simple: adding a class race combination.

1. [On Server] Added following files inside to game/data/Packs/XDB_Mechanics.Server.pak:

CharactersTemplate/ElfPsionic01Female.(Character).xdb
CharactersTemplate/ElfPsionic01Male.(Character).xdb
ClassRaceCombination/ElfPsionic.xdb

2. [On Server] Edited game/data/System/index.srv and added lines:

237546519#/Mechanics/ClassRaceCombination/ElfPsionic.xdb
237546510#/Mechanics/CharactersTemplate/ElfPsionic01Female.(Character).xdb
237546503#/Mechanics/CharactersTemplate/ElfPsionic01Male.(Character).xdb

3. [On Server] Edited game/data/System/CharacterVariations/CharacterRoot.xdb and added relevant entries there describing the new combination.

Wanted to do similar changes on the client, but looks like there is no game mechanics .xdb there for class race combinations (or I didn't find them) and the index.srv file on the client only contains a single line with a number 381

4. [On Server] Added to game/data/Packs/Langs/rus.pak (it's the only one that exists there):

Mechanics/ClassRaceCombination/ElfPsionic.txt
Mechanics/ClassRaceCombination/ElfPsionicDesc.txt

5. [On Client] Added same two files from step 4 to pack.loc inside data/Packs/LocPack.rus (I used the loc extractor and compiler found on the forums here)

I launched the shard and it started fine without errors and I was able to log in, but when I want to go into character creation screen (after selecting faction) I get an error that internal error has occurred and the client disconnects. I get the following in shard logs on the server side:

Code:
[05-11 18:23:59,232, 6892387] fe4 - INFO  frontEnd.FrontEnd  : client playerone (connId = 12) added. Total user count on frontEnd: 1
[05-11 18:24:02,884, 6896039] net_worker_2 - INFO  frontEnd.connectClient.ClientsListener  : Client connection closed: name "playerone"; socket id = 12, socket /192.168.0.10:55002 -> /127.0.0.1:9325; closed true; reason: peer closed connection; null
[05-11 18:24:02,899, 6896054] fe4 - INFO  frontEnd.FrontEnd  : client (name "playerone"; socket id = 12, socket /192.168.0.10:55002 -> /127.0.0.1:9325; closed true) lost (request from net: peer closed connection, no exception). Total user count on frontEnd: 0

So it looks like the client initiates a disconnection from the server. Probably because something is not added on the client side that should be.

NOTE 1: I tried doing similar procedure on the 1.0 version (where there is no packing into .pak and the "game" folder is shared for client and server) and it worked flawlessly there, I was able to play a previously locked class race combination.
NOTE 2: I did make sure the additional files in the archive were added as "Store" and not "Compress" (like already present files).

What am I missing here? Anyone able to shed some light on this?
 
Last edited:
Back
Top