# EveStructures - Monitor your stations out of game

**URL:** <https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481>\
**Category:** Third Party Developers\
**Created:** [January 31, 2018, 3:13pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481 "2018-01-31T15:13:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [January 31, 2018, 3:13pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/1 "2018-01-31T15:13:57Z")

</div>

Ahoy Champions,

After talking with a few people across EVE, the idea arose that an out of game Station Management tool could be useful for those who are in charge of managing the many stations that are deployed across New Eden.

**Website**

> [https://structures.eveskillboard.com](https://structures.eveskillboard.com)

**Demo**

> [https://structures.eveskillboard.com/demo](https://structures.eveskillboard.com/demo)

**Developer**

> Brock Khans  
> [GitHub - skiedude/evestructures: An ESI/SSO backed website enabling Eve Online Corporations to view and manage all their owned Structures in New Eden](https://github.com/skiedude/evestructures)

**Planned Features in Development**

> Notification Manager + Notifications

**Discord**  
[https://discord.gg/5vUQxMP](https://discord.gg/5vUQxMP)

**Slack**  
#eveskillboard (in tweetfleet slack)

Leave any feedback here, feature requests or bug reports. Also feel free to contact me in game via mail/chat. I also hang out in the SCC and Eve-Mogul Discords.

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [January 31, 2018, 3:14pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/2 "2018-01-31T15:14:20Z")

</div>

**Reserved** for updates

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 2, 2018, 2:05am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/3 "2018-02-02T02:05:52Z")

</div>

Codebase is now public

> **[skiedude/evestructures](https://github.com/skiedude/evestructures)**
>
> An ESI/SSO backed website enabling Eve Online Corporations to view and manage all their owned Structures in New Eden - skiedude/evestructures

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 7, 2018, 3:28pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/4 "2018-02-07T15:28:07Z")

</div>

Discord Notifications are live!

Updates Include:

- Background structure update every 3 hours (This ensures notifications are using accurate data)
- Add/Update/Delete a webhook for each character
  - Multiple characters spanning multiple corporations can notify to their respective discord

- Fixed a bug with the days left not accounting for multiple months/years of fuel
- \< 7 Day and \< 24 hour fuel notification created
  - Resets when more fuel is added so you can be renotified when it hits this criteria

In Development:

- Slack Webhook Functionality
  - One per character like discord notifications

- If you use both Discord/Slack choose which one you prefer the notifications to be sent to

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 14, 2018, 2:26am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/5 "2018-02-14T02:26:47Z")

</div>

Upwell 2.0 Updates have just been pushed to Master!

If you’re hosting your own you’ll want to do the following:

> git pull  
> php artisan migrate  
> php artisan queue:restart  
> php artisan update:structures

That will apply all the DB changes, restart the queue (which needs to happen anytime you change a job), and run a fresh update on all your structures which will pull down and store all the new data.

Heres a preview of how the new data looks

> **[Screenshot](https://prnt.sc/ief5f1)**
>
> Captured with Lightshot

> **[Screenshot](https://prnt.sc/ief5p7)**
>
> Captured with Lightshot

---

<div class="post-metadata">

**Author:** ![Celengan\_Babi](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/celengan_babi/32/432837_2.png) [@Celengan\_Babi](https://forums.eveonline.com/u/Celengan_Babi)\
**Post date:** [February 19, 2018, 3:07am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/6 "2018-02-19T03:07:15Z")

</div>

Awesome project!

I use the self-hosted version for my corp, and so far it’s been working really well!

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 19, 2018, 4:43am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/7 "2018-02-19T04:43:26Z")

</div>

> [@Celengan\_Babi](#):
>
> I use the self-hosted version for my corp, and so far it’s been working really well!

Thats great to hear, I’ve wondered. Were my install instructions adequate enough to get it working?

---

<div class="post-metadata">

**Author:** ![Celengan\_Babi](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/celengan_babi/32/432837_2.png) [@Celengan\_Babi](https://forums.eveonline.com/u/Celengan_Babi)\
**Post date:** [February 19, 2018, 8:22am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/8 "2018-02-19T08:22:15Z")

</div>

Yes, I would say that the installation instructions are clearly written.

I had some problems with the Apache vhost entry configuration, but overall it works really well.

Will you add some more features later on? Like, for example, a more advanced filtering for Discord webhook so we can adjust what kind of notifications that will get pushed to the Discord? Also, a simple button to test the webhook would be great, since back then we didn’t know if the webhook was working or not until we got a sudden notification that one of our citadels is running out of fuel.

Thank you for making it open source as well!

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 19, 2018, 2:03pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/9 "2018-02-19T14:03:45Z")

</div>

Definitely. Still pushing updates weekly. There are a lot more notifications that I want to add and i think at that point I will need to make a page to manage them

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [February 20, 2018, 3:10am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/10 "2018-02-20T03:10:36Z")

</div>

The Great Database Cleanup has taken place. I’d like to thank @kossaw for his help in figuring out a good solution in our discussion we had on Github.

This prevents duplicates from being created, and shares the data between characters of the same corporation\_id and characters that have the is\_manager role (Defined by the role check looking for Station Manager).

Relationships are now connected between `characters.corporation_id <=> structures.corporation_id` . And structure\* relations are defined by `structures.structure_id <=> *.structure_id`

Since data is now shared between characters, we do not delete the structure when the character/account is deleted. We do however have a new job that runs once a week to clean up old structures that don’t have any matching `characters.corporation_id`

I also increased the scheduled frequency of the `update:structures` to every hour, the `check:fuel` to every hour (on the :30) and the `check:orphans` runs weekly.

> git pull  
> php artisan migrate  
> php artisan queue:restart

I found it easiest to drop everything from structures, and structure\_\*, and fuel\_notices and then just run `update:structures` and `check:fuel` to repopulate all the data. Just keep your `characters` of course.

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [March 2, 2018, 3:49am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/11 "2018-03-02T03:49:46Z")

</div>

Extractions have arrived!

 ![moon](https://global.discourse-cdn.com/eveonline/original/3X/4/f/4f9ca79a567716961eb39c4340fad4c4ad1b429a.png)

With this most recent update the extraction info is now being pulled.

**Important Updates**  
In order to pull this information, a new scope was added to the auth process. You will need to sign into [developers.eveonline.com](http://developers.eveonline.com) and add it to your application (if you’re self hosting, and following my fork)

- esi-industry.read\_corporation\_mining.v1

I also moved the code that was duplicated between the StructureController and the Job/StructureUpdate into a traid StructureGet. No more duplicated code, each file just calls the trait.

Since there were job updates and a new table added make sure you run both:

> php artisan queue:restart  
> php artisan migrate

---

<div class="post-metadata">

**Author:** ![Darwien\_Deninard](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/darwien_deninard/32/316043_2.png) [@Darwien\_Deninard](https://forums.eveonline.com/u/Darwien_Deninard)\
**Post date:** [March 7, 2018, 2:50am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/12 "2018-03-07T02:50:24Z")

</div>

Very useful! Even if it is refreshed every 3 hours only, can you add discort notification to the vulnerability status changes? Similarly, extraction notification would be useuful.

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [March 7, 2018, 2:58am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/13 "2018-03-07T02:58:17Z")

</div>

Yup that’s on the road plan. I first need to redo the notifications as they are and add a manager page where you can configure them to your liking

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [March 15, 2018, 4:09am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/14 "2018-03-15T04:09:14Z")

</div>

The Notification Manager has arrived!  
Now when you’re logged in, you will notice a new tab `Notifications`. Here you can define a webhook for the Alerts you wish to have sent to you.

Notifications Available:

- Daily Extraction:  
– This is sent daily at 13:00 Eve time, contains all the extractions coming up in the next 7 days
- Unanchoring  
– 1 alert is sent when the unanchor is first noticed by the website  
– 1 alert is sent when there is \< 24hours until the unanchor is about to finish
- Structure State Change  
– If the state of your structure changes, you will get notified about it (Went from Shield Vulnerable → Armor Reinforced)
- Fuel Notices (no changes from existing functionality)
- Test Webhooks  
– You can now test your webhooks to make sure they go to the desired channel, simply save a webhook, and then select it from the drop down for the desired character

There are a couple new tables so do the usual:

> php artisan migrate  
> php artisan queue:restart

Also if you’re hosting your own to copy of the existing webhooks from the characters table into the notification\_info table you can use the following query:

> insert into notification\_info (user\_id, character\_id, fuel\_webhook) select user\_id, character\_id, discord\_webhook as fuel\_webhook from characters;

I removed some of the jobs and just put all the work in the command file. It didn’t make sense to queue jobs that were just doing simple math.

Here are some screenshots of the new notifications:  
 ![test](https://global.discourse-cdn.com/eveonline/original/3X/4/d/4d49b67685e6d53d1d54712deec49e6c91c5f320.png) ![unachor_star](https://global.discourse-cdn.com/eveonline/original/3X/b/d/bd731dd3631a849310c8ef7c7e4b02527e38e5fa.png) ![unanchor_finish](https://global.discourse-cdn.com/eveonline/original/3X/4/1/41ca8af50c7c4dd4905ffcf03c9066ae44f36cbd.png) ![states](https://global.discourse-cdn.com/eveonline/original/3X/e/4/e4e2ba1397ab49e84995b5528cb1ef3b6f94037f.png) ![extractions](https://global.discourse-cdn.com/eveonline/original/3X/6/a/6a88b1bff86f844dbfa6d406cdba56c7fd0497b3.png)

---

<div class="post-metadata">

**Author:** ![Darwien\_Deninard](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/darwien_deninard/32/316043_2.png) [@Darwien\_Deninard](https://forums.eveonline.com/u/Darwien_Deninard)\
**Post date:** [March 15, 2018, 8:14am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/15 "2018-03-15T08:14:50Z")

</div>

Awesome thanks! Last point, structure under attack notification - do you have it on the roadmap?

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [March 15, 2018, 1:15pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/16 "2018-03-15T13:15:32Z")

</div>

To do that I’d have to add the scope for character notifications which is doable but also not ideal for the scope of this tool.

The structure state notifications are in a sense the same thing , just not as real time. You will get s notification that your structure left shield\_vulnerable and I believe it goes to armor\_reinforced. That will probably be an hour behind or so it happening in game.

So not as real-time as checking notifications. But still there

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [March 21, 2018, 4:03am UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/17 "2018-03-21T04:03:42Z")

</div>

Some more new features:

- Discord notification of Fracture taking place (close to atleast)
- User can now create their own site to view all extractions to share internally or publicly
- User can now save the ore/value/fracture preference per structure

There were some new DB tables, so as always if you host your own:

> php artisan migrate  
> php artisan queue:restart

The slug table is populated going forward, however to back-populate it run the following command on the database:

> insert into slugs (user\_id, character\_id, corporation\_id) select user\_id, character\_id, corporation\_id from characters;

Pics:

 ![prod](https://global.discourse-cdn.com/eveonline/original/3X/6/f/6f1668f54d7424d769a82fb9178a84bad9622a85.png) ![fracture%20not](https://global.discourse-cdn.com/eveonline/original/3X/a/b/abe8d9db9c7f71a54f6cf45fcf163c2387bde554.png) ![values](https://global.discourse-cdn.com/eveonline/original/3X/5/8/58bd25b67212f7c9b857e4c2b62a107b339c519d.png) ![public](https://global.discourse-cdn.com/eveonline/original/3X/3/9/39dbb9c611db08401deeb1276da765af09b3bf22.png)

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [May 22, 2018, 4:48pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/18 "2018-05-22T16:48:45Z")

</div>

Some quick minor updates just pushed.

- refactored the auth headers to pass the token as a param and not in the url query
- removed the 1 dependency we had on the SDE to look up system names but just hitting the universe endpiont, seemed pointless to have to import the whole SDE to just get a simple system name

As always, pull down the updates, and run a `php artisan queue:restart`

---

<div class="post-metadata">

**Author:** ![Celengan\_Babi](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/celengan_babi/32/432837_2.png) [@Celengan\_Babi](https://forums.eveonline.com/u/Celengan_Babi)\
**Post date:** [June 2, 2018, 9:16pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/19 "2018-06-02T21:16:17Z")

</div>

Thanks for the update!

---

<div class="post-metadata">

**Author:** ![Brock\_Khans](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/brock_khans/32/409174_2.png) [@Brock\_Khans](https://forums.eveonline.com/u/Brock_Khans)\
**Post date:** [June 9, 2018, 8:51pm UTC](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481/20 "2018-06-09T20:51:50Z")

</div>

Add edsome debug to track when notices aren’t sent, reset notices on extractions that have restarted

make sure to restart the queue after pulling. I have a lot more improvements planned, hopfully coming this week or the next

[Next page](https://forums.eveonline.com/t/evestructures-monitor-your-stations-out-of-game/54481.md?page=2)
