Jump to content

Fix Db Project


Recommended Posts

Hello everyone,my name is George and i am from Greece.

 

-My real life job is ERP manager 

 

My idea was very simple and easy,there is many source developers on lineage section but i never saw a database developer so L2Java DB is unstable and no-real drop rates and chances.

And here we come ..

 

My idea is to fix the whole l2java database part and i will start by fixing the droplist of all mobs,

I am gonna use one original l2off database (website like pmfun,or even pmfun) to find the real l2off drops and use them to our l2j db

 

For start lets take a look at the "plan":

 

DB_FIX_PROJECT_PLAN.png

 

 

Now lets look one by one the steps:

 

*Here we gonna find out the real mob droplist on pmfun

 

pmfun_step_1.png

 

 

*Here we gonna find out the npc name id in order to continue to the next step(for this step we can write sql in our database or use l2 db websites to find the npc id)

 

find_mob_id.png

 

 

*Now we have to use the mob id that we found to find out the droplist of it

 

find_mob_droplist.png

 

 

*Now there is only items id and no item names,in order to find out what is this id names we must use sql for one more time:

 

find_what_item_id_is_that.png

 

 

And now we must use online percentage calculator in order to correct the drop chances (as you can see on pmfun sometimes there is 1/300) so lets use this calculator..

http://www.calculatorsoup.com/calculators/games/odds.php

 

And now we must just correct the drop rates.

 

*p.s: you can see 4-6 digits,this mean for example: 70% is 70 and "0000" so 70% is 70.0000 , 1% is 1.0000, and 0,5% is 5000 .. 

 

This is not just a guide,this project need a lot of work to complete but we can create lineage emulator with the exact values of official lineage,

already many project managers work on the l2j emulation source like l2jacis and they try hard to complete this part of the source,

 

If anyone want to work with me,send a pm 

 

because the job request a basic knowledge of sql please i want to work with people that know basics of sql .

 

When this project will complete we gonna work on other unstable things .. 

 

Link to comment
Share on other sites

  • Spawnlist in acis was parsed from off so (Sweets guesses) droplist should too.
  • The problem with l2j databases is not just the data. Is the way it is set up to work.
  • acis has it's drop data in the npc.xml (I puked inside my mouth a little) so you can't query it with sql (not without using an external lib anyway)
  • All 3 queries you posted can be combined with a join but i guess your knowledge in sql is not that great.

 

Quite honestly i don't get the point of your post and what the target is.

Link to comment
Share on other sites

Well my target for now is to fix the droplist (the target of the post is to find people that would like to help to do that in order to help java go one step forward,at least on droplist part)

Link to comment
Share on other sites

Well my target for now is to fix the droplist (the target of the post is to find people that would like to help to do that in order to help java go one step forward,at least on droplist part)

But there is nothing wrong with the droplist. Where do you see the problem?

 

https://xp-dev.com/svn/aCis_public/aCis_datapack/data/xml/npcs/20000-20999.xml

 

Check the Eply with id 20432. You will see that the data is identical with the picture you posted.

I do agree that l2j has a massive issue with the database part but it has nothing to do with the droplist.

Link to comment
Share on other sites

You can't write a generic db for l2j drop, each pack use a broken drop logic, except a few which reuse retail logic

Edited by Sdw
Link to comment
Share on other sites

i invite you to learn some things about the basics first you have to compare the "speed" and "stability" of the libs you will use for your project HikariCP or BoneCP is one of the fastest i know, in my projects i use HikariCP, then you configure it to your needs you have to assume that a server has XXXX people (how many connections you need for example and how fast they should close) this is the biggest factors, after that a connection is successfully made the queries you will use its not a problem (in l2 you don't even have to use `'"; characters and you should not use *) there are tone of examples out there and as long you keep your code understandable and readable it will be easy to continue it with updates.

but first i think you must come with a strategy on how this will work on packs AND as a faster way and not slow them instead.

if i added ideas or unlocked anything on your mind you're welcome. cya

Link to comment
Share on other sites

So nightwolf just told you literally what basic googling will tell you. That hikari is the best connection pool in terms of performance.

 

The problem is beyond the cp.

 

The database structure is wrong, big time. Using a relational database while having fuck all relations is a bigger concern.

The password hashing method is the most basic there is. You can literally google some of the hashes and get the actual pass back.

 

I also disagree with all the items that got moved in the xmls.

Now every time I wanna make a external tool I have to depend on the gameserver's runtime to provide me the info I need while I could just use a simple query and get everything I need back.

And don't give me the "they are more flexible" thing. They are not.

They can only look more flexible if your sql knowledge is shit.

Link to comment
Share on other sites

The problem is beyond the cp.

 

The database structure is wrong, big time. Using a relational database while having fuck all relations is a bigger concern.

The password hashing method is the most basic there is. You can literally google some of the hashes and get the actual pass back.

 

I also disagree with all the items that got moved in the xmls.

Now every time I wanna make a external tool I have to depend on the gameserver's runtime to provide me the info I need while I could just use a simple query and get everything I need back.

And don't give me the "they are more flexible" thing. They are not.

They can only look more flexible if your sql knowledge is shit.

this is true and i agree. in the name of "static tables move to xml" logic (talking about acis) is a sacrifice of features the database could provide but still you actually told what basic knowledge about acis tells us and bitching about the relations broken in database by acis, this could be done in their forum. here is an idea and the topic creator asks help on sql connections so my post was to give him some base info to start from and i didnt go into detail because yes google can help him do it by him self also if he runs in previous versions of acis he can find the parsed data of l2off made on acis so this pack reference is the only help you post there.

 

elfo, i have something for you

1 install xampp

2 add server inside htdocs folder

3 create in php an xml parser to read whatever you want (somewhere in the middle here abandon your project)

4 block access to public

5 there is your data go for it!

Link to comment
Share on other sites

"create in php a parser"

 

I might as well kill myself.

 

 

Learn xpath and stop whining rofl

xpath is better than plain xml but it is still pretty shit to me. Preferences i guess.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock