AC Image Silos Toy Box Home Plugins Castaway Update Quest Decal Link

AC Manager

Multi-Character Portal Bot for Asheron's Call

Open Source Code located at https://github.com/patri0t86/ACManager

Download Release at https://github.com/patri0t86/ACManager/releases

Features and Fixes

patri0t86 released this 7/6/2020

Feature added:

Can now view the relevant inventory (gem/spell component inventories), from within the GUI, for any character on that account.
Minor user changes from this update:

When you disable bot navigation, it no longer forces the heading. So you can move the bot around freely when you disable navigation, but the bot can still be running, if desired.
Updated a lot of the "soft" items, like handling no descriptions in portals and proper string formations.
Now broadcasts if it tries to cast a spell that it does not know. This is a helper to the bot owner to make it very known that the spell is unknown, but also so users can tell the owner of the issue.
Minor GUI tweaks and rearrangement of items.
Lots of little bug fixes that were discovered.


AC Manager V2.4.0 - Released 7/6/2020


Title Author Description
AC Manager V2.4.0 - Auto Install File patri0t Use this to auto install the Filter file - Multicharacter portal bot for Asheron's Call  Download
AC Manager V2.4.0 - Filter file patri0t Use this to manually install the filter - Multicharacter portal bot for Asheron's Call  Download
AC Manager V2.4.0 - zip source code patri0t Use this to download the zip source code - Multicharacter portal bot for Asheron's Call  Download
AC Manager V2.4.0 - tar.gz source code patri0t Use this to download the tar.gz source code - Multicharacter portal bot for Asheron's Call  Download


Portal Gem Support

patri0t86 released this 7/4/2020

The bot now supports portal gem usage.

Enter the portal gem configuration in the GUI (keyword, heading, and have the portal gem selected in your inventory). This makes the bot aware of the gems you wish to track. The bot automatically tracks component levels and gem inventory across the entire account and will switch to any character containing the requested gem and use it (like the portal system).
Many New Features!

patri0t86 released this 7/2/2020

Big feature release!

Various under the hood bug fixes.
Various performance enhancements.

New Features:

The bot now equips/unequips wands, in case you forget to equip one, no problem!
The bot now properly handles knowledge of a spell. If it is not known, it will continue on instead of hanging at that spell and give a warning message letting you know a spell is not known.
The bot now checks for components of a spell on each spell cast so the bot does not get hung if components are missing.
Spell components are now tracked internally.
Low spell component thresholds implemented. On the bot config page, you can set low component thresholds. The bot will check the thresholds each time spellcasting is started. If you are below the threshold, a local area broadcast is sent saying you are low on components on every advertisement interval, and every time casting state is entered. This is an account-wide setting.
GUI view visibility is now persisted. If you have a view checked or unchecked, then it will persist login-to-login now. This is an account-wide setting.
Feature Release

patri0t86 released this 6/28/2020

New feature!

The bot now has navigation support. You set the location you want the bot to be positioned in, and it will ensure the bot never leaves that location. You can set it anywhere in the world and it will navigate you back (straight-line path only). This will ensure all of your characters on an account are placed in the exact same location.

Other changes:

Widened the low component logoff text boxes so you can see if you fat-fingered a component entry to a value higher than you intended.
Major Release 2.0.0

patri0t86 released this 6/23/2020

This was a major refactor of the plugin to move everything into a filter, out of the plugin. This enables much more functionality to the bot owner, and more possibilities/power moving forward. This includes many under the hood changes/improvements.

NOTE: You must uninstall the old ACManager since there are some registry changes. Your settings files will persist so you will not have to rebuild them. When you install version 2.0, make sure you pick the parent folder of the ACManager folder for the installation location. i.e. If you installed at C:\Turbine\Asheron's Call\plugins then for installation location pick C:\Turbine\Asheron's Call\plugins and NOT C:\Turbine\Asheron's Call\plugins\ACManager.

New Features:

All command line arguments are now implemented in the GUI! Simply start/stop the bot, or change configs, within the GUI. Command line arguments are still supported for now, but will most likely not be developed moving forward.
All bot settings are now persisted to disk, so you no longer require on-login commands.
Dynamically set mana/stamina thresholds to your liking, i.e. you want to let the bot get down to 30% mana before regaining mana.

Feature Release

patri0t86 released this 6/12/2020


New Features!

Respond to portal requests in open chat (toggle-able)

Set verbosity of 'whereto' commands.

Now you can toggle if you would like your portal bot to respond to open chat portal requests, or not, similar to IBAirport's system. By default, this is turned on and your bot will react to portal requests said in local chat.

You can now set the verbosity level of your whereto responses. 0 is disabled and will output 1 portal per text line (deafult). The higher the setting, the more portals per text line. This gives users the customizability of the bot's output and hopefully be dynamic enough to handle any server squelching/muting.

Settings Update

patri0t86 released this 6/9/2020 


This release completely separates the settings files into account/server bins. There will be an "acm_settings.xml" file for every account and every server.

New Settings File Name ---- acm_settings.xml ---- this should help differentiate in case you need to search on your system for those files.

The new folder structure will be: ACManager/AccountName/ServerName/settings_files

This will eliminate all file conflicts in case you run multiple portal bots on the same server. This will be the new structure moving forward.

The settings try to load in a backwards compatible way, reading from the new location if it exists, otherwise reading from the old location. Then it will only save to the new location moving forward. In a future release the backwards compatibility will be removed to keep the code base clean.

In order to save to the new settings location, just toggle any option and it will save settings for characters that exist in only the account/server settings file that are you changing.

The old settings.xml file will not be deleted by the plugin, so that I do not destroy any old settings in case you wish you copy/paste them into the new structure.


Settings Bug Fixed

patri0t86 released this 6/6/2020


There was an unintentional side effect where the settings "source of truth" was the settings held in-memory per client, instead of the settings file itself. The issue is when you modified one account after logging in another account, the changes were not kept. This led to the settings conflicting back and forth, client to client. This is now resolved.

Settings are also now no longer saved upon login. Settings are only saved when you alter any settings in the GUI.


Fellowship Bug Fix

patri0t86 released this 6/3/2020


Fixed a bug where if you did not have "Auto Fellow" checked, it would not track fellowship status. So, if you joined a fellowship before the box was checked, it would think you were never in a fellowship, and then never invite anyone unless you quit and rejoined the fellowship with the box checked.

Now the plugin always tracks fellowship status.


New Features

patri0t86 released this 6/2/2020


As a good practice, prior to each version upgrade, make a backup of your settings.xml file, located where you installed the ACManager.dll file.

Warning: This update may cause XML parsing errors due to adding more settings fields. If it does, make sure a <Heading>0</Heading> and a <Level>0</Level> exist inside of each <Portal></Portal>. This should fix any issues.

Closed Issue #18 - added ability to give each portal a custom heading.

Added in a level restriction metadata field to the portals. This is just extra info you can display to end-users to be helpful.

Updated the GUI to handle the new inputs.


Updated GUI

patri0t86 released this 6/2/2020


Updated the GUI to a larger advertisement interface.

Removed controls tab - /acm help is the way to get commands moving forward.


Feature Enhancements

patri0t86 released this 6/2/2020


This update:

Removed spammy "unknown command" responses.

Commands changed - check /acm help for more info.

Can now change the advertising interval, 5 minute minimum.

Can now enable/disable advertisements per bot account (not per character).


Unloading Issue Fixed

patri0t86 released this 6/1/2020


Fixed minor memory leak with view unloading/disposing explicitly, versus relying on GC.


Major Settings Upgrade

patri0t86 released this 6/1/2020


!!! THIS IS A NON-BACKWARD-COMPATIBLE UPGRADE !!!


Original release did not handle apostrophes in character names (wow, what an oversight). This release updates that issue, but as such the XML settings file had to be completely restructured. The old settings.xml file structure will not work moving forward. This new system is much easier to maintain and more robust/easier to use, while still being human editable if you wish to do so.


Functional Improvements:

1. Added support for characters with apostrophes in their name.


Other Improvements:

1. More performant/less memory consumption.

2. Settings are serialized to classes.

3. Simplified many classes, removed statics.

4. Moved to using a new installer system for future upgrades. This should hopefully be the only destructive upgrade moving forward.


Public Release

patri0t86 released this 5/28/2020


This is the full public release of the project.


It includes:


Full multicharacter portal bot functionality.

Automatic fellowship management with password protection.

Low component checking and automatic logoffs.

Multi-server/multi-account support.

Highly recommended to use the acmanager.msi installer since this will handle all files upon install and uninstall, as well as future release upgrades.

Open Source Code located at https://github.com/patri0t86/ACManager

Download Release at https://github.com/patri0t86/ACManager/releases

These notes are per the developers websites located above


Overview

This project was designed from the ground up to be the new defacto multicharacter portal bot for Asheron's Call. The idea for the project was it was to be completed within Decal only, requiring no other plugins or programs to be running (except for the Virindi View System). This was designed to be very user friendly from setup to actual end-user use. If you know how to add a Decal plugin, you are already halfway to running your portal bot!


Prerequisites

Asheron's Call/ThwargLauncher/Decal Installed and working properly.

Virindi Bundle is installed - the plugin requires VVS and does not provide Decal fallback.


Installation

ACManager plugin is the frontend of the bot only. The backend is controlled via the Decal filter. To run the bot, you must have the filter. Once the bot is configured, you don't actually need the plugin to function, just the filter.

(Recommended) This can be automatically handled using the installer found here. The uninstaller will then remove all files created throughout the lifecycle of the plugin/filter, giving you a clean uninstall.

You can manually install everything from the same location above, just using the .dlls like you would any other plugin.

Both dlls are required for bot functionality!

Make sure both dlls are contained in the same folder when running the bot.


Usage

Use the ACManager plugin to easily edit the portal mapping to your characters.

This can be accessed by checking the "Portal Bot" check box on the "Controls" tab. Pressing this check box does not start the bot.

Once your ties are set up for each character, type /acm bot enable and the bot will start.

To stop your bot, type /acm bot disable or completely close your client.


Assumptions

These may be handled in the future if asked for - dev time isn't infinite!

Your characters know Summon Primary Portal 1.

Your characters know Summon Secondary Portal 1.

Your characters have wands equipped.

Your characters have components.

The bot does handle mana management, but then it also assumes:

Your characters know life magic.

Your characters know Stamina to Mana [1-7].

Your characters know Revitalize Self [1-7].


Recommendations

These recommendations will allow the bot to restart automatically, even on server crashes and reboots.

ThwargFilter added in Decal.

Have your portal bot account set to login automatically (Auto Relaunch).

Set your On-Login command for the default character to /acm bot enable.

Set any other commands you want to customize your bot with, i.e. /acm ads interval 6.67 if you want ads every 6.67 minutes.


FAQs

What other plugins do I need to have enabled for this to work?

You do not require any other plugins to be enabled. This plugin/filter combo is completely self-contained. The only pre-requisite is Decal and the Virindi Bundle being installed.

Do I need to escape characters?

No need to worry about character escaping. You type anything you want into descriptions, keywords, or advertisements as you want them to be displayed.

Do I need to fill all character slots?

No, you don't need a full account for this to work. You don't even need to have portals on every character for this to work. As long as you don't map portals in the GUI to the characters that don't have portals, the bot will handle it automatically for you.

What if my bot doesn't know life magic?

The bot will just wait until it is >50% mana and then summon.


Extras

You can have as many advertisements as you want, customized any way you want. It is highly recommended to control the advertisement creation and deletion through the GUI since it will handle it for you. However, if you want to edit the XML directly, you can. Any manual edits will not show up in the GUI until the next login, but the bot will read all XML edits live.

The frontend plugin initially started as a completely different plugin, with the portal bot added later. Any additional funtionality is hopefully fairly self-explanatory, but as a quick rundown:

Recruit Command is a custom, case-sensitive password you can set for fellowship management. If you are in an open fellowship, or lead a fellowship, if someone whispers you that command, they will automatically receive a fellowship invite. This command can be anything you want to set.

Auto Respond has some minor functionality built-in. Whisper "comps" to get a status on comps. Or whisper any in-game name and the bot will respond with how many of those items it currently possesses, i.e. "Prismatic Taper" or "Brood Matron Carapace".

EXP Tracker should be totally self-explanatory.

Low Comp. Logoff gives you the ability to log off a character automatically if it runs low on a component. You have the option to broadcast your disconnect to your fellowship.