Jump to content

Recommended Posts

Posted

btw you should be able to use loc_x loc_y and loc_z as PK. I dont think that there are 2 npc spawned at the same loc

What's your remark is for ? Spawns at death is random, and there's random chaotic respawn points aswell. I don't find the link between "PK" and "NPC" in your sentences :P. You expressed 2 different ideas, or one of your sentence got a wrong word :D.

 

Regards.

Posted

What's your remark is for ? Spawns at death is random, and there's random chaotic respawn points aswell. I don't find the link between "PK" and "NPC" in your sentences :P. You expressed 2 different ideas, or one of your sentence got a wrong word :D.

 

Regards.

 

Google translator or wrong thread? :D

Posted

btw you should be able to use loc_x loc_y and loc_z as PK. I dont think that there are 2 npc spawned at the same loc

 

I think he meant you can use those values as the primary key. Though this can still be a problem if the user accidently spawns two mobs in the same place, you'll have two of the same identical spawns.

Posted

Roflol yellow title

 

I think he meant you can use those values as the primary key. Though this can still be a problem if the user accidently spawns two mobs in the same place, you'll have two of the same identical spawns.

No way :P. I got the link now (and you search it through darkness :P), but still that's not a good solution. The only good solution is to add an id column with a unique number for each register. But what's the point :P.

 


 

Rev 202 is up

 

Changeset 202

 

Auction, spawnlist, misc

 

The commit was long to come because my first idea was to implement siegable CHs. Unfortunately, only 4/6 are actually made on L2J, and BigBoss still work on it. So I prefer to wait and use my time in other things (pointless to do the same he is doing, plus he does it well).

 

Auction system

- The structure is corrected, and improved. HTMs are corrected following L2OFF (minus the size problem).

- Initial auctions list is off-like. You can directly see actual number of actual bids aswell (number in []).

- All bypasses which needed a security check (about clan and/or with warehouse check) are secured.

- The maximum of retail messages have been used (which avoids string uses).

- One unused table dissapears, and auction.sql got 3 columns dropped.

- The lease is correctly removed when you put an auction in sell. As retail, you receive back your lease only if the CH is sold.

 

Spawnlist

- Added 12~ spawns (Fortress of the Dead, mainly).

- Dropped all mobs initially spawned on Siegable Clan Halls (around 100+). They must be spawned via their own SQLs.

 

Misc

- Baium's Archangels aren't invul anymore. After all, they each got 50% Baium's HPs and a heal skill. Who would be stupid to kill 3,5 Baium.

- Autosoulshot behavior is OFF-like.

- CP/HP/MP are correctly filled at character creation (0/max/max).

- L2DoorInstance onAction behavior is OFF-like.

- mini tweak in L2AttackableAI, I hope it won't fock something.

- CharSelected serverpacket cleanup (2 infos added, and 8 empty/useless writeD are dropped).

- Addition of formatDate method to format the date as you want on a String (avoid String.valueOf and easier readability).

 

PS : I'm aware there are stills issues on auction (like the 7 days period where you can't put back an auction, missing comment use).Let's say from 80%, I moved to 90%.

 

Rev 203 overview

 

Beast Farm is under correction (near fully debugged). Added with some quests, it will be rev 203.

 

Topzone link

 

As crappy fans told before me, the CTS (Crappy Test Server) is up. The other new is a Topzone link exists. Makes the promotion of the pack and test directly ingame to see moves :).

 

Posted

ups sorry, PK = primary key, FK = foreign key

the pk will not allow dual spawn at the same loc, and will allow you to use FK on it, so you will be able to do for example:

TABLE spawnlists_done

locx FK to spawnlist.locx

locy FK ...

locz FK ...

timesspawned

 

anyway, you are right cos sql is not rly used to manage the db, only to "store things when server restart" all the things are done only in the jave side  :(

 

btw, did you see any FK in any l2 datapack?

 

ohh topzone link is not rdy yet?

ERROR ! This server is not in L2Topzone.com list or it hasn't been activated yet!

Posted

Zuuuummmm, I was on PK = player killer.

 

A FK doesn't improve performance, as no index is created. That's good for DB integrity, adding constraint, but if you're not totally dumb, you don't need it (such as XML validator L2J currently uses on postIL chronicles).

 

I'm not such a pro on SQL, so correct me if I'm wrong.

Posted

Zuuuummmm, I was on PK = player killer.

 

A FK doesn't improve performance, as no index is created. That's good for DB integrity, adding constraint, but if you're not totally dumb, you don't need it (such as XML validator L2J currently uses on postIL chronicles).

 

I'm not such a pro on SQL, so correct me if I'm wrong.

on some structures FK improve something. The question is not if you are or not dumb. It can save your ass many times, for example:

try to add a skil to a character that does not exist (if there is any error)

try to delete a character and forgot to delete the skills (this can happen more often)

etc

Posted

Dunno if you know or don't know it, but there's such "garbage clean" at each server restart. It deletes all useless stuff.

 

It's made on IdFactory, and run at server start (and you can eventually link it to an admincommand if you feel like an urge to use it...).

 

protected IdFactory()
{
    setAllCharacterOffline();
    cleanUpDB();
    cleanUpTimeStamps();
}

 

Point is, you normally can't have clones.

Posted

this is not what i am talking about, sql has more power than you think, it will do all that alone, if you set the FK and delete the character he will seek alone for the skills, so it will be clean allways, done inside sql algorithms and without full db checks.

what you are doing is for example:

i want to change

setAllCharacterOffline(); to setAllCharacterOfflineNow();

so i change the function name and after seek for where i used it file by file in every java/xml/sql file that i can find

instead of just change where i know that i need to change it

 

one of this day you will see a l2sql server XD

Posted

this is not what i am talking about, sql has more power than you think, it will do all that alone, if you set the FK and delete the character he will seek alone for the skills, so it will be clean allways, done inside sql algorithms and without full db checks.

what you are doing is for example:

i want to change

setAllCharacterOffline(); to setAllCharacterOfflineNow();

so i change the function name and after seek for where i used it file by file in every java/xml/sql file that i can find

instead of just change where i know that i need to change it

 

one of this day you will see a l2sql server XD

As I said a little higher, improving SQL crap it's like another project. On IL, there is enough work just speaking of undone features and core-side code lacks. If you begin to speak of HTMs (heritated from C3 ?) and SQL improvement... Well, you need more than one life for sure.

 

Added to that, it needs many experiments, and to be honest I got no clue how to "profiling" a database performance (nor simple java core, btw if you know send links etc I'm interested...) :D.

Posted

this is not what i am talking about, sql has more power than you think, it will do all that alone, if you set the FK and delete the character he will seek alone for the skills, so it will be clean allways, done inside sql algorithms and without full db checks.

what you are doing is for example:

i want to change

setAllCharacterOffline(); to setAllCharacterOfflineNow();

so i change the function name and after seek for where i used it file by file in every java/xml/sql file that i can find

instead of just change where i know that i need to change it

 

one of this day you will see a l2sql server XD

 

In most cases, the SQL is more than OK. The only time the database is under a lot of stress is when the server is loading, and that's hardly a cause for concern since nobody is playing. They're all nice features, except I don't think the databases will ever be big enough to actually kill the performance that much. The only reason I said something is because I want to be able to edit my DB via the thingy-ma-jigger-tool. Otherwise the selection and insertion is OK.

 

Considering in this pack, skills armors items are defined in XML files, not SQL so that much stress has already been removed. Considering I work every day with databases that contains 10's of millions of records that have 100+ columns and no foreign keys, I think it's ok.

Posted

u must be right db is not rly used, only items table and few more maybe and dpbBryan must know better than me if it can (and should) be improved in any way

 

If you want to take a look at a "simple" way to increase db stability there are some rules named Normal Form im sure that the first guys that used a db on a l2j server already used them, so it should be ok, but you can find them here

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Hello Everyone  I hope you missed Old nostalgia BNB , is time to come back and be ready for the new journey  L2 BnB C3 Website: https://l2bnb.eu/ Discord: https://discord.gg/jaCJKYXgYZ Max Level 75 Max Grade (A) Safe:3 , Max:16 Anti-Botting. Auto learning skills , Auto Loot , Auto Create Account Subclass (NO) quest. Retail Buffs/DS Time ,Need Buffer Char (NO NPC Buffer) OfflineShop,OfflineCraft,ChangePass No GM Shop,No Global Gk,No Donate,Free Teleport only LVL 1 commands: .offline , .changepassword 99+% Retail 1+1 Window Per Pc BASIC FEATURES: Exp/SP: x 3 Adena: x3 Drop: х3 Spoil: x3 Support 24/7 GLOBAL COMMUNITY
    • 亲爱的朋友们,我们很高兴向您介绍我们的全新服务 —— KYC 实名认证,适用于任何平台!️ 我们为加密货币交易所、在线市场、社交网络、主机服务商、赌场及其他合法网站提供实名认证服务。认证可通过护照或驾驶证完成。不支持任何涉及非法活动的网站。 可用国家: 东欧:俄罗斯、乌克兰、白俄罗斯、乌兹别克斯坦、亚美尼亚、吉尔吉斯斯坦、哈萨克斯坦 — $30–33 欧盟(西欧,通常为拉脱维亚和爱沙尼亚) — $80–88 非洲:尼日利亚、肯尼亚 — $30–33 如果您需要注册并验证您的账户,总金额将额外收取 10% 手续费。 如需申请 KYC 认证或咨询其他问题,请通过以下方式联系我们: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ 邮箱: solomonbog@socnet.store SOCNET 商店有效链接: 数字商品商店(网站):进入 商店 Telegram 机器人:进入 – 通过 Telegram 消息应用便捷访问商店。 Telegram 星星购买机器人:进入 – 快速且优惠地购买 Telegram 星星。 SMM 面板:进入 – 推广您的社交媒体账户。 我们为您准备了最新的促销与特别优惠,用于购买我们的产品与服务: 1. 使用优惠码 OCTOBER2025(8% 折扣)即可在 9 月于我们的商店(网站或机器人)购物享受优惠!首次购买还可使用优惠码 SOCNET(15% 折扣)。 2. 获得 $1 商店余额或 10–20% 折扣 —— 只需在网站注册后按照以下格式留言:"SEND ME BONUS, MY USERNAME IS..." – 在我们的论坛帖中发布即可! 3. 首次试用 SMM 面板可获得 $1 奖励 —— 只需在网站(支持)提交标题为 “Get Trial Bonus” 的工单。 4. 每周在我们的 Telegram 频道及星星购买机器人中举行 Telegram 星星赠送活动! 新闻资讯: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh
    • 亲爱的朋友们,我们很高兴向您介绍我们的全新服务 —— KYC 实名认证,适用于任何平台!️ 我们为加密货币交易所、在线市场、社交网络、主机服务商、赌场及其他合法网站提供实名认证服务。认证可通过护照或驾驶证完成。不支持任何涉及非法活动的网站。 可用国家: 东欧:俄罗斯、乌克兰、白俄罗斯、乌兹别克斯坦、亚美尼亚、吉尔吉斯斯坦、哈萨克斯坦 — $30–33 欧盟(西欧,通常为拉脱维亚和爱沙尼亚) — $80–88 非洲:尼日利亚、肯尼亚 — $30–33 如果您需要注册并验证您的账户,总金额将额外收取 10% 手续费。 如需申请 KYC 认证或咨询其他问题,请通过以下方式联系我们: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ 邮箱: solomonbog@socnet.store SOCNET 商店有效链接: 数字商品商店(网站):进入 商店 Telegram 机器人:进入 – 通过 Telegram 消息应用便捷访问商店。 Telegram 星星购买机器人:进入 – 快速且优惠地购买 Telegram 星星。 SMM 面板:进入 – 推广您的社交媒体账户。 我们为您准备了最新的促销与特别优惠,用于购买我们的产品与服务: 1. 使用优惠码 OCTOBER2025(8% 折扣)即可在 9 月于我们的商店(网站或机器人)购物享受优惠!首次购买还可使用优惠码 SOCNET(15% 折扣)。 2. 获得 $1 商店余额或 10–20% 折扣 —— 只需在网站注册后按照以下格式留言:"SEND ME BONUS, MY USERNAME IS..." – 在我们的论坛帖中发布即可! 3. 首次试用 SMM 面板可获得 $1 奖励 —— 只需在网站(支持)提交标题为 “Get Trial Bonus” 的工单。 4. 每周在我们的 Telegram 频道及星星购买机器人中举行 Telegram 星星赠送活动! 新闻资讯: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh
    • 亲爱的朋友们,我们很高兴向您介绍我们的全新服务 —— KYC 实名认证,适用于任何平台!️ 我们为加密货币交易所、在线市场、社交网络、主机服务商、赌场及其他合法网站提供实名认证服务。认证可通过护照或驾驶证完成。不支持任何涉及非法活动的网站。 可用国家: 东欧:俄罗斯、乌克兰、白俄罗斯、乌兹别克斯坦、亚美尼亚、吉尔吉斯斯坦、哈萨克斯坦 — $30–33 欧盟(西欧,通常为拉脱维亚和爱沙尼亚) — $80–88 非洲:尼日利亚、肯尼亚 — $30–33 如果您需要注册并验证您的账户,总金额将额外收取 10% 手续费。 如需申请 KYC 认证或咨询其他问题,请通过以下方式联系我们: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ 邮箱: solomonbog@socnet.store SOCNET 商店有效链接: 数字商品商店(网站):进入 商店 Telegram 机器人:进入 – 通过 Telegram 消息应用便捷访问商店。 Telegram 星星购买机器人:进入 – 快速且优惠地购买 Telegram 星星。 SMM 面板:进入 – 推广您的社交媒体账户。 我们为您准备了最新的促销与特别优惠,用于购买我们的产品与服务: 1. 使用优惠码 OCTOBER2025(8% 折扣)即可在 9 月于我们的商店(网站或机器人)购物享受优惠!首次购买还可使用优惠码 SOCNET(15% 折扣)。 2. 获得 $1 商店余额或 10–20% 折扣 —— 只需在网站注册后按照以下格式留言:"SEND ME BONUS, MY USERNAME IS..." – 在我们的论坛帖中发布即可! 3. 首次试用 SMM 面板可获得 $1 奖励 —— 只需在网站(支持)提交标题为 “Get Trial Bonus” 的工单。 4. 每周在我们的 Telegram 频道及星星购买机器人中举行 Telegram 星星赠送活动! 新闻资讯: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh
  • Topics

×
×
  • 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