Jump to content

Recommended Posts

Posted
 

I didn't read your greeklish answer, simply because I won't use 2 different translators to understand and answer you. If you don't make an effort to speak english on an english section, that's not my problem.

 

If you create 5000 mobs in the same location, it generates 5000 knownlists with 4999 entries (that's 2kk entries, while most of the knownlists got maybe 20-30 max, which means you generate more data from those knownlists than on all existing spawnlist), it also send 5000 packets to any player, randomly spread over 12 sec simply for the social action effect (I don't even tell you about other actions such as movement and attack). Giving the fact than network flood config is setted to 80 packets / seconds by default, you got big luck being not disconnected.

 

The lag you got is client related, not server side. And finally, server uses as much as memory than you give him. If you give 8g, it will eat more than if you gave 4g, and it will eat less if you use 2g (EVEN IF YOU DIDN'T EDIT ANYTHING MEANWHILE). The only difference would be the garbage collection time, which will be delayed if you add more ram ON JVM.

 

Finally pirama, what proves your videos ? That you know something than I don't ? That you (or someone you paid for most probably) found a bug ? Simply share what you know if you know a memory leak, instead of playing your little boy. Your server is nothing more than an aCis server, after all.

 

PS : and your client still lags, so what the fuck ?

on 2Gb your pack crach eazy .... yes your knownlist is very slow and loss many MB of ram need delete and create new faster 

and mob Ai need job or no. work all fine ?

 

Client lag bcs fps reach 0 with such a big amount of objects.

i dont said nothing for client lag

 

Obvisouly, but that means pirama is only happy to show us on HIS server he uses 1g RAM lesser. He probably tweaked knownlist system, in order other monsters don't see each other, and that's it. Because with identical configuration, that's the only thing which can be affected between his 2 videos.

 

Big boy !

or i create i KnownList on every 1 zone and all take of them all known Object :) you like ?

faster and low memory work 100% stable and all is nicely :)

what you think ?

Posted

 

 

on 2Gb your pack crach eazy .... yes your knownlist is very slow and loss many MB of ram need delete and create new faster 

and mob Ai need job or no. work all fine ?

 

i dont said nothing for client lag

 

or i create i KnownList on every 1 zone and all take of them all known Object :) you like ?

faster and low memory work 100% stable and all is nicely :)

what you think ?

 

 

 

You have no clue what a knowlist is, or how it works. So keep your mouth shut

Posted (edited)

You picked the idea on Lucera 2.0 most probably. And that's a workbench on my own private workbench since 07 May 2015, 17:58:08 

 


I took a look over knownlist system after a speak with UnAfraid, result is kinda troublesome :

88x128 = 11264 L2WorldRegion, each holding 2 ConcurrentHashMap = 22528 maps.
Knownlists system, 1 ConcurrentHashMap per knownlist, 1 per spawn = 40676 maps.

With that simple system of knownlist, it's over 63204 Concurrent maps generated on server startup.

The idea would be to rely only on L2WorldRegion maps to find the knownlist, as, anyway we already use knownlists system to generate such radius check list (skills). Which is basically, get the NPC L2WorldRegion, pick surrounding L2WorldRegion, collect all L2Objects and then restrict it to npc range.

The problem is to know how to trigger events, such as player entered on npc range. There is already a task running every 1.25sec updating knownlist, we could use it to make a differential between old and new knownlist to trigger forget/newcomer event.

The idea is to shortcut the number of Maps as anyway we generate a lot of dynamic data (getknownlist by type and by radius, and the knownlist is also generated from a radius = 2 radius checks instead of 1). The point is to go from (static) 60k maps down to 10k, and cut the way data is processed (atm it checks a range 1500, then filter by the getDistancetoWatch value).

Your thoughts ?

 

 

If you got such idea already implemented, I would be glad to test and eventually commit it.

 

PS : if you didn't copied-pasted it, I'm almost sure you got issues.

Edited by Tryskell
Posted

You picked the idea on Lucera 2.0 most probably. And that's a workbench on my own private workbench since 07 May 2015, 17:58:08 

 

 

If you got such idea already implemented, I would be glad to test and eventually commit it.

 

PS : if you didn't copied-pasted it, I'm almost sure you got issues.

to tell the truth the first time I see this

but so is almost the same reasoning

I simply split into smaller pieces for I have more big performance ...

Posted

Share a code based on latest (or latest free if you haven't) and I will find you issues ;). It would be impressive you thought about all, until you use another completely different system.

Posted

Yeah L2J knownlist or any related kind suck.

 

Per region knownlist is the right way to go as he said, and you should as soon as you can. Lower memory consumption and packets amount.

Posted

Yeah L2J knownlist or any related kind suck.

 

Per region knownlist is the right way to go as he said, and you should as soon as you can. Lower memory consumption and packets amount.

 

I know, it's a personal idea I got since at least 2014. Then I spoke with UnAfraid, and then 2 months later I saw some Lucera 2.0 sources with such feature. Didn't yet tested anything, as I'm still stucked with scripts and shit.

 

Well the good point is, my ideas aren't that bad.

 

About packets, I don't think it is affected on any possible scenario. We only speak about knownlist generation which would be now calculated directly "on the fly" instead of stored, I guess. Retrieve the surrounding areas, merge knownlists of each zone on a new temporary map, and then calculate range / filter retained class types. And serve. The only problem then would be refreshing it, adding or remove an object from object's view. You have to keep a relation between each object, normally.

 

I didn't dig a lot, those are only thoughts.

Posted (edited)

Share a code based on latest (or latest free if you haven't) and I will find you issues ;). It would be impressive you thought about all, until you use another completely different system.

me and share don't go together :P

http://www.la2howl.com/

join for test and if you see everyone but. tell me and i fix it alone :)

 

you need it for copy / paste ?

 

 

Edit : You have knowledge finally ... do not you go along with the rest .

but your project far behind to be able to judge L2jHellas 

now Said good luck on L2jHellas . and go to fix your pack :P

Edited by pirama
Posted (edited)

you need it for copy / paste ?

 

I would be idiot to don't add a code which works as intented. I got no problems to copy-paste from the moment I got the authorization and I don't break author own thoughts about it. Why reinventing the wheel when someone did it ?

 

Did you code your own MMOCore, your own L2J pack ? Ofc not. You reused L2J and aCis work. You simply copied pasted it.

 

The least of your thanks is to help my pack to raise, instead of spit on it while using it (which is a ridiculous concept). That's thanks to your behavior than L2J is still on point 0 on progression bar. People creates stuff, and then decide to delete timeline or projects. Things are lost and have to be remade from zero.

 

You blame me than I copy-paste, but I just showed you than L2JHellas copied-paste aCis (and 300+ scripts it's not a godamn idiot knownlist system).

 

You can keep your secrets if you want, it's not like I can't do it. And probably better, shorter and well-documented. But it's sad to see that you use my pack, spit on me without sharing anything. Moreover if I find issues or performance boost, it's not like you wouldn't benefit it.

 

But that's your own call, and you can continue to act as childish as usual. When I will fix it, you will have to find another way to impress people.

Edited by Tryskell
Posted

I would be idiot to don't add a code which works as intented. I got no problems to copy-paste from the moment I got the authorization and I don't break author own thoughts about it. Why reinventing the wheel when someone did it ?

 

Did you code your own MMOCore, your own L2J pack ? Ofc not. You reused L2J and aCis work. You simply copied pasted it.

 

The least of your thanks is to help my pack to raise, instead of spit on it while using it (which is a ridiculous concept). That's thanks to your behavior than L2J is still on point 0 on progression bar. People creates stuff, and then decide to delete timeline or projects. Things are lost and have to be remade from zero.

 

You blame me than I copy-paste, but I just showed you than L2JHellas copied-paste aCis (and 300+ scripts it's not a godamn idiot knownlist system).

 

You can keep your secrets if you want, it's not like I can't do it. And probably better, shorter and well-documented. But it's sad to see that you use my pack, spit on me without sharing anything. Moreover if I find issues or performance boost, it's not like you wouldn't benefit it.

 

But that's your own call, and you can continue to act as childish as usual. When I will fix it, you will have to find another way to impress people.

- If you would have done it long ago

- not waiting for me to implement it

- It has to do with the management of server . if you only knew as you say because I did not ?

- in that I said that he is aware not to do to ride the pole

 

- cu by me :)

 

Good Luck L2j Hellas !!!

Posted

- If you would have done it long ago

- not waiting for me to implement it

- It has to do with the management of server . if you only knew as you say because I did not ?

- in that I said that he is aware not to do to ride the pole

 

- cu by me :)

 

Good Luck L2j Hellas !!!

 

Cool story then, you only "show off" your impressive skills. From memory you already did in the past, for the exact same subject. Except now I know what you mean.

 

And I'm sorry to dissapoint you, but I got other things to code and rework (without me L2JHellas would never have full scripts folder after all), and while it's a decent boost, strictly none idiot (except you so far) would add 5000 NPCs on the same spot. Moreover when it is still lagging like shit, which means on client side you got strictly 0 amelioration (on a xxdem PoV, it would be considered useless).

 

I stop the offtopic from here.

 

Amen.

 

PS : I still clearly doubt you coded or even got the idea to recode it by yourself.

Posted

Cool story then, you only "show off" your impressive skills. From memory you already did in the past, for the exact same subject. Except now I know what you mean.

 

And I'm sorry to dissapoint you, but I got other things to code and rework (without me L2JHellas would never have full scripts folder after all), and while it's a decent boost, strictly none idiot (except you so far) would add 5000 NPCs on the same spot. Moreover when it is still lagging like shit, which means on client side you got strictly 0 amelioration (on a xxdem PoV, it would be considered useless).

 

I stop the offtopic from here.

 

Amen.

 

PS : I still clearly doubt you coded or even got the idea to recode it by yourself.

only that you say words in the air while I have it in on online server 

ok on 5000 idiot notion...

10 mob on me pack take 1 mb ram and 0.01 cpu      

and on your project take 10 mb ram and 0.1 cpu

i create this ( fix / update ) for this code 

https://www.youtube.com/watch?v=IBYSj1sPcgk

and yes this code need fast update on knownlist for dont crash the server if 100 player join on same time

and without this code me pack use lower cpu and ram at play

now see your problem's ... if i have bug's join on server forum and report it

Posted (edited)

I know, it's a personal idea I got since at least 2014. Then I spoke with UnAfraid, and then 2 months later I saw some Lucera 2.0 sources with such feature. Didn't yet tested anything, as I'm still stucked with scripts and shit.

 

Well the good point is, my ideas aren't that bad.

 

About packets, I don't think it is affected on any possible scenario. We only speak about knownlist generation which would be now calculated directly "on the fly" instead of stored, I guess. Retrieve the surrounding areas, merge knownlists of each zone on a new temporary map, and then calculate range / filter retained class types. And serve. The only problem then would be refreshing it, adding or remove an object from object's view. You have to keep a relation between each object, normally.

 

I didn't dig a lot, those are only thoughts.

That's not a proper approach

 

Or it's just the wording

Edited by Sdw
Posted

off topic 

 

Yup Pirama doesn't like me, dunno why. I did nothing to his family. Never insulted. Never scammed. Didn't touch his dog/cat/redfish. And none of my ex-girlfriends were greek or greeklish. I swear.

now i see this post

 

some years ago had an offensive message to followed by residents from each post in which did you do 
and refers to the Greeks....
not need more :P
Guest
This topic is now closed to further replies.



  • Posts

    • in conclusion when somebody who has a project for 10+ years still on development writes an e-say to try until you succeed and then advertises his project, one of the reasons is he needs money, so l2j has once more become pure expensive hobby, you wont make money out of it.   You can still use L2jFrozen and get better results for this, i know some people that done it    keep in mind that C in aCis stands for Crappy, and after all these years its not a cool wordplay anymore, its a fact, prove me wrong.
    • First, don't really follow the "main voice", moreover if you consider it an hobby. Simply do what you want, you got only one life so use it as you want. If you make it an hobby, it's exactly like piano, or velo - only practice makes you better.   Secondly, how do you learn things ? It's actually a really important question, since some can simply be scholar, read books (theory) then practice ; and some simply can't read books. I'm the second type, I hated school, I find it boring - my knowledge in Java comes from try-and-fail. You improve your coding style every year or so, I can myself rewrite my own code (which I already considered top-notched) after a while. You always learn something new - even if Java barely evolves. L2J is a fun way to learn programming, it's a giant sandbox where you can edit anything, and I believe it should be taken as it.   My own way of learning was as follow : Add existing customs, no matter what they are : the point is to know main classes used by L2J / customs. L2J is barely Java knowledge ; the true knowledge is to know WHAT to search in WHICH location (what I call, organization). You have to understand than EVERYTHING you think already exists, in a form on another, in the source code. A custom is only the association of the different mechanisms you found "here and there", glued together in a proper goal. Once you know main classes to edit, and the customs you added are compiling fine, the main point is to know WHAT exactly you DID. Try to understand WHY and WHERE you actually copied the code. Third point would be to MANIPULATE the customs you added in order to fit your wish. First edit little values, then logic conditions ; eventually add a new Config, or a new functionality to the custom. Fourth point would be to begin to craft your own ideas. Once again, EVERYTHING already exists, in a form or another. You want a cycled event ? You got Seven Signs main task as exemple. Npc ? Search any type of Npc and figure out what it does. Fifth point would be to understand Java - mostly containers (WHAT and WHERE to use them), variables types and main Java mechanisms (inheritance, static modifier, etc). You should also begin to cut your code into maintainable classes or methods. Java can actually run without optimization, but bigger your ideas, more optimized and well-thought it should be. It's direct saved time in the future, and you would thank yourself doing so. Main tips : ALWAYS use any type of versioning system - GIT or SVN. It allows to save your work, step by step and eventually revert back anytime you want if you terribly messed up. L2J is 80% organization knowledge, and 20% Java knowledge. Basically, if you know WHAT and WHERE to search, if you aren't dumb, it's easy to replicate and re-use things. Cherry on top is to use a already good coded pack to avoid copy-paste crap and get bad habits. Avoid any type of russian or brazilian packs, for exemple - their best ability is to leak someone's else code. Obviously you need some default sense of logic, but Java and programming in general help you to improve it.   Finally, most of your questions could be solved joining related Discord (at least for aCis, I can't speak for others) - from the moment your question was correctly asked (and you seemed to search for the answer). My community (and myself) welcomes newbies, but got some issues with noobies.   The simpliest is to try, fail and repeat until you succeed - it sounds stupid, but that's basically how life works.   PS : about Java ressources, before ChatGPT, it was mostly about stackoverflow website, and site like Baeldung's one. With ChatGPT and alike, you generally double-cross AI output to avoid fucked up answers. Also, care about AI, they are often hallucinating really hard, even today. They can give you complete wrong answer, you tell them they are wrong, and they say "indeed, I suck, sorry - here's a new fucked up answer". You shouldn't 100% rely over AI answer, even if that can give sometimes legit answers, full code or just skeletons of ideas.   PPS : I don't think there are reliable ressources regarding L2J itself, also most of the proposed code decays pretty fast if the source code is actually maintained (at least for aCis). Still, old coded customs for old aCis sources are actually a good beginner challenge to apply on latest source.
    • WTS: - AQ - Baium - Zaken  - Frintezza - Vesper Fighter Focus Fire Element   pm for detalis
  • 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