The goals in this section are for the management of your resources via trading, transporting, and storage.
KeepResources
Usage: |
keepresource destination_coord res_to_keep [quantity if specified] |
Example: |
keepresource 111,222 f:1b 50m |
Default: |
none |
This goal will allow you to keep a specified amount of resources, and send all extra to another location. For cities on the same account, you can use the city name, coordinates, or "any" for the destination. For cities on another account, you must use coordinates for the destination.
In the 1st example above, the bot will keep 1 billion food in this city, and if it acquires over that, it will send the extra to 111,222 in increments of at least 50 million.
In the 2nd example above, the bot will keep 20 million lumber and 20 million iron, and send all extra to OtherCity in increments of at least 5 million.
Keepresource uses transports to send with by default. You can specify other troop types to send with. If specifying a troop type, the minimum batch MUST be included.
For example: keepresources 111,222 w:20m 5m cavalry
When not specifying a troop type other than transports, the last number (minimum batch) is optional. The bot will send as much over the "kept" amount as it has resources and transports available to, as long as it's at least the minimum batch specified. If no batch is specified, the bot sends any amount available over the "kept" amount (3rd example above).
By default the bot will only allow 1 mission per destination at a time in the rally. This means if you're sending to or returning from city A, then another send to city A will not happen until that one lands and returns. You can override this using the /slots switch. For example:
keepresources /slots=3 111,222 w:20m 5m keepresources 111,222 w:20m 5m /slots:2
Production
Usage: |
production food% wood% stone% iron% |
Example: |
production 100 100 100 100 |
Production functions as both a goal and script of the same name. It sets the desired city production of resources.
You must use a number between 0 and 100. Troop production may adjust production rates down temporarily if permitted to via the goal config TroopsUsePopMax.
If used as a script, it will also set the corresponding goal to the same values, until the next bot restart.
RequestResources
Usage: |
requestresources coords resType localAmount remoteAmount minBatch maxBatch troopType |
Example: |
requestresources any food 100m 1b 50m 100m |
RequestResources works just like SendResources, except in reverse.
Requestresources is used to instruct the bot to automatically request certain resources from certain destinations when the conditions specified are met. As an example, you can tell the bot to ask a resource depot city for 10mil wood anytime it falls below 15mil wood, while keeping at least 30mil in the sending city.
Since a picture speaks a thousand words...
Requestresources tends to look more complicated than it is. The things to remember are as follows:
Coordinates to request from can be in either xxx,yyy or city name format including "any". In order to request resources, the coordinates/name must be on the same account. You can request from multiple cities by seperating the coordinates or names with a |. For example requestresources WarCity|HubCity|FarmCity food 10m 20m 1m 1m s. You cannot exclude a specific city using !cityname.
- The city to request from, resource type, local amount, and remote amount are required.
- The minimum and maximum batch sizes and troop type to use for transporting are optional. If only specifying one number for the batch size, then it's considered to be the maximum amount NOT the minimum amount. If you do not specify either a maximum or minimum batch amount, then it will send as much or as little as it is able to send in order to keep the local and remote amounts correct.
- You may use a * in place of numbers for the local or remote amounts or the minimum or maximum batch sizes, to indicate that the amounts don't matter.
- The bot will not put the requesting city above the local amount. You must have BELOW this amount in order to have a request sent. The exception is in case you use a * for the local amount, then it will send regardless of the local amount.
- The bot will not put the sending city below the remote amount. It must have ABOVE this amount in order to send some to the requesting city. The exception is in case you use a * for the remote amount, then it will send regardless of the remote amount.
- If you specify a minimum batch and that amount would put the sending city below the amount it should keep, or the receiving city over the amount it should have, then it will not send yet. It will wait until the batch size is okay to send. If you use a * for the minimum batch then the bot will send any amount it decides to.
- If the receiving city is critically low on something (the bot considers 50% or less of the remoteAmount to be critically low) then it will ignore the minimumBatch and send less to get resources there faster.
- The bot takes into account resources that will be arriving before the transport could when calculating how much is needed at the receiving city.
- By default the bot will only allow 1 mission per destination at a time in the rally. This means if city A is sending to or returning from this requesting city, then another send from city A will not happen until the existing one lands and returns. You can override this using the /slots switch. For example:
requestresources /slots=3 any food 100m 1b 50m 100m requestresources any food 100m 1b 50m 100m /slots:2
ResourceLimits
Usage: |
resourcelimits food lumber stone iron |
Example: |
resourcelimits 2b 50m 2b 20m |
This directive is a stub or extension for TradePolicy. It will internally set your goals to function in a manner similar to the original resourcelimits found in older versions of AutoEvony and YAEB bots.
This directive will instruct the bot how many of each resource you wish to keep in the city, so that it can buy and sell via config Trade to achieve it. The bot is a powerful tool, but it is not a miracle worker. The bot will generally tend to sell down food and stone in order to buy lumber and iron, so be careful of giving it unreasonable settings.
This can be combined with TradePolicy to some extent. Place your resourcelimits goal line, and after it one or more TradePolicy lines to override the resourcelimits line for that specific resource. For example, since resourcelimits by default will set a very low internal gold TradePolicy, you could do:
config trade:1 resourcelimits 100b 20m 10b 50m tradepolicy /type:gold /min:500m
SendResources
Usage: |
sendresources coords resType localAmount remoteAmount minBatch maxBatch troopType |
Example: |
sendresources any food 1b 100m 50m 100m |
Sendresources is used to instruct the bot to automatically transport certain resources to certain destinations when the conditions specified are met. As an example, you can tell the bot to send 10mil wood to any of your cities that fall below 5mil wood, while keeping at least 10mil in the sending city.
Since a picture speaks a thousand words...
Sendresources tends to look more complicated than it is. The things to remember are as follows:
Coordinates to send to can be in either xxx,yyy or city name format including "any". When using a city name, the destination must be on the same account. You can send to multiple cities by seperating the coordinates or names with a |. For example sendresources WarCity|HubCity|FarmCity food 10m 20m 1m 1m s. You cannot exclude a specific city using !cityname.
- The destination, resource type, local amount, and remote amount are required.
- The minimum and maximum batch sizes and troop type to use for sending are optional. If only specifying one number for the batch size, then it's considered to be the maximum amount NOT the minimum amount. If you do not specify either a maximum or minimum batch amount, then it will send as much or as little as it is able to send in order to keep the local and remote amounts correct.
- You may use a * in place of numbers for the local or remote amounts or the minimum or maximum batch sizes, to indicate that the amounts don't matter.
- The bot will not put the sending city below the local amount. You must have OVER this amount in order to send some. The exception is in case you use a * for the local amount, then it will send regardless of the local amount.
- The bot will not put the receiving city above the remote amount. It must have BELOW this amount in order to send some. The exception is in case you use a * for the remote amount, then it will send regardless of the remote amount.
- If you specify a minimum batch and that amount would put the sending city below it's localAmount, or the receiving city above it's remoteAmount, then it will not send yet. It will wait until the batch size is ok to send. If you use a * for the minimum batch then the bot will send any amount it decides to.
- If the receiving city is critically low on something (the bot considers 50% or less of the remoteAmount to be critically low) then it will ignore the minimumBatch and send less to get resources there faster.
- The bot takes into account resources that will be arriving before the transport could when calculating how much is needed at the receiving city.
- By default the bot will only allow 1 mission per destination at a time in the rally. This means if this city is sending to or returning from city A then another send to city A will not happen until the existing one lands and returns. You can override this using the /slots switch. For example:
sendresources /slots=3 any food 1b 100m 50m 100m sendresources any food 1b 100m 50m 100m /slots:2
TaxPolicy
Usage: |
taxpolicy min_rate max_rate [war_rate] |
Example: |
taxpolicy 20 100 |
This policy will tell the bot the range of tax you want set.
The first example above would maintain a minimum 20% and maximum 100% tax rate. If the bot detects that additional gold is necessary to prevent a revolt, it will increase the tax rate as necessary, up to "max_rate".
The second example above utilizes the optional war time tax rate. It would maintain a minimum 20% and maximum 100% tax rate during peacetime, and set 30% tax rate if it enters defense mode.
The default values are 0 (min) and 100 (max). A default of 0 (min) allows the bot to maintain maximum population. Players with established accounts will probably wish to use the defaults.
Trade
Usage: |
config trade:[switch] |
Example: |
config trade:1 |
Switch: |
0 = off |
With this goal enabled, your bot will buy and sell resources in an attempt to gain and keep the resources you need and want in your city, as specified with the TradePolicy goal.
Most buy and sell messages are hidden to reduce spam in the log window of the bot. You can view these trade messages by enabling the "Trading" debug logging in the Debug Settings tab. For even more detailed trading logs, enable "Verbose" also.
TradePolicy
Usage: |
tradepolicy /type:[restype] /min:[amount] /max:[amount] /batch:[amount] [/allowselltomin] [/donotautosellabovemax] |
Example: |
tradepolicy /type:wood /min:20m /max:30m /batch:500k |
When trading is enabled, the bot will buy and sell resources to achieve the amounts specified in tradepolicy for each resource, or the default amounts if it is not.
In the example above, the bot will try to maintain at least 20mil lumber but no more than 30mil lumber, and will perform trading in batches of 500k at a time. The abbreviation "d" may be used to signify days, rather than quantities, for gold and food minimums and food maximums. For example, /min:10d would signify 10 days' worth of food upkeep based on troops, or 10 days' worth of gold salary based on heroes. Gold cannot have a /max setting.
Trading works in stages. An explanation of these stages will use the following tradepolicy goals as examples:
tradepolicy /type:gold /min:50m tradepolicy /type:food /min:2d /max:10b /batch:1m tradepolicy /type:wood /min:20m /max:30m /batch:500k tradepolicy /type:stone /min:500m /max:1b /batch:1m tradepolicy /type:iron /min:20m /max:30m /batch:500k
- 1st the bot will keep 50 million gold and never make resource bids that would put you below that.
2nd the bot will acquire and keep at least 2 days worth of food, 20mil wood/iron and 500mil stone in your city. It will sell excess (anything over /max) of something - if you have excess - to get you back up to these minimum amounts at least. It will also spend all of your gold that is over the 50 million minimum set above to buy a resource if you're below minimum in any. If there is nothing extra to sell and no gold to spare, and if you have set the /allowselltomin switch, then it will sell other resource(s) over /min in order to buy a resource that is under /min. For example, tradepolicy /type:wood /min:20m /max:30m /batch:500k /allowselltomin.
3rd the bot will try to acquire and keep a maximum of 30mil wood/iron, 1bil stone, and 10bil food. Any time a resource gets over /max, it will sell the excess off in order to bring the rest of your other resources proportionally up to /max. If every resource is at or above /max, then the bot will automatically sell resources as they get over /max and hoard the gold. You can disable this automatic selling of resources over /max by adding the /donotautosellabovemax switch to the line; for example: tradepolicy /type:food /min:2d /max:10b /batch:1m /donotautosellabovemax. Note the bot will still sell resources over /max if another resource isn't maxed yet, even with this switch set.
The batch tells the bot how much to wait for to sell or buy at a time, so that it's not constantly spamming with small quantity trades; in this example the bot has to wait until it can buy or sell at least 500k or 1mil at a time, depending on the resource.
If you go into emergency trade and need gold/food for comforting or refuge/revolt protection, it will sell as low as necessary and ignore the minimum batch. Do not set the batch too high on small or new accounts and expect the bot to be able to trade those large amounts.
If you are on a CAPTCHA server, you should set as large of a batch as your resource flow comfortably allows, to reduce the number of trades you do, and therefore the number of CAPTCHAs you receive.
All /min settings are ignored in an emergency. Emergency is defined as gold under 24 hours' worth of salary, and 30 minutes' worth of troop upkeep in food.
Not listing a tradepolicy line for a specific resource will NOT turn off trading for that resource. You cannot turn off trading for a particular resource. You can tell the bot not to buy or sell something by giving it a /min and /max just above and below it's current value, if the value stays relatively fixed, and by adding /donotautosellabovemax to keep any it goes over that. Excluding a line for a resource defaults it to built-in values for buying and selling that resource. For food this maximum would be 990b. For lumber/stone/iron this is (I believe) 20m min up to 7.2 trillion or something ridiculously high max.
WarehousePolicy
Usage: |
warehousepolicy food% lumber% stone% iron% |
Example: |
warehousepolicy 34 33 0 33 |
This allows the bot to adjust the amount of resources stored in the warehouse. The total amount cannot exceed 100%. Note that gold cannot be stored in a warehouse.