Welcome to MaxCheaters.com

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

Source L2jRoboto - A Fake Player Engine


Recommended Posts

Well,I dont come on topic with bad mean, but to express my opinion . Why to make a system of fake players farming etc.  To make l2 more dead as it is ? L2 need real players to play not some bots to prove that server have people online ,  it would be 10x times better to develop new things/ideas as you do and congrats for that but im not so positive on that . Me as player in a server need to play with real players , i would leave a server using fake engine cause of no action at all.  (i know my opinion dont really matter but i think that you and other people can understand me). Thats my opinion and i point out this is not bad criticism of that system.

Share this post


Link to post
Share on other sites
  • Replies 252
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

This project is discontinued Please find the new Autobots commercial engine below     _____________________________________________________________________________________________   L2j Roboto   So as I've already said i would share the fake player engine that i started working on. It is WIP so DO NOT use it on any production environment. I only share it cuz someone might be interested in giving a hand.   Features Features impleme

Working on a complete rewrite of the engine. Nothing in terms of AI has changed yet but now it fundamentally works in a different way. Instead of having a single repeatable task iterating over all the players on an interval each players has their own thinking "task". I use quotation marks because it's not really a task or a thread and it's not using the threadpool.    With an iteration speed of 200 milliseconds the bots can now think 5 times a second individually giving a way more flui

Update   Added EnchanterAI Added //spawnenchanter which spawns a random fake player with EnchanterAI   Enchanter AI is using the server's chances and max rates (acis doenst have safe in a config so i hardcoded it) in order to emulate a player that is trying to enchant his weapons, assuming he has unlimited scrolls and weapons.   Again, i suggest you use this feature to see how long it takes for a user to get to your server's max.    

Posted Images

21 minutes ago, Generic said:

Well,I dont come on topic with bad mean, but to express my opinion . Why to make a system of fake players farming etc.  To make l2 more dead as it is ? L2 need real players to play not some bots to prove that server have people online ,  it would be 10x times better to develop new things/ideas as you do and congrats for that but im not so positive on that . Me as player in a server need to play with real players , i would leave a server using fake engine cause of no action at all.  (i know my opinion dont really matter but i think that you and other people can understand me). Thats my opinion and i point out this is not bad criticism of that system.

Well if you played in any high profile server for the past 2 years then you definitely played with bots. This is nothing new. It’s just the first time that it is publicly available.

 

as I said before people should not use it, but I’m still gonna develop it till I’m bored.

  • Like 1

Share this post


Link to post
Share on other sites
53 minutes ago, Generic said:

Well,I dont come on topic with bad mean, but to express my opinion . Why to make a system of fake players farming etc.  To make l2 more dead as it is ? L2 need real players to play not some bots to prove that server have people online ,  it would be 10x times better to develop new things/ideas as you do and congrats for that but im not so positive on that . Me as player in a server need to play with real players , i would leave a server using fake engine cause of no action at all.  (i know my opinion dont really matter but i think that you and other people can understand me). Thats my opinion and i point out this is not bad criticism of that system.

 

Actually it's not gonna harm something that it's most part is "dead". Many servers used this and still do,you can't stop bot world in this game no matter what.Everyone prefers real competition,and not killing bot characters,however it's only matter of time till players completely stop to play on priv servers.Game is way too old,and i agree with developing new things & ideas.So in my personal opinion,he did well developing a better system,because no matter what servers would still use this,so why not use this version instead,wich is better and look like reality,esepcially on mass pvps.

Share this post


Link to post
Share on other sites

Update

 

Removed probability and random attack skill picking.

Added priority which drives skill picking.

Changed a few things and performance is now better than before (was able to load up to 380 in antharas without issue)

 

Stress tested in areas populated with mobs and even though CPU usage is clearly higher, it is not something to worry about.

 

 

  • Like 1
  • Upvote 1

Share this post


Link to post
Share on other sites

after viewing your code i see that you have long way to make this work and i am not talking about light wheighting the code...

you could make a fake system with 1 thread and 4 classes MAX (dress(skills, items), ai(attacking, movement skilluse, talking), mechanics(spawns, maps etc), and load) calls with Rnd (wont be perfect but its still shitty :D ) but you created a heavy engine without point that needs alot of work that you wont have the time eventually to finish.

 

after all this years i think the parts on l2 you should focus on creating should be more on new technologies and implementing them as extensions on l2 for example mailing systems live sound like radio for l2 clients live broadcasts you name it and code it this is wasting of your time and skill.

 

if you continue good luck to make it stable.

Edited by Nightw0lf

Share this post


Link to post
Share on other sites
26 minutes ago, Nightw0lf said:

after viewing your code i see that you have long way to make this work and i am not talking about light wheighting the code...

you could make a fake system with 1 thread and 4 classes MAX (dress(skills, items), ai(attacking, movement skilluse, talking), mechanics(spawns, maps etc), and load) calls with Rnd (wont be perfect but its still shitty :D ) but you created a heavy engine without point that needs alot of work that you wont have the time eventually to finish.

 

after all this years i think the parts on l2 you should focus on creating should be more on new technologies and implementing them as extensions on l2 for example mailing systems live sound like radio for l2 clients live broadcasts you name it and code it this is wasting of your time and skill.

 

if you continue good luck to make it stable.

If you have only one thread then you can't have short iterations. The whole point of making them look natural is that they can make decisions on the spot.

 

If you iterate over 100 players in 1 second then you HAVE to guarantee that the actions for every single player will be calculated in that one second which means an average of 10ms per player. That's insane/impossible (at least for combat). Quick mafs.

The code is meant for scaling but it can only scale to as much hardware as you provide.

 

Something like this (no matter how it is coded) will be as stable as the hardware and scale.

Edited by .Elfocrash

Share this post


Link to post
Share on other sites
3 minutes ago, .Elfocrash said:

If you have only one thread then you can't have short iterations. The whole point of making them look natural is that they can make decisions on the spot.

 

If you iterate over 100 players in 1 second then you HAVE to guarantee that the actions for every single player will be calculated in that one second which means an average of 10ms per player. That's insane/impossible. Quick mafs.

The code is meant for scaling but it can only scale to as much hardware as you provide.

 

Something like this (no matter how it is coded) will be as stable as the hardware and scale.

1 thread was propably bad example should be 5 threads running every 5 seconds to act as the nerve of each class then the Rnd will do the rest, i say this because its working fine and not 200 but 5000 bots with 0 cpu tolerance its like normal server witch i tested it actually it didnt effect at all the cpu or ram

Share this post


Link to post
Share on other sites
20 minutes ago, Nightw0lf said:

1 thread was propably bad example should be 5 threads running every 5 seconds to act as the nerve of each class then the Rnd will do the rest, i say this because its working fine and not 200 but 5000 bots with 0 cpu tolerance its like normal server witch i tested it actually it didnt effect at all the cpu or ram

5 seconds to make a decision is WAY to long mate.

I'd rather make something that feels normal but is heavy than something goody looking.

 

I already have a plan for action queuing which will improve performance A LOT as some bots won't have to be iterated for the next 3-6 seconds based on how many actions i can calculate in one iteration.

 

You think small, that's why you never did something big. (Talking about l2 btw. I don't know about anything in your personal life, so excuse me if that offends you)

Thanks for the input tho.

Edited by .Elfocrash
  • Upvote 1

Share this post


Link to post
Share on other sites
1 minute ago, .Elfocrash said:

5 seconds to make a decision is WAY to long mate.

I'd rather make something that feels normal but is heavy than something goody looking.

 

I already have a plan for action queuing which will improve performance A LOT as some bots won't have to be iterated for the next 3-6 seconds based on how many actions i can calculate in one iteration.

 

You think small, that's why you never did something big. 

Thanks for the input tho.

you dont understand the point of thread excecution and i cant explain it cause i dont know java by book the thread numbers are examples the how to use them is the point imagine a wheel running at 300km/h and you pick actions for each player

you created to many wheels at 300km/h that do actions 

but i am curious what you can do as always you have the skill but you dont go smart you go all the way arround

 

i felt a small satisfaction that i created it before you and it took me 4 hours creation 2 days to adjust timings (since it took me 2 hours each time to automaticly load the player count of 6000+- cause you have to fake even the login hahahahaha ) every time i was opening the server but you are right i am not the sharing person i keep "big" things for my self i dont find reasons to share

Share this post


Link to post
Share on other sites
56 minutes ago, Nightw0lf said:

i felt a small satisfaction that i created it before you and it took me 4 hours creation 2 days to adjust timings (since it took me 2 hours each time to automaticly load the player count of 6000+- cause you have to fake even the login hahahahaha ) every time i was opening the server but you are right i am not the sharing person i keep "big" things for my self i dont find reasons to share

2 things.

First, my first iteration of this back in 2016, and it is developed EXACTLY as you describe. One thread, iterating over all the players every 5 seconds. I was able to load up to 5-6k bots with no problem in performance but they did nothing but autoattack. Also there is no login process.

 

Now to load even a fraction of that with bots that actually do stuff and they do them fast is impossible with one thread or even with many.

 

Second, in terms of when you did what and how you did it, it goes over my head because i didn't see any code.

I also do not care about when things happened or how it happened. 

If you have a pair then share the code with everyone.

 

If not then you might wanna go back to whatever it is you are doing.

 

 

Edited by .Elfocrash

Share this post


Link to post
Share on other sites

2016 is 4 years leter than mine and i described the basic work i did so you can start think better for yours already shared my thoughts with you and how you did wrong the main think of it and its not always about sharing code i shared some of my experience i had with something that has to do with your engine and i tell you again that the core is wrongly thought you can do better and i know thats why i told you all that, aside that i wish you the best

Share this post


Link to post
Share on other sites
8 minutes ago, Nightw0lf said:

2016 is 4 years leter than mine and i described the basic work i did so you can start think better for yours already shared my thoughts with you and how you did wrong the main think of it and its not always about sharing code i shared some of my experience i had with something that has to do with your engine and i tell you again that the core is wrongly thought you can do better and i know thats why i told you all that, aside that i wish you the best

Mate what you don't understand is that this is not a race.

 

Your logic is flawed by design. Your experience doesn't help anyone because it is basic.
If you think you can maintain the SAME level of functionality with better performance then be my guest, and show us your iteration. I am sure there are a million better ways to do this, but yours is not one of them.

If not, then go back doing what you do best. Nothing. :) 

Edited by .Elfocrash

Share this post


Link to post
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.

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.