Pages: [1] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 1 post(s) |
Carol Krabit
School of Applied Knowledge Caldari State
44
|
Posted - 2014.05.06 14:34:00 -
[1] - Quote
Howdy
I'd like to share with you a pet project of mine that intends to polyfill some lacking features of the fleet UI in-game. Armada is a tool that lets players create a sort of meta fleet, where its members have access to each others HTTP-header info as exposed by the IGB. This is packed in a compact view that resembles the 'composition' window for FC's, but with added info and convience features like hotlinks to a characters eve-kill page, or the ability to set destination to a members location with a single click.
There is also a feature to share directional scan results with the members of your armada, very similar to other tools, but with the push functionality and persistence of the armada.
The app is really simple to use, just visit http://armada.herokuapp.com in the IGB and it should hopefully be self explanatory. Just create an armada and share the URL that you are being directed to. Alternatively you see the key of your current armada in the bottom left corner, and you can share that for people to insert at the start page. Of course trust needs to be enabled for any of this to work, and you will be prompted for that as you enter the app.
It would be fantastic if you tried it out and gave some feedback! |
Carol Krabit
School of Applied Knowledge Caldari State
44
|
Posted - 2014.05.16 17:19:00 -
[2] - Quote
No one? |
Rob Crowley
State War Academy
298
|
Posted - 2014.05.16 18:44:00 -
[3] - Quote
Looks very useful and quite pretty while not using too much screen real estate.
Are you planning to release the source code so people can run their own server? Cause tbh I see rather serious security issues when whole fleets are live-broadcasting their complete intel to a 3rd party site. |
|
CCP FoxFour
C C P C C P Alliance
3235
|
Posted - 2014.05.16 21:06:00 -
[4] - Quote
That is super cool! How are you getting scan results? People copy and pasting? CCP FoxFour // Game Designer // @regnerba
|
|
Altrue
Exploration Frontier inc Brave Collective
1166
|
Posted - 2014.05.16 21:17:00 -
[5] - Quote
Looks cool!
Can't wait to try this out. Signature Tanking - Best Tanking. Beware the french guy!
|
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.05.17 08:29:00 -
[6] - Quote
Rob Crowley wrote:Looks very useful and quite pretty while not using too much screen real estate.
Are you planning to release the source code so people can run their own server? Cause tbh I see rather serious security issues when whole fleets are live-broadcasting their complete intel to a 3rd party site.
Yes, I definitely will if there seems to be enough interest. As with most hobby projects (were a part goal is to learn new stuff), the code feels a bit hacky, so I'd like to take some time to clean it up before making it public.
CCP FoxFour wrote:That is super cool! How are you getting scan results? People copy and pasting?
Yup, copy and paste into the box that pops up when you click the scan button in the bottom bar. It's a bit of a manual step, but I've tried to reduce the interaction by ensuring input box focus when opening, and that enter submits. So as soon as the scan data is in the clipboard [ click button ] > [ ctrl/cmd-v ] > [ enter ]. |
Myopic Thyne
Shattered Paradigm Eon.Apocalypse
15
|
Posted - 2014.05.23 03:14:00 -
[7] - Quote
Looks neat.
How about longpolling so you can do fleet cloak timers? Also any chance we can see the source? |
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.05.23 06:01:00 -
[8] - Quote
Myopic Thyne wrote:How about longpolling so you can do fleet cloak timers?
I originally intended to use socket.io for real time communications between the client and server. There are two reasons why I chose not to. Firstly, my original hosting provider (before setting up shop in heroku) didn't allow long polling or socket connections. Secondly, since the relevant data is supplied in the HTTP headers by the IGB, some sort of client side polling would have to take place anyway. You could probably do this by somehow letting the client do ajax requests to itself or something, but it wouldn't be as simple as to inform the server of any state change through a socket.
Myopic Thyne wrote:Also any chance we can see the source?
Coming up any day now! |
Vittoros
Evolution Northern Coalition.
1
|
Posted - 2014.05.23 07:17:00 -
[9] - Quote
Arf.. name collision! https://eve-armada.com/ :) |
Swiftstrike1
Swiftstrike Incorporated
663
|
Posted - 2014.05.23 21:11:00 -
[10] - Quote
This is very cool, but like someone already pointed out... I wouldn't ever willingly provide this kind of intel to a 3rd party that I am not personally affiliated with. Fleet Bookmarks New Gravimetric Sites Med Clones 2.0 |
|
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.05.24 09:48:00 -
[11] - Quote
Oh noes! I guess we'll just have to get along!
Swiftstrike1 wrote:This is very cool, but like someone already pointed out... I wouldn't ever willingly provide this kind of intel to a 3rd party that I am not personally affiliated with.
I have now made the code public, it's on Bitbucket. I hope I haven't wrecked anything during the clean up process! Gonna add installation instructions ASAP, but anyone who knows Node.js should feel right at home. If you want to change stuff or add features please do so through pull requests!
The app should run fine on free single node solutions on platforms such as Heroku, AWS, Openshift etc. MongoDB persistence is optional, and the app can be run using only in-memory storage (which of course is unreliable unless you know the instance is gonna be running without interruption).
Please report if you have tried to set it up and tell me how it went! |
Tarei
GoonWaffe Goonswarm Federation
0
|
Posted - 2014.05.29 20:58:00 -
[12] - Quote
This is really cool.
I was able to get it deployed out to my own heroku instance pretty easily, but it doesn't seem to be fully functional. Visiting my heroku link with the IGB didn't redirect properly to the armada link (although the logs show the key being made).
Are there uncommited changes you have that aren't on bitbucket? Also, y u no github. |
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.05.29 22:58:00 -
[13] - Quote
Tarei wrote:This is really cool.
I was able to get it deployed out to my own heroku instance pretty easily, but it doesn't seem to be fully functional. Visiting my heroku link with the IGB didn't redirect properly to the armada link (although the logs show the key being made).
Are there uncommited changes you have that aren't on bitbucket? Also, y u no github.
Glad you like it, and thanks for trying it out!
Do you use MongoDB or memory storage? I know from experience that Heroku does silent, sporadic reloads of their web dynos, so I would not suggest using the memory option there. Do you use a configuration file or environment variables? Does it work locally?
The master branch is what is running on my Heroku instance. For storage I use a free MongoDB Heroku add-on from MongoLab that seem to work fine. I don't use Github because they do not (afaik) allow multiple private repos for free, Bitbucket does.
|
Myopic Thyne
Shattered Paradigm Eon.Apocalypse
17
|
Posted - 2014.05.30 05:02:00 -
[14] - Quote
Thank you for releasing the source, I've been wanting to fiddle with Node and this seems like a really cool way to learn about it. |
Tarei
GoonWaffe Goonswarm Federation
0
|
Posted - 2014.05.30 14:52:00 -
[15] - Quote
Carol Krabit wrote: Glad you like it, and thanks for trying it out!
Do you use MongoDB or memory storage? I know from experience that Heroku does silent, sporadic reloads of their web dynos, so I would not suggest using the memory option there. Do you use a configuration file or environment variables? Does it work locally?
The master branch is what is running on my Heroku instance. For storage I use a free MongoDB Heroku add-on from MongoLab that seem to work fine. I don't use Github because they do not (afaik) allow multiple private repos for free, Bitbucket does.
I'm using the free MongoHQ addon for my heroku app. It's set via heroku config:set variables. Also, locally I'm using a .env file so that foreman can handle those.
But I am seeing the same functionality locally versus on heroku. It tries to create an armada link, but just never redirects the browser to it. Fair point about github, private repos are a premium.
I'd just paste you my heroku url, but I just noticed it broke. Hit me up via evemail and hopefully I'll have it fixed by then to show you.
|
Tarei
GoonWaffe Goonswarm Federation
0
|
Posted - 2014.05.30 18:28:00 -
[16] - Quote
Actually, it looks like nothing is being written into the database. Is there something up with the storage engine? Memory doesn't seem to be working either. |
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.05.31 12:10:00 -
[17] - Quote
My guess is that there is something wonky with your session handling. Could be that your session signing variables are off somehow. My secrets are like this (with one character replaced):
COOKIE_SECRET: 'DAw23PWDxdSWD' SESSION_SECRET: 'Kjh5RKSA34lf9'
Try matching that and see if it helps. If not, see what the actual API HTTP responses looks like.
About the data not showing up in mongo; as soon as an armada expires, all related data is removed from there as well. An armada expires immediately when the last member times out. This means that if the session stuff is indeed borked, the armada data in mongo only lives for less than a minute.
Also pull. |
Tarei
GoonWaffe Goonswarm Federation
0
|
Posted - 2014.05.31 20:16:00 -
[18] - Quote
Carol Krabit wrote:My guess is that there is something wonky with your session handling. Could be that your session signing variables are off somehow. My secrets are like this (with one character replaced): COOKIE_SECRET: 'DAw23PWDxdSWD' SESSION_SECRET: 'Kjh5RKSA34lf9' Try matching that and see if it helps. If not, see what the actual API HTTP responses looks like. About the data not showing up in mongo; as soon as an armada expires, all related data is removed from there as well. An armada expires immediately when the last member times out. This means that if the session stuff is indeed borked, the armada data in mongo only lives for less than a minute. Also pull.
Spot on. Things are working great now.
You might be getting a pull request from me soon with some d3 map action. |
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.06.02 19:28:00 -
[19] - Quote
Tarei wrote:Spot on. Things are working great now. Awesome! I hope you find good use for it! I also updated the readme to reflect more in detail what the different variables do.
Tarei wrote:You might be getting a pull request from me soon with some d3 map action. Looking forward to it! |
Casper Indiron
Aliastra Gallente Federation
0
|
Posted - 2014.06.05 19:40:00 -
[20] - Quote
You mentioned Socket.io for realtime communications. I'm working on an IGB app of my own, and I have yet to find a library (SignalR, socket.io) that works reliably. I have found some chat demos that work in the IGB, but nothing I do locally works. Have you found a library/config that allows you to push data/call client methods from the server into the IGB consistently? Thanks! |
|
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.06.10 10:18:00 -
[21] - Quote
Casper Indiron wrote:You mentioned Socket.io for realtime communications. I'm working on an IGB app of my own, and I have yet to find a library (SignalR, socket.io) that works reliably. I have found some chat demos that work in the IGB, but nothing I do locally works. Have you found a library/config that allows you to push data/call client methods from the server into the IGB consistently? Thanks!
Using sockets was the original plan, but I never got so far that I tried any lib in the IGB. I have since heard that sockets aren't supported, so maybe it was for the better. I'm sure most real time libs has fallbacks to long poll etc., but it feels like sockets is the main attraction.
I settled on classic short polling for my app. That way I don't have to invoke any header state checks client side either. It comes at a hefty price of more requests and less accuracy though.
|
Carol Krabit
School of Applied Knowledge Caldari State
46
|
Posted - 2014.08.24 14:56:00 -
[22] - Quote
Shameless bump for attention. |
|
|
|
Pages: [1] :: one page |
First page | Previous page | Next page | Last page |