EVEMon 4.0.20 - ESI Edition

EVEMon, the premier character monitoring and skill planning tool for EVE, now uses the new ESI API. With the addition of PKCE support, no developer registration is required, although paranoid users can still read how to create a developer application.

Download at: GitHub

Known issues

  • Old versions of EVEMon prior to 4.0.0 must be uninstalled, and any character data from those old versions must be removed. Please export any important skill plans before reinstalling and use the Reset Settings option in the File menu.
  • Performance of EVEMon may be lower since ESI requires more calls to fetch the same information than the old API

Other links

90 Likes

I’ve been using this for a day, so far the character based items seem to work fine so far, but the corporate contracts and industry jobs are not reporting.

1 Like

Is there an issue list that people who want to contribute can look at?

1 Like

This is more true than people will realize. As a developer used to working with APIs I must say, the lack of “bulk” fetch operations in the current ESI is a major issue. Just getting a list of something simple, like available skills, from the ESI requires hundreds - if not thousands (depending on level of detail) - of requests, which is kind of ridiculous.

4 Likes

Thankfully, this is the kind of thing which is easily solved by using the SDE that CCP provides, for all your static data needs.

7 Likes
EVEMon Version: 4.0.0.4737

.NET Runtime Version: 4.0.30319.42000
Operating System: Microsoft Windows NT 6.3.9600.0
Executable Path: “C:\Program Files (x86)\EVEMon\EVEMon.exe”

System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.Single[TSource](IEnumerable1 source, Func2 predicate)
at EVEMon.CharacterMonitoring.CharacterContactList.DrawItem(Contact contact, DrawItemEventArgs e) in EVEMon\CharacterMonitoring\CharacterContactList.cs:line 277
at System.Windows.Forms.ListBox.OnDrawItem(DrawItemEventArgs e)
at EVEMon.Common.Controls.NoFlickerListBox.OnDrawItem(DrawItemEventArgs e) in EVEMon.Common\Controls\NoFlickerListBox.cs:line 28
at System.Windows.Forms.ListBox.WmReflectDrawItem(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

get then looking though contacts on a new install

1 Like

You sir are a life saver and a saint! Working great for what I need, really appreciate the time and effort!

1 Like

Much appreciated! How does this work with multiple accounts, it seems like you can only enter the ESI client settings for one of them in the network settings.

Those settings are for an ESI dev account. CCP designed the new ESI API with the expectation it would only be used for web apps where the dev key and secret could be hidden from users. In a desktop app the key and secret would be able to be stolen by the end user who could then impersonate the apps author. To get around this issue you need to create your own dev key and secret and enter it so only you know it.

The dev key/secret is just for authenticating your app to the API servers and has nothing otherwise to do with what accounts are then authorized for API access. Once you’ve done the setup then you authorize characters one by one for API access in EVEMon.

1 Like

i seem to have skill time issues, in-game says i have 12 days left on a skill, and in evemon on my skill queue it say 10 days.

might just be me but every single skill queued up in evemon is shorter than in-game queue.

Update: it seems the total time isn’t affected, but the skills still show less time than in-game

1 Like

do you have boosters active? iirc in game they calculate correctly, 5 days boosted + 7 days unboosted gives 12 days total. but evemon assumes current stats apply to entire queue, so 5 + 5 gives incorrect 10 day total. (numbers for example only)

How much more calls we talk about?

Thankfully, this is the kind of thing which is easily solved by using the SDE that CCP provides, for all your static data needs.

How much more calls we talk about?

It depends. I used the SDE to limit calls in many cases, but for example fetching the character sheet (including queue, skills, implants, and clones) is 11 calls where two were sufficient before. In addition, a separate request must be made for each individual citadel that appears in another API result (whereas I can batch request characters, stations, alliances, and corporations). This can add dozens of calls to tabs such as assets, market orders, and industry jobs, which makes those sometimes take many seconds to fully load.

do you have boosters active? iirc in game they calculate correctly, 5 days boosted + 7 days unboosted gives 12 days total. but evemon assumes current stats apply to entire queue, so 5 + 5 gives incorrect 10 day total. (numbers for example only)

This. There is currently no ESI endpoint for active boosters so I have no way of knowing when an active accelerator ends.

1 Like

Firstly just wanted to say thank you for taking the time to work on getting evemon running again.

I’m completely clueless on such matters, but had noticed guides I’d looked for sheets/excel using postman, so was just wondering if the localhost route is as secure / safe to use?

Minor issue. I get the skill complete message every time the character information is updated if I haven’t logged onto that character since the skills finished training. For some characters I’m getting notified of skills that finished training over a week ago.

2 Likes

So why does EVEMON require basically a full API to authorise now?

It requires a developer application, where you can select what roles the third party apps can request using your client id / secret. Evemon requires all ESI_* roles. When you login with your account and select the toon, you will see in the lower part all the roles required by the application to read. Think of it more like how apps on FB/twitter/discord work like, it’s the same

I can’t seem to go further after logging in my account, tried a different one and it’s all plexed and verified.

1 Like

I think it needs to be paid with cash, not plex? Could be wrong

1 Like

Yeah, I’m expecting that too…thanks CCP

1 Like