If you play at Evony for some time, you will notice that a lot of time you spend are on uninteresting tasks. The goal of this Evobot City Management is to remove as many of these tasks so that you can focus on what you are interested in. You can turn on the features you like, and turn off those that you do not.
Here are the main features:
• Build and research based on goals you provide. Dependent buildings and researches are added automatically.
• Trade automatically to balance out resources
• Simple npc farming for resource
• Hunt for medals automatically. Even on new servers, you can advance your title reasonably quickly.
• Build npc level 5 automatically in the surrounding area of your towns.
• Select good heroes from the Inn, train and upgrade them
There are also a number of combat related features:
• Guarded attack allows troops to be recalled automatically if target is reinforced.
• Loyalty attack makes sure at most one wave of cavalry dies in case the target is reinforced.
You can specify what you want your town to do in the Goals tab. No gui is currently provided, and the goals are specified in text.
Build goals are used to specified the building, level, and the quantity you like. A build goal like "build sawmill:2:8" means you want 8 saw mills level 2 (or higher). A build goal with level 0 has special meaning and is used when you want to demolish buildings. A goal like "build cottage:0:8" means that you want to demolish and keep at most 8 cottages. The quantity is 1 by default, so a goal like "build academy:4" means you want one academy level 4.
Building names are among academy, barrack, beacon, cottage, embassy, feasting, forge, farm, sawmill, quarry, iron, inn, market, rally, relief, stable, town, wall, warehouse, workshop. Research names are among agriculture, lumbering, masonry, mining, metal, info, militaryscience, militarytradition, ironwork, logistics, compass,horseback, archery, stockpile, medicine, construct, engineer, machinery, privateer. Refer to evobot for more ways to name buildings and researches.
Note that you can specify a building goal like academy without specifying other buildings that must be built before an academy can be built. These required buildings are added to the goals, in this case, town hall level 2 becomes a goal automatically. Similarly, you can specify cottages level 4, which implicitly requires town hall level 3, which requires wall level 1, workshop level 1, forge level 2, iron mine level 3, all of which are added to the goals.
Note also that research and buildings may be dependent on each other. Asking for a building will make the research that building depends on to be researched, and asking for a research will make the buildings that the research depends on to be built.
When having only research lines, you may want to turn on building with "config build:1" so that dependent buildings are built as needed. Similarly, when having only building lines, you may want to turn on research with "config research:1".
Troop goal and fortification goal are used to specify the troop and fortification you want. The troop type must be one of the following wo for worker, warr for warrior, p for pikemen, sw for swordmen, s for scout, a for archer, cav for cavalry, cata for cataphract, t for transporter, b for ballista, ram for battering ram, cp for catapult.
The fortification type must be one of the following trap for trap, ab for abatis, at for archer tower, r for rolling log, rock for trebuchet.
Troops are normally produced in small quantity to allow quick change. The hero used is the best available attack hero at the time the troops are queued.
A separate troop production may be started when there are plenty of resource. You can enable this secondary production line using "config dumping:1", or more generally "config dumping:factor", where factor is a number. The bot will queue troops in larger batch. The hero used to produce this batch will always be your best hero in town, and the bot will always wait for his hero before queuing troops.
You can alternatively specify a good hero to be used when dumping troops with
Ex. traininghero Bob
The bot will wait for this training hero before queuing troops. Note however that the bot may reserve one barrack to produce troops in emergency situations, and keep the queue there short. The troops produced in that reserved barrack may or may not be the training hero specified.
It is possible to have one super hero to train troops in many towns. It is tricky to set this up correctly, so unless you have run a hero around manually to train troops, you are strongly recommended not to try. You can add lines like this to each of the towns you wish your superhero to train troops.
If you train troops while running npc farming, you may have to specify "npcheroes" and "npc10heroes" to prevent your super hero from farming.
High level tasks
You can use config lines to automate many different tasks. Each task can be put on a separate config line, or a few tasks can be specified on a single config line.
o Use "config trade:1" to enable trading. You should have a market and have trading enabled to allow the bot to manage resource. Virtually all tasks require resource and unless you are around all the time to manage the resource manually, you should have this feature on. Even if you don't like the way the bot manages resource, you should still have this feature on.
If you wish the bot to trade more, especially when your town's resource is low, use "config trade:2".
You can optional restrict resource buying with "resourcelimits foodlimit lumberlimit stonelimit ironlimit", for example "resourcelimits 1000000000 20000000 10000000 10000000". The bot will not buy resource when the current resource is above the limit specified.
2. Heroes management
o Use "config hero:1" to uplevel your heroes and do nothing else.
o Use "config hero:10" if you wish to have 1 good politic hero and the remaining are attack heroes.
o Use "config hero:11" if you wish to have 1 good politic hero, 1 good intel hero, and the remaining are attack heroes.
o Use "config hero:12" if you wish to have 1 good politic hero, 2 good intel hero, and the remaining are attack heroes.
o Use "config hero:20" if you wish to have 2 good politic heroes and the remaining are attack heroes.
o Use "config hero:21" if you wish to have 2 good politic heroes, one good intel hero, and the remaining are attack heroes.
o Use "config hero:22" if you wish to have 2 good politic heroes, 2 good intel heroes, and the remaining are attack heroes.
o You can add "config fasthero:level", for example "config fasthero:60" to let the bot rapidly hires and fires heroes to speed up the hero selection from the inn. This option requires gold, and should be suitable only when you have a low level inn. The hiring/firing ends when all attack heroes have base attack value above the level specified.
o The bot normally keeps one politics, and one attack hero around, and if you have research enabled, one intel hero. If you wish to train your heroes with NPC farming, be sure to have 2 heroes of the type(s) you wish to train. When building/researching/producting troops, the bot makes sure that the appropriate hero is the mayor. If you enable "config training:1", the highest attack hero will be sent on npc farming missions, and the 2nd highest attack hero is kept around for troop production.
o There are times when you absolutely don't want to keep any captured heroes. Use "config nocapture:1" to force the bot to release all captured heroes automatically.
3. NPC farming, level 1-5
o Use "config npc:1" to farm npc level 1 to 5
o Use "config npc:2" to farm npc level 2 to 5
o Use "config npc:3" to farm npc level 3 to 5
o Use "config npc:4" to farm npc level 4 to 5
o Use "config npc:5" to farm npc level 5 only
The number of transports are computed automatically from your research level. The number of ballistas used are chosen as "safe", though from time to time, you may experience ballista lost. To change the number of ballistas used, use a "ballsused" line to specify the number of ballista you would like to use to attack npc level 1 to 5.
Ex. ballsused 20,50,130,200,400
[default] ballsused 20,50,170,250,550
You can further modify the behavior of npc farming. Note that this may interferes with the normal operation of the bot.
npclist 101,102 101,103 101,104 102,102
You can specify the list of npc on multiple npclist lines. List of npc's can be obtained from with the program, see findfield command.
You can use "config npclimit:days", for example "config npclimit:7" to limit the npc farming. The bot will stop farming when the amount of food exceeds what your troops use in the number of days specified.
When the limit for npc has reached, you can continue NPC farming to train your heroes. The npcs are then hit every 1 hour as resource is no longer the goal. Use "config training:1" or "config training:2" for this purpose. With "training:1", the resource can be substantially above the limit set in npclimit. With "training:2", the npc training attacks are guaranteed not to increase resource. The heroes are trained much more quickly when npclimit is on and the resource limit has reached.
4. Attacking NPC level 10
You will lose troops if you wish to attack NPC level 10. While resource should best be obtained by farming NPC level 5, you may want to attack NPC level 10 if you want to level up your hero faster. To attack NPC level 10, you need to enable it with
5. npc10limit troops
6. Ex. npc10limit a:200000,warr:50000
The bot will start attacking NPC level 10 once your troop is above the limit specified. By default, the troop attacks npc level 10 with the best hero in town and about 90k archers, 2k warriors and workers, 4k scouts, 1.9k transports, and 1 pike/swords/cavalry/cataphract. You can change customize NPC 10 attacks with npc10list, npc10heroes, and npc10troop, for example:
npc10list 101,102 101,103 101,104 102,102
7. NPC building
o Use "config buildnpc:5" search for flat level 5 in surrounding area, attack the flat, and build npc from that flat. This task will only be carried out if you have enough troop for the attack (800 archers and 2.5k warriors), and enough resource and a city slot to build city. NPC of other levels can be built similarly, so "config buildnpc:10" would build NPC level 10. For backward compatibility, "config buildnpc:1" still builds NPC level 5, and thus there is no way to build npc level 1 with buildnpc config.
8. Capture valleys for production bonus
o Use "config valley:10" to search for valleys and occupy them to receive production bonus. Currently the bot focuses on only one type of valley to maximize the bonus. The type of valleys depends on your resource fields. If you have have more saw mills than farms, quaries, iron mines, for example, the bot will take only forest valleys.
The valleys taken depend on what are available around you as well as your troop level. If you wish to take only valleys below a certain level, say level 5, you can specify "config valley:5".
9. Hunting for medals
o On old servers, use "config hunting:1" to attack valley level 1-3 for cross, rose, and lion medals. It can also be used to get honor, courage, wisdom, and freedom, though the drop rate is lower. Use "config hunting:2" and "config hunting:3" to attack valleys level 4-6 and 7-9 respectively for medals.
If you are patient, you should be able to get your title to Duke by attacking level 1-3 valleys (and take no troop lost).
o On new servers, the drop rate is much lower for low level valleys. There is pratically no medal from level 1-3 valleys. It is preferable to attack level 9 and 10 valleys for medals. Use "config hunting:4" to attack valleys level 9-10, and use "config hunting:5" to attack only valleys level 10. Be sure to have 20k+ archers and 60k+ warriors and a few of all other troops to attack level 9 and 10 valleys.
o The server uses 50, 100, 200, 400, 800, 1600, 3200, 6400, 12800, 19990 archers in the attacks at the valleys, depending on its level. For valley level 4 and above, it also uses one scout, pike, swordman as layers, and about 3 times as many warriors as archers as fodder.
Expect to lose about 300k-400k archers and a few million warriors to get your title up to Furstin.
If you wish to fiddle with hunting, you can use the following 3 goal lines:
Ex. valleytroop a:50000,p:100,sw:100
Ex. huntingpos 110,100
Ex. huntingtype Desert
The hunting location can be obtained via findfield command.
Use "config comfort:1" to let the bot to comfort your town. This is useful in a number of situations, making your town extremely hard to be captured (especially when used with "config hiding:1"), or allowing your town to have few cottages, for example. If high prestige is desirable, you can use "config comfort:2" instead.
11. Gate control
Use "config gate:1" to let the bot to control the gate. The bot will open/close gate 1 minute before an attack to defend the town. In general, use "config gate:min", for example "config gate:0.2" if you want a different gate response time.
The bot recognizes 5 situations, no attack, regular attacks, scout bombs, mixed attacks, paused (as in maintenance) and open/close the gate depending on what it think best. You can tell the bot what to do more specifically by adding a line in your goal "gatepolciy num num num num num" after setting gate config, for example, "gatepolicy 0 1 0 2 0". Each number is for a situation listed above, and 0 means the bot is in charge, 1 means always open the gate, and 2 means always close the gate.
12. Monitor war reports
Use "config warreport:1" to let the bot periodically check the war reports. The bot will notify if alliance members were attacked. This option is only available for your first town.
13. Schedule running time
Use "schedulepolicy" to let the bot rests. As an example, use "schedulepolicy 18:30 0:30 6:00 12:00" to let the bot works from 6:30PM to 12:30AM server time, then from 6:00AM to 12:00PM server time. To make the times look random, the bot perturbs all the times randomly by 20 minutes, so in the above example, the bot actually connects to server at some time bewteen 6:10 and 6:50PM, and disconnects at some time between 12:10AM and 12:50AM.
14. Audio Attack Warning
Use "config attackwarning:1" to alert you with audio when your town is under attack. The bot ignores junk attacks, though. This option is only available for your first town.
15. Distance policy
Use "distancepolicy x x x x", for example "distancepolicy 10 15 6 15" to modify the distances used in config npc (for npc farming), config buildnpc (for build npc), config hunting (for medal hunting), and config valley (for valley resource bonus). If you set a distance to 0, the bot will use the default value. The default distance policy is "distancepolicy 10 10 10 15".
16. Troop Keeping:
You may want to restrict a number of troops in a town, especially ones with limited food supply. Exessive troops can be sent somewhere else automatically with "keeptroop". This feature is also useful to reinforce a war town or a town where you train hero with npc 10 attacks.
keeptroop coord troop mincount
Ex. keeptroop 101,102 a:150000,warr:40000 10000
In the above example, when there are more than 150k archers or more than 40k archers, and that the number of excessive troops is 10k or more, the excesive troops are sent to 101,102.
17. Resource Keeping:
You may want to limit the resource in a town and send excessive resource to a different town with with "keepresource". The feature could be useful if you have specialized towns and wish to automatically transports excess resource between them or to supply food to your war town.
keepresource coord resource mincount
Ex. keepresource 101,102 f:1000000000 50000000
In the above example, when there are more than 1b food in the town the bot will try to send food to 101,102. The bot may have to wait for enough transports to make sure that each trip carries at least 50m resource.
18. Hiding resource
Transports and ballistas are important for your town to obtain resources. Use "config hiding:1" let them avoid battle, as well as to move your resource out before your town is attacked. This feature is useful when your town is extremely weak. When there are a lot of archers in the town, hiding does nothing. In general, you can use "config hiding:min", for example "config hiding:2.5" if you want to change the evaculation starting time.
[see evobot's guide]
Parallel actions code is no longer available in this version. Commands like "define" has been removed. Previous version supporting them can be found here.
• Interface commands for goals: A number of commands are available from command windows to set the goals, to ensure that goals are fully programmable. The commands are:
• resetgoals ...
• config ...
• buildinggoals ...
• techgoals ...
• troopgoal ...
• setballsused ...
You most likely want to use these commands when you want to schedule the bot to work only on some period of time, for example.
• Build city: attack a flat and build a city there.
• buildcity coord
• Ex. buildcity xxx,yyy
Do not use "deploy buildcity". As most of the towns you build are for npc, the default action for new town is to npc it. To cancel buildcity, use
• Guarded attack: schedule a scout and an attack and recall the attack based on the result of the scout.
• guardedattack location troop num_scouts opponent_troop
• Ex. guardedattack 100,101 a:99600,warr:100,s:100,p:100,sw:100 10 a:60000,cav:50000
In the above example, the bot will schedule a scout with 10 scouts and an attack on 101,101 with 99600 archers so that the scouts arrive a random time between 15-30 seconds before the archers. If the scout fails, the attack is recalled. If the scout is successful but there are 60+k archers OR 50+k cavalry at the target, the attack is also recalled.
Alternatively, you can manually schedule attacks and scouts and use "setguard" to monitor the attack. "setguard" is also useful if you have to restart the bot.
setguard location opponent_troop
attack 100,101 any w:10000,a:100,s:100,p:100,sw:100 @:14:00:00
attack 100,101 any a:99600,warr:100,s:100,p:100,sw:100 @:14:00:02
deploy scout 100,101 any s:100000 none @:13:59:40
setguard 100,101 a:60000,cav:50000
You can cancel guarded attacks with
• Loyalty attack: repeatedly send waves of cavalry to a target, on failure, recall all waves (including loyalty attack waves sent from other towns). Heroes sent on loyalty attack missions are made sure to be at 100 loyalty.
• loyaltyattack target num_cavalry
• Ex. loyaltyattack 100,101 3000
• capture target num_cavalry
• Ex. capture 100,101 3000
You can cancel loyalty/capture attacks with
The main different between "loyaltyattack" and "capture" is the time when the attack ends. For "capture", the waves end when the town is captured, and for "loyaltyattack", the waves end when the loyalty of the town is down to 7. In general, the command "capture" is good when all the defenses are down. The command "loyaltyattack" is useful in case the opponent leaves the gate closed with troops inside. Once the waves end, a final attack is normally required to capture the town. It is also possible to run "capture" from one town, and "loyaltyattack" from another. The heroes used in loyalty attacks can be specified using the *goal* line "spamheroes hero1,hero2..."
• Spam attack: repeatedly attack a town. Heroes are made sure to be at loyalty 100 before sending out.
• spamattack target troop num_waves
Ex. spamattack 100,101 warr:400,a:1,p:1,sw:1 10
You can cancel spam attacks, send the spamattack command again with 0 as num_waves. The feature is useful for clearing traps or abatis. The heroes used in spamattack can be specified by setting *goal* "spamheroes hero1,hero2,...".
Your hero may be captured even if his/her loyalty is 100.
• Evacuate town: Useful when you want to move all your troops out to another town before running "abandontown". If you have a lot of resource in the town, make sure the town have many transports. The bot will move most troops and resource to another town. Note that the heroes are not moved automatically.
• evacuatetown coord
• Ex. evacuatetown 101,102
You can cancel evacuation with "endevacuate".
• Troop recall: To recall troops, use either "recall" or "idrecall". Recall is used to recall all troops heading to a destination. idrecall is used to recall a specific army.
• recall location
• Ex. recall 100,101
• idrecall armyid
Ex. idrecall 1089052
The id of your own army can be found in the army tab, and the id of friendly army is in the extra troops tab.
• Troop healing: While the bot can heal your injured troop on its own, there are time when you want them to be healed manually, for example, in between the attacking waves at your town.
• sleep @:14:01:32
• Travel info: find the attack travel time or reinforcement travel time, as well as food usage and carrying load.
• travelinfo coord troop
• Ex. traveltime 102,100 cav:10,cata:10
• Miscellaneous: Other commands that may be useful
• Ex. listmedals
• to list all medals
• to list all items, including medals
• Ex. listitems
• useitem itemname
• to use an item (not all items can be used with this command)
• Ex. useitem Ivory Horn
• useheroitem hero itemname
• to use an item on a hero
• Ex. useheroitem SuperHero Excalibur
• persuadehero heroname
• Ex. persuadehero Bob
• to persuade a captured hero Bob
• the medals required for the persuasion if any are shown in hero tab.
• firehero heroname
• Ex. firehero Bob
• to fire a hero from the feasting hall. The hero status must be either
• idle, mayor, or captured, i.e. is not on a mission away from town.
• Ex. getspamhero
• to get the best attack hero currently available in the inn
• this is best when the inn has high level
• To obtain politics hero, use "getspamhero management"
• To obtain intel hero, use "getspamhero strategem"
• dumpresource coord condition resource
• Ex. dumpresource 101,100 f:1000000,g:500000 f:500000,g:250000
• to dump resource to another location when there are too much resource
• transporters are needed
• Ex. dumptroop 101,100 a:100000,s:500000 a:200000,s:150000
• to dump troops to another location when there are too many troops
• buy resource amount price
• Ex. buy lumber 1000000 1.34
• to buy 1m lumber at 1.34
• You can see the current bidding/asking price in the resource tab
• sell resource amount price
• Ex. sell lumber 1000000 1.34
• to sell 1m lumber at 1.34
• You can see the current bidding/asking price in the resource tab
• Ex. canceltrade
• To cancel all pending trades
• clearwallqueue remain_count
• Ex. clearwallqueue
• clearwallqueue 3
• To cancel fortifications queue, leaving remain_count batches left
• If no remain_count is provided, all batches except the first are removed.
• clearbarrackqueues remain_count
• Ex. clearbarrackqueues
• clearbarrackqueues 2
• To cancel troop queues, leaving remain_count batches in each barrack
• If no remain_count is provided, all batches except the first in each barrack are removed.
• excercise troops troops
• Ex. excercise a:99000,p:2000,sw:2000,cav:2000,cata:2000,warr:2000 a:100000
• to run the combat excercise between two groups of troops
• Manhunt: search for all towns of a player in selected area or everywhere. The area near your towns are included in search area by default. Other areas can be included by running
• scanmap location radius
• Ex. scanmap 101,100 30
• scanrec nw_corner se_corner
• Ex. scanmap 125,250 250,375
Scanning map takes a long time. The map is cached in general. To update areas that were previously scanned, use:
rescanmap location radius
Ex. rescanmap 101,100 30
You can scan the fields to find who owns what around you with:
scanfields location radius
Ex. scanfields 101,100 6
To look up map information, you can use one of the following inline commands. Inline commands start with character "\" and must be typed in the the chat line.
Ex. \searchenemies 1000
Ex. \searchcastle Defiance
Ex. \searchcastle BobVille
Ex. \searchcastle Bob
\listcastle NWcorner SEcorner [maxtowns]
Ex. \listcastle 100,110 240,260
Ex. \listcastle 100,110 140,260 100
Ex. \searchfields Defiance
Ex. \searchcastle Bob
You can also use
Ex. \who Bob
Ex. \loc 101,100
• FindField: List locations of interest You can use findfield command to search the known map.
• findfield fieldtype fieldlevel distance
• Ex. findfield NPC 5 6
• to list for all NPC level 5 within 6 miles
The field type is one of the following Forest, Desert, Hill, Swamp, GrassLand, Lake, Flat, NPC.
You can optionally specify hero, troop, and center coordinate for findfield.
findfield fieldtype fieldlevel distance hero troop [center]
Ex. findfield NPC 5 6 any b:400,t:400
to get a farming script
Ex. findfield NPC 5 6 any b:400,t:400 101,102
the get a farming script for npc 5 within 6 miles of 101,102
Ex. changecastlename BobVille
to change the castle name to BobVille
(incomplete implementation, requires bot reloading)
• Other inline commands:
• \listmail page
• Ex. \listmail 2
• to show mails, 2nd page
• Ex. \listsentmail 3
• to show mails sent, 3rd page
• Ex. \listsystemmail 2
• to show system mails, 2nd page
• \mail receiver topic message
• Ex. \mail Bob our_meeting see you at 3:00PM server time
• Ex. \members
• to list members in your alliance
• \warreport page
• Ex. \warreport 3
• to show page 3 of the war reports
• \armyreport page
• Ex. \armyreport 1
• to show page 1 of your army reports
• report URLs are obtained automatically
• \quickarmyreport page
• Ex. \quickarmyreport 2
• to show page 2 of your army reports
• report headlines are shown together with report id
• \readreport reportid
• Ex. \readreport 91706
• to show report URL for report 91706
• report id are provided by \quickarmyreport
• \apply alliance
• Ex. \apply Defiant
• to apply to alliance Defiant or to accept invitation from alliance Defiant
• \accept nick
• Ex. \accept Bob
• to accept Bob into the alliance or to send Bob an invitation to join your alliance
• necessary priviledge required
• \eject nick
• Ex. \eject Bob
• to kick Bob out of the alliance
• necessary priviledge required