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.
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
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.
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.
.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)
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.
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)
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.
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.
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