What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Status
Not open for further replies.

pushedx

Well-Known Member
Joined
Sep 24, 2013
Messages
4,252
Exilebuddy will be undergoing extended maintenance for the Path of Exile: The Awakening update when it releases at the end of this week (assuming it's not delayed). There is no ETA on how long the full update will take, especially given the number of changes that usually take place the first week of a release of a new act and changes to game mechanics. However, we expect a few weeks at least, so please be aware of this and plan accordingly. Users will be compensated for the downtime, as usual, and updates will be posted time to time as needed in this thread.

With this update, Exilebuddy will also be transiting into a new version (which has been the focus of the Beta forum). This update will cause most existing code to break and need to be updated. The forum layout will be adjusted soon to reflect this as well. The current Release version of EB will no longer exist once the game updates to the new version, and will not be updated (so please try avoid posting threads about wanting the old version back, as that always happens during a big update).

Due to the nature of the changes in the game and the bot, a Beta version of EB will be the first thing released when ready for users to test. A more stable Release version will be made most likely a month or so later depending on how the game/bot update goes. More information about what the new version of EB contains and how the default grind bot / routine we provide works will be made later as part of a Beta release thread.

This thread is just to give users a heads up about how things will go once the patch hits. Thank you for reading!
 
Update 1

The update is progressing along very well. While certain aspects of the API still need to be tested to ensure nothing broke, the expanded API is pretty much working with the new client version. I say expanded API because for this new version of EB, a lot of API support for things EB has been missing for a while now has finally been worked in. This includes a passive skill tree API, a social panel API, and a trade API. With the new core changes to the design of EB, devs should now be able to do almost anything compared to before in much easier and versatile ways.

To start out, the old routine and grind bot will be used for the first few months or so with PoE 2.0+. Trying to rewrite the logic for the entire bot and routine is no short task, and the final phase of beta did not last long enough with all of the final content to allow for any further updates (especially considering the wipes that took place). The old bot and routine will be receiving some minor updates to work properly with the new game, but they will not take advantage of all the new features the EB core has to offer. In addition, since plugins will break with the new interface changes, as a lot of them need to be updated entirely to support the game layout changes, a few convenience features will be added in short term until a replacement for the bot/routine is made. These included built in support for staying in boss areas so exploration doesn't complete too early, support for some of the new act 4 content, and things like that. Quest and progression features still won't be added to the grind bot, as it'd take too much time, and that time is better spent correctly implementing them in the replacement via plugin examples.

In terms of the current todo list for preparing EB for the first Beta test (which I hope can be mid-late this upcoming weekend) is as follows:
  • Finish testings various API features, like quest/ quest state stuff, vendor buying, for example.
  • Add the old full clear plugin logic as the default bot logic to handle some mechanics in Daresso's areas (you have to kill everything to progress).
  • Attempt to support navigating though The Grand Arena properly.
  • Double check the area progressing though Sewers in Act 2, as it received a change in Beta after the bot had been updated to progress though the new areas.
  • Make sure item filters in the client don't break the bot. I'm not actually using them myself.
  • Find a workaround for the old item filter editor to be usable in the new version (some things broke due to build server changes). The new item filter editor will not make it into the initial release.
  • Cheat detection stuff.

The last point is obviously the only thing that would hold back a release, with fixing the item filter editor second. The rest are things that would be nice to get out of the way, but would not hold back an initial beta release.

While there have been numerous improvements and additions to the API for working with the game, there's a few aspects that still remain unknown. Support will not be added for the final boss fight any time soon due to the complexity and difficulty of the current implementation. Support is being looked into for other things, although the basics are in place. For example, in the Vaal fight, the API can find the rock spawners, and knows when Vaal is casting the rock fall, but it doesn't know about each individual rock that is falling. In the Merveil fight, it knows when Merveil is casting firestorm (with the ice effects), but it cannot detect the firestorm affected area. Basically, the animation and visuals need to be worked out somehow to add support for these things, but there's been no luck so far with it.

Other than that, the new ObjectExplorer plugin, which replaces the old tool built into the bot, has been greatly expanded and improved to allow more information to be shown for trying to track things down or find useful, but unlabeled data. The past few days was spent updating all components and supporting ToString correctly in most of them so users can see more information than before via the ObjectExplorer. This will help write more advanced logic or detection various states that need to be handled for things like boss fights.

That's about it for this update. There's still a lot of information about changes, improvements, and limitations that will be made closer to the actual Beta test.
 
Update 2:

One big thing is left, and then a few minor things before the Beta version is made later this weekend. It will still take some time to throw together the actual beta thread itself, and include updated guides for getting started, so we're hopefully looking at a release late Sunday if all goes well. Here's the current set of patch notes for beta. Keep in mind this update consists of work done over the past 2.5 months!

Current Patch Notes:
Code:
* The default routine will ignore Piety's portals now.
* Added ObjectManager.DeshretSeal.
* Added HandleDeshretSeal so the bot can leave Act 4 once the quest item is in the inventory.
* Quest debugging added to ObjectExplorer. Quest states are listed for quests in the current act only, to avoid client issues with data not loaded.
* Updates for 2.0.0.11.
* Added ObjectManager.LockedDoor.
* Added HandleLockedDoor task to open the tower door in act 3.
* Added HandleUndyingBlockage.
* Added ObjectManager.SewerGrating.
* Added a HandleSewers task to click on the Sewer Grating in The Slums if you have the Sewer Keys in your inventory.
* Added ObjectManager.Clarissa.
* TravelToGrindZoneTask now can handle the long delay for the City of Sarn transition as well.
* Added HandleA3Q1 to talk to Clarrisa when possible after saving her. Still needs some more testing as it can only be tested once per character per difficulty.
* AncientSeal is no longer a TriggerableBlockage.
* Added HandleA2Q9 to handle progression with Tree Roots.
* Added HandleA2Q9b to handle progression with the Ancient Seal.
* IsToraMissionBeast -> IsMissionMob.
* LifeComponent now dumps Auras in ToStrong.
* ObjectManager.Weaver added.
* SkillsPanel now supports the jewel sockets.
* HandleWeaverArea added for the weaver fight.
* NpcDialogPanel.CanConverse was added to support knowing if "Daily Mission" is usable or not, or any other chat entries that might be disabled.
* NpcDialogPanel.Converse will now return ConverseError.ChatEntryDisabled if the chat entry is unusable.
* LocalData.TileHash/DoodadHash -> RawTileHash/RawDoodadHash.
* LocalData.AreaHash added to replace previous usages of LocalData.TileHash. This is to avoid an issue where the act 3 town would have the same tile hash across difficulties, so area traversal could fail from the act 2 cruel town if it needs to go to act 3 merci. This change should help avoid such issues in the future.
* Added a DevNote for core_exploration_complete_event.
* HandlePietyArea updates since Piety doesn't a;ways have a dead body it seems.
* ExplorationCompleteTask old Completed event handler removed and replaced with the new coroutine event system. The event is now core_exploration_complete_event.
* LokiPoe.Runtime added to track total program uptime.
* Added a basic Stats plugin example. Long overdue.
* Added Item.IsDivinationCardType.
* IItemFilter now implements a Match function. This is to allow code based filters more easily than before.
* DefaultItemEvaluator updated to implement some basic hard-coded filter matching.
* Updates for 2.0.0.10.
* ItemFilterEditor gui and logic removed to be updated to be compatible with the new changes.
* GoToFirstTab now tries a total of two times to changing the tab to the previous before returning an error.
* ItemEvaluator.OnSaved is now ItemEvaluator.OnRefreshed.
* ItemEvaluator.GetItemEvaluator is replaced with ItemEvaluator.Instance, which follows the same design as PlayerMover.
* The default item eval now has a static instance, DefaultItemEvaluator.Instance. The ctor of DefaultItemEvaluator is private so users do not create more than one copy.
* IItemEvaluator and IItemFilter have been added to the bot interfaces. New item filters should implement these to be compatible.
* TravelToGrindZoneTask now goes to town correctly if it needs to rather than looking for an area transition.
* HandleDaressoArea now doesn't execute if the grind zone isn't set to The Grand Arena.
* ExplorationCompleteTask now has an override to ignore a specific path in TranstionToTake. However, this approach is flawed as it could apply to other areas. For now, it won't change but it should in the future.
* Added TrackMoreMobs as a default task so the bot full clears areas (needed in daresso areas).
* Removed connection of Grand Arena -> Daresso's Dream since it's not traversable (still testing).
* Added EnterArenaTask so the bot can enter each boss arena in The Harvest and trigger the boss fights.
* Added Ledge specific logic to ExplorationCompleteTask.
* OldGrindBot now assigns a player mover based on lockstep or predictive.
* Added LockstepPlayerMover and PredictivePlayerMover which will replace DefaultPlayerMover. These will be further expanded in the future, as per area tweaks are needed in each.
* Added a BruteDeathExplosion object so users can know when Brutus is dead.
* Added HandleVaalArea and HandlePietyArea so the bot can handle those boss fights naturally better.
* ExplorationCompleteTask now handles the long delay for City of Sarn.
* Added LimitedLifespanComponent.
* Updates for 2.0.0.9.
* ObjectExplorer updated to have a refresh button for the current entry.
* HandleMerveilArea added so the bot can stay in the boss fight normally.
* Added BaseEventsComponent and UsableComponent.
* Updates for 2.0.0.7.
* ObjectExplorer updated to show inventory information as well. Component ToString is used to dump data rather than the higher level objects.
* Item.Tags and Item.MaxQuality added.
* Flask charges changed to int from uint.
* Components now have a ToString that dumps all relevant data.
* Various component cleanup and updates.
* ObjectExplorer logic updated to handle a billion objects in the Belly of the Beast areas. Before, multiple enumeration of objects would cause the client to freeze too long and DC.
* Added convenience properties to ObjectManager for various bosses.
* Added support for the Kaom boss fight and travelling there.
* Lowered weight of a secondary mob added in act 4 that would cause the bot to fight endlessly.
* Static locations added for some of the new Act 4 areas.
* Updated Skill logic for IsOnCooldown.
* Added HandleDominusArea to the core OldGrindBot.
* Removed Skill.ChargesLeft because math.
* Close is now an API function for InstanceManagerPanel and SocialPanel.
* Updates for 2.0.0.4.
* AssignPassivesTask now checks IsPassiveTreeWarningOverlayOpen.
* InstanceManagerPanel API updated to support joining any instance.
* JoinNewError -> JoinError.
* AssignMoveSkillTask now closes blocking windows so the skill can be assigned correctly.
* Added Item.FitsEquipRequirementst
* Assembly loader revamp to support order loading to avoid type resolving issues for more complicated dev setups. Plugins are now loaded based on load order in settings, then based on a text file, then everything else.
* object replaced with dynamic for interfaces.
* Updated PurchasePanel with some inventory processing from StashPanel.
* Added Coroutines.WaitForPurchasePanel.
* Docs now build a CHM that will be included with the bot.
* BasicRoutine updated with compiled python examples to use in the new CR design.
* ScriptManager.SetupScriptScope can now take no custom namespaces.
* Added a ForceStopBot button to the main GUI.
* Added an ExternalCommunication plugin to show off the new feature support.
* Added a ExternalCommunicationTester project to demo the new ExternalCommunication plugin.
* Added BotManager.TimeOfLastTick to track the last time Tick ran, in order to detect pathfinding lockups that happen in specific maps.
* LokiPoe.BotFullyLoaded added so users can know when the bot is fully loaded.
* AvailableWaypoints moved from WorldPanel into InstanceInfo.
* The old waypoint workaround removed since it was finally fixed in the client.
--------------------------------------------------------------------------------
* Various coroutines that can create an instance through the InstanceManagerPanel for waypoints and area transitions now have a parameter that can limit how many instances can be listed at a time.
* TravelToGrindZoneTask.MaxInstances added in as a temp solution to ensure the bot won't make too many instances. It defaults to 10, and the bot will stop if there are more than this number of instances available when a new instance is desired from a waypoint/areatransition.
* Added GlobalSettings.PluginOrder; a way for users to specify the order in which plugins are processed once loaded.
* EnabledPlugins replaced with OrderedEnabledPlugins in most places.
* Added PluginManager.OrderedPlugins, which returns a list of plugins ordered by GlobalSettings.PluginOrder.
* The TaskManager in OldGrindBot.cs is no longer Frozen to not completely break people's code that relies on modifying the task list. However, the new bot implementation's TaskManager will be frozen.
* Utility CalculatePoint functions moved into Vector2/i.
* StaticLocationManager added so it's separate from AreaStateCache, which will be changing.
* Utility.Random moved into LokiPoe for a common random instance.
* GemLeveler now closes blocking windows if there are HUD skillgem icons to level.
* AutoPassives now closes the Skills window if it's open when it's logic has completed but is unable to run.
* InGameState.AreLevelSkillGemIconsDisplayed added to know if there are skillgem icons on the HUD.
* AutoPassives and GemLeveler updated to new coroutine hook design.
* TaskManager now supports freezing to prevent changes to tasks past a certain point.
* TaskManager is no longer a static class.
* TaskManager.Execute now returns true if a task was executed and false otherwise.
* PostCombatHookTask added to BasicGrindBot for the new coroutine hook design.
* IExplorer is no longer an IAuthored.
* IExplorer.AreaChange removed; it's handled internally now, and wasn't properly called before.
* Various aspects of GridExplorer reworked to address some potential issues with order of operations and tasks that use it.
* Removed GameEventManager in favor of a new dynamic event system though coroutines. All plugins and code updated to use this system.
* Added the CommonEvents plugin, which will be replacing GameEventManager.
* The old "execute" logic string is now "task_execute".
* Plugins now have a "plugin_coroutine_event" invocation before the task manager's "task_execute" invocation takes place in BasicGrindBot.
* TaskManager now checks for "_event" as the last substring in the type to ensure the event is passed to all tasks rather than the first that returns true.
--------------------------------------------------------------------------------
* InGameState.AreLevelSkillGemIconsDisplayed added to know if there are skillgem icons on the HUD.
* Utility CalculatePoint functions moved into Vector2/i.
* Added ChatManager, a class that tracks chat messages so users can be notified when the client receives new ones.
* Input.ScrollMouseDown and Input.ScrollMouseUp added.
* Added LokiPoe.DecomposeBuildUrl to break down a passive build into skill ids.
* Added AutoPassives, a simple plugin for using the new SkillsPanel API.
* Added support for starting trades with party members who are in the same area and have a frame on the gui. The current code is a WIP but it does work.
* Implemented TradePanel logic, which is roughly the same as SellPanel, except for confirming items.
* HandlePendingPartyInvites now works from account names and takes an IEnumerable of strings to accept.
* Added LokiPoe.Paste, a function to paste in chat rather than having to use LokiPoe.Type.
* InGameState.IsNotificationActive added to know if any notification is currently being shown.
* InGameState.HandlePendingNotification added to handle trade requests.
* Implemented SocialPanel logic for joining/leaving parties.
* CloseBlockingWindows now closes the passive skills window.
* SettingsWindow now comes to the foreground when the Settings button is pressed on the main gui.
* InGameState.FrameUnderCursorPtr -> InGameState.FrameUnderCursor and is now public.
* Added Input.CtrlV(), which simulates a ctrl + v key press.
* SocialPanel.PublicParties can only return data while the gui is active.
* SocialPanel.JoinPublicParty logic updated.
* Added SocialPanel.IsFriendsTabSelected, IsGuildTabSelected, IsPartyTabSelected, and IsPublicPartiesTabSelected to know which tab is currently selected.
* Implemented SocialPanel.JoinPublicParty to join a party. Support is not present for scrolling.
* Added ClientApi.GetSettingString. This function can be used to get a string setting. Containers.DeleteStdStringW added to clean up memory, so it's not leaked as a string object is returned.
* Added InGameState.IsUsingLockstep and InGameState.IsUsingPredictive.
* All hard sleeps in v3 coroutines have been replaced with logic that detects the necessary change before continuing.
* WpfRtfAppender updated to not double execute timer calls.
* AsyncAppender updated to clear the last logged line after 1s.
* AsyncAppender updated to always process logging messages in order.
* StashPanel.UseItemOnItemInMainInventory updated to support shift clicking the same item more than once.
* InventoryPanel.UseItemOnItemInStash and InventoryPanel.UseItemOnItemInMainInventory updated to support shift clicking the same item more than once.
* Removed StatType and changing to StatTypeGGG rather than ints for other version compatibility.
* GemLeveler updated to handle the gui not updated when not opened any more.
* Added convenience Affix properties to match Stats.
* VendorItem.CanAfford is now properly working again.
* GetObjectFromComponents now uses the right comparison mode.
* Implemented Act 3 static location TGTs.
* Implemented Act 2 static location TGTs.
* Added a BloodPool object for Tora's missions.
* Added ObjectManager.AncientSeal for convenience.
* BotManager now has an IsStopping property. IsRunning is now locked to prevent issues across multiple threads. RequestStopEvent is now a ManualResetEvent so IsStopping works.
* Added ObjectManager.TreeRoots for convenience.
* Added PointerComponent and an Arrow object. This is for the Tora missions.
* TransitionType now has an enum for the different known types.
* Added a new LatencyTracker class to help with latency sensitive logic (for future support of the new client desync model).
* Added Actor.IsRelicInactive.
* Added a MissionMarker object.
* Added an object for Merveil's geysers.
* Added various ground effects as objects for more advanced logic. E.g., not standing in fire patches.
* ExilePather.Raycast now has a flag to not leave the current frame. This is to avoid memory exception errors in CRs that has long been an issue with the previous design. Other functions need similar.
* Actor.HasAura overload added that processes multiple aura names at a time for convenience.
* Plugins should now create one instance of their Gui and return that as requested rather than creating a new each time.
* TimePicker styling added so it shows up now, but needs compatibility fixes for MahApps.
* Moved Crypto from GlobalSettings into Loki so other setting instances can use it.
* Added the AutoLogin plugin to replace the hard coded auto-login functionality of the old bot.
* Bug fix in PHM Disable where State was assigned before Reset, causing it unable to Reset properly.
* Removed Tools menu since it's no longer needed.
* Removed the old ActionKey system in favour of just using Keys. This should reduce input API complexity for users.
* Added Input.Binding, a static class that exposes action key to key mappings.
* Added DevTab as a plugin now rather than being hard coded into the GUI.
* Plugin design updated slightly to correctly manage plugin's enabled state. Before, users would have to manage it themselves.
 
Update 3:

The initial Beta release is being moved towards an Tues/Weds (estimate).

The bot/API itself is all ready to go (both steam and non-steam). I'm very happy with it's current state, and am hoping for a positive initial test. There's nothing left to change with that for now until bug reports or other issues start coming in.

However, I'm not quite ready for all the other stuff that accompanies a beta release like this yet. Quite a bit of the info threads need to be updated first, and I'm still checking out a few more things in the client. Our philosophy is better safe than sorry, so I don't want to rush out a build until I'm confident we've done all we can to avoid any possible detection issues.

Thanks for your continued patience, and we hope to be back soon. :)
 
Sorry guys, but there's going to be another delay. I don't like giving ETAs for this reason, but it's necessary. We can't go into specifics, but we feel some additional changes are required to provide users with something that is "as safe as possible". I'll post another status update this weekend to let users know how things are going.

In case you missed it earlier this year, please have a read over the Exilebuddy Release Thread (1.3.0.15+), which also resulted in additional downtime (a little over a week) for adjustments to be made. We will not do a release until we're absolutely confident with what we have in place, so while it's frustrating in the short term, it's essential for the long term (which is why the project is still around after the rocky start we had!).
 
Update 4:

A release is planned sometime for Monday! However, expect lots of up and downs over the next few weeks as the game patches and gets the next content update.
 
Beta will be down for at least a day or so as updates for the 2.0.2 Content Update are done.

Once things settle down after this update, a Release version will be deployed.
 
Beta #1093 was just released. Please post any issues in the Support forums accompanied with full logs.
 
There's a reported issue with the Stash API throwing exceptions. This is currently being looked into.
 
Beta #1094 has just been built to address the previous post. Please continue to report any issues with logs in the Support forum and we'll get them taken care of. :)
 
Status
Not open for further replies.
Back
Top