• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • ExilebuddyBeta Developers Testing/Feedback Thread

    Discussion in 'Archives' started by pushedx, May 22, 2014.

    Thread Status:
    Not open for further replies.
    1. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Beta has been available for use as soon as this thread was made. :)

      Just click on the Latest Download link in the second post, and you'll get the latest Beta available.

      The ExilebuddyBeta User's Guide also goes over most of the basics, but a few of the images need updating. They will be updated soonish, but for the most part, all of the information there is still relevant.

      As for your question, the code aspect is always going to be a main part of the project. If you want to avoid it entirely, you're going to be really limited as to what you can do and configure with what we provide. We have to take an approach of general -> specific. So, we'll make sure we have all the capabilities for people to do the things they want, but we can't specialize all of those capabilities into really polished features for end users in the short term. As time goes on, and we have less broad things to do, we'll be able to start focusing on specializing various things, but that's not going to be anytime soon for the short term.

      That is where the whole user driven development aspect comes in. If people want to make things better than we have our basics setup, they'll be able to. That's been the driving focus for the Beta rewrite, to get the project setup in a way where people can actually develop meaningful things with what we provide and not be impeded by our code.

      To answer your question directly, the answer would be no, you won't be able to completely configure the strongbox logic through a gui with what we provide, because what we provide right now, is the means to do those specific interactions with the strongboxes. How the bot actually does it, is dependent on the implementation used. For just showing off the feature, I added in a basic example that uses transmutations on a white strongbox, but obviously there's a lot of different things that can be done. Writing a fully complete system that was fully configurable through a gui would make for a good plugin, but on the priority list for the things to work on right now, that's pretty low.

      The current critial priority list for beta is as follows:
      1. Rewrite Exile into something more usable with a minimal gui.
      2. Rewrite TspExplorer to fix the performance issues when exploring.

      Once those two things are finished, Beta is pretty much ready for more general use and testing, and where we go from there, will be dependent on the feedback we get. Extensive strongbox features would be nice, but those only exist in one league right now, so it would be better for us to work towards general quest support, boss farming, or actual map logic before specializing a feature like that. I do foresee strongboxes becoming a standard feature of the game, like Shrines did, but we're still months away from that possibly happening.

      Hopefully that makes sense as to the direction we're going in; general support first, and then specialization later.
       
    2. babosasa

      babosasa New Member

      Joined:
      Jun 22, 2012
      Messages:
      417
      Likes Received:
      0
      Trophy Points:
      0
      need some anti-detection as well, the current release of bot is easily detectable by GGG >_<
       
    3. randomstraw

      randomstraw Community Developer

      Joined:
      Jul 17, 2012
      Messages:
      1,611
      Likes Received:
      10
      Trophy Points:
      38
      contrary my friend, the bot is not detectable, some sequences of doing things in a certain way are! :p
       
    4. IeU

      IeU Member

      Joined:
      Jul 20, 2010
      Messages:
      830
      Likes Received:
      11
      Trophy Points:
      18
      Indeed. He got banned for botting 12h hours a day on 2 accounts under the same IP and come here say that EB is detectable . . .
       
    5. iargue

      iargue Member

      Joined:
      Mar 20, 2012
      Messages:
      125
      Likes Received:
      2
      Trophy Points:
      18
      To be fair, if the bot was undetectable, then GGG would never ever know about it running, even if you ran for 24 hours, it would magically find a way to fool riot's logging.

      "However, no bot will ever be. This bot is nor any more detectable then any other bot. 99.9% of the problems come from stupidity itself.
       
    6. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Beta #827 was just built. The past few versions have been various bug fixes, improvements based on feedback, and additional ground work for the new default CR.

      The new default CR is now implemented into the Beta. The new design is setup to provide a limited set of configurations of how to use a skill, and let the user select which skills to use from the GUI. More advanced logic or settings will be up to users to do, as it's not possible for us to cover all the ground with a generic CR. To get started, simply go to the Settings -> ExilebuddyRoutine. Hoover over the labels for a tooltip as to what each option is for. We'll have a guide on some basic usage later after the CR has some more functianlity added, as it's not done yet. However, it's in a more than usable state to start testing things with for most builds. Totem/Minion options are not added yet, but they will be later. Likewise with buff/aura stuff. Furthermore, another range setting needs to be added, some time on target tracking so the bot doesn't get stuck due to desync, and other improvements like that will be added to give something for users to work with.

      As I mentioned in a previous reply, the two biggest issues to address in Beta right now are the default CR, which is well on its way, and rewriting the TspExplorer. Fixing the explorer is now the main focus to address the performance issues that can be seen when the bot is moving around. Once that is done, a few days will be spent updating guides and docs for the new stuff in preparation of more testing/use. From there, some new features and improvements will start making their way into the Beta, such as the start of basic map and quest stuff.
       
    7. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Beta #828 was just built. This version re-adds some previous bot settings and adds corrupted area support.

      In addition, some long time problems with new instances was addressed. In the past, there was a conflict between various new instance settings, such as deaths before new instance, abandoning an area, or completing a corrupted area. The old code was not setup to track a new instance override flag, so the bot can make a new instance when needed when default settings otherwise would create negative scenarios such as infinite area loops. This issue should now be resolved, as some global state was added to track these things.

      When a corrupted area is now completed, the bot will travel back to the entrance, and return to the area that was before. The corrupted area is then blacklisted so the bot will never take it again, which was another issue the old bot had. There's a few more scenarios that need to have new logic added, such as time in instance, but those core settings are not implemented yet.

      Finally, some more tweaking has been done to chest/loot pois to try and address various stuck issues. Unfortunately, there might be times the bot totally skips over things, but it's to keep the bot progressing and not getting stuck due to some really odd scenarios that happen in this game.
       
    8. cyberbot

      cyberbot Member

      Joined:
      Mar 15, 2014
      Messages:
      220
      Likes Received:
      2
      Trophy Points:
      18
      The beta is getting more exciting day by day.

      I actually like the bot to teleport out when it is finished with a corrupted area, because it would be able to look for the next corrupted area faster, where there is better exp and loot. Could you add an option to keep the old behavior?
       
      Last edited: Jun 28, 2014
    9. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Yeap, the next beta will have a new option called NewRunAfterCorruptedAreaExplored. When enabled, the bot will use a portal (and then logout if it can't) when exploration is completed in a corrupted area. The parent area that contained the corrupted area has its new instance override flag set, so the next time the bot tries to enter the area, whether it's accessible via a waypoint or another area, it'll create a new instance. The new default behavior will be as previously mentioned, the bot will take the area transition back into the parent zone, and continue on. If it can't take the area transition for some reason, it'll then fall back to portal, and then logout.
       
    10. pd9

      pd9 New Member

      Joined:
      May 1, 2014
      Messages:
      10
      Likes Received:
      0
      Trophy Points:
      0
      Any ETA on the buff logic?

      SpellManager seems to have changed a bit in beta vs release
       
    11. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Beta #831 was just built. This version improves some performance issues as well as extend the ExilebuddyRoutine to handle auras correctly now. The layout for skills and curses has also changed, so it's a good idea to delete your old ExilebuddyRoutine.json for your characters and have it re-created. Settings are currently changing a lot, so if anything seems broken, just use a fresh copy of the bot each time.

      Very soon! Curses and Auras were just updated to work using a new layout, and Buffs will be added next. I went ahead and just built the current Beta for people to test the performance changes, so hopefully it's running better now. I'll get Buffs added later tonight or first thing tomorrow for the next version.

      Correct, SpellManager has been updated quite a bit to work better with the new setup. Was there anything in particular you want to know or are you just looking at differences between the old CR and the new?
       
    12. pd9

      pd9 New Member

      Joined:
      May 1, 2014
      Messages:
      10
      Likes Received:
      0
      Trophy Points:
      0
      I have a bit of a modified exilebuddyroutine that implements some logic for blood rage/molten shell.

      I was just wondering why the composite logic/delegate definitions were taken out of SpellManager. Were they too specific to a few operations?
       
    13. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      TreeSharp is no longer being used. We are migrating away from that design in favor of coroutines. The library is still there, and you're free to try to use it with the new coroutine implementations, but it's not recommended.

      The reason is primary due to how this game works, and how trying to interact with the client without using coroutines is very verbose, and hard to maintain. I'll give you a basic example, as I have a more in-depth explanation somewhere in another thread as to why the bot has/will have the problems it does.

      In most games, there is a ClickToMove client function you can pretty much call with coordinates to make your character move. The bot would call the client's C2M function, the client builds the packet, and sends it off to the server. The client then waits for a server response to actually move, based on the result of the move action. This is the basic client/server model a lot of games use.

      In Path of Exile, there is a client sided simulation running in parallel with the servers. When you move your character on the client, it moves right away according to the client's simulation, and then sends the movement packet to the server. The client doesn't handle the movement result smoothly at all, and thus, the desync issues this game has starts to manifest. On your screen, you might be on one side of a wall, but on the server, you're on a totally different side.

      This type of system is a nightmare for bots, because the bot is dependent on the client being as accurate as possible to work. Now the problem with PoE, is that there is no true C2M functions. Instead, they have an input system where the current action is built up based on the current state of input, and then they queue and fire events when the button is detected being down and so on, so a polling setup. This presents a problem for single frame actions, because they are not possible. If you do it, you end up desyncing the client even more than normally, and risk breaking the client in ways that trigger flags/bans. As a result, to do anything with the client, it has to be done across multiple frames. Trying to do that using BTs is messy because you have to re-execute the same thing but do different logic depending on which frame you're on.

      Coroutines allow us to solve the problem nicely, as we just setup things how they need to be to emulate the action, yield to let the client update its state, and then we can perform the action in one nice continuation without having to do any extra work. Now the downside to the way we have to do things is that everything is pretty inaccurate, but there's not much we can do about that. With the new logic being used in Beta, we tried to make the bot less "spammy" (it's already a spammy game by nature) by performing single actions at a time to try and help reduce desync by making the client do less. Due to the way the bot works, the overhead added to the client when its running does affect it, but enough desync happens in this game as it is playing legit, so that's to be expected.

      There's a whole bunch of other things that go on in the client that have to be accounted for, which is why the bot has a lot of random problems that you don't see in others. A lot of these issues have tried to be coded around as best as possible in the new Beta, but they will still happen time to time. There's really not too much else that can be done to resolve those issues, because it's purely a result of how the client works, and what we have to work with in order to make a working bot.

      Hopefully that clears up the issue. Basically, non-coroutine designs are not optimal for PoE if you want to solve a lot of the problems you see in Release in places where they aren't used.
       
    14. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      #832 was just built. This version adds in some basic buff logic for the main buff skills. The display format for spells was also updated to show the inventory item slot and socket index the skill is in, in case you are leveling more than one copy of a gem and need to distinguish them. A few experimental fixes have also put into place for when the framelock is lost in the middle of bot execution.

      #833 was just built. This version adds the logic needed to access some blocked area transitions as well as settings for hp/mp trigger values.

      #835 was just built. This version adds the ItemFilterEditor back as well as a few bug fixes.

      #836 was just built. This version fixes the Python console and fixes a few dev specific things. This is most likely the last version before waiting for the 1.5.X update tomorrow.

      #837 was just built. It fixes an issue in the previous build that went unnoticed and adds the Object Explorer window.
       
      Last edited: Jul 2, 2014
    15. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      #838 was just built. This version updates for 1.1.5.1 and adds support for most of Act 1's static location detection. The purpose of that system is to allow the bot to work towards a position so it doesn't have to explore the entire map. An example of where this logic will be used, is bot runs, for instance. In addition, for the new explorer, the logic will be able to make its way towards a waypoint for an area if it doesn't have it first, and then get back to general exploration.

      Since the client changed some, please report any new issues that seem to pop up if you're testing Beta. It's getting closer and closer to replacing Release, so please don't feel afraid to try it out and leave feedback if you haven't already/
       
    16. krone6

      krone6 Member

      Joined:
      Jun 11, 2012
      Messages:
      441
      Likes Received:
      0
      Trophy Points:
      16
      So if I get this right, we'd be able to tell it to fight to the waypoint and then explore everything else that it didn't fight when it went there?
       
    17. cyberbot

      cyberbot Member

      Joined:
      Mar 15, 2014
      Messages:
      220
      Likes Received:
      2
      Trophy Points:
      18
      I have started looking into the beta. There are old features/plugins that I am missing.

      1) Will gem leveling be part of the new bot? or will it be an official plugin for the new bot?

      2) Please consider adding the following plugin to be an official plug or even part of the bot. Showing the dropped items has been very useful for me and probably other users:
      https://www.thebuddyforum.com/exile...-profiles/143289-plugin-advanced-itemlog.html

      3) Do you have any tips for us on how to write a plugin that regularly switches grind zones using the new API?

      Thanks!
       
    18. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Yes, a new plugin will be added to handle it using the new setup. The way the new CR is setup with the skills should allow the issues with the old one to be finally fixed when it comes to selecting skill gems to level.

      Users can create and share plugins like that. It's why the project is setup how it currently is. :)

      ExilebuddyBotSettings.Instance.GrindZoneDifficulty and ExilebuddyBotSettings.Instance.GrindZoneName now control where the bot grinds at. To change it, you'd just directly assign those values. Here's a modified ExamplePlugin that shows doing that:
      You need to register and have one post to see spoilers!
      The areas relevant are just ExplorerOnOnExplorationComplete and OnEnable/OnDisable. How you want to manage switching and all that is up to you, but that's about all there is to it.
       
    19. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Beta #840 was just built. This version implements a lot of behind the scenes fixes for various things in the main gui. Some basic totem logic has been added, so the bot will use assigned totems during combat, after buffs, but before skills.

      Finally, the Log tab is gone and has been moved to be the bottom portion of the entire bot gui similarly to before, except it's always shown. This was done, because being able to always see the log is very useful, especially during development, and having to switch to the Log tab each time to see what was going on was getting annoying. There is a splitter bar you can use to resize the top and bottom portions, and the gui settings save your positions.

      The updated skillgem leveler plugin will be the next thing worked on right now and should hopefully be in the next version. There's still a lot of little things to update in the new bot, and some big things, but it's still progressing nicely I think.
       
    20. IeU

      IeU Member

      Joined:
      Jul 20, 2010
      Messages:
      830
      Likes Received:
      11
      Trophy Points:
      18
      Nice work pushed! Keep it coming! Now i am just waiting for the 1 month to start . . .

      PS: Please add Minions support :D
       
    Thread Status:
    Not open for further replies.

    Share This Page