PDA

View Full Version : EVE Source Wiki



civan
08-13-2011, 10:43 PM
One of the things that really bugs me about eve is that it has been out for more than 8 years now, and yet the bots are no more complex than ... stone axes and stuff. Nearly anything published uses OCR which is good as far as it can be knocked together in a week without any reverse-engineering, but technologically it is hugely inferior to any other method.

One of the things that I think would be useful to help with the creation of new bots would be a wiki of all the things that we know about the client source. It would be a single place to download latest decompile, track changes and log all the technical information that we know.

For now I want to gauge how many people would be willing to get onboard and contribue, so please post all your thoughts :).

bigelectron
08-13-2011, 11:30 PM
I would be up for contributing to something like this provided everything checks out on the legal side. Not sure about the legality of posting ccp's code up(or snippets).

civan
08-14-2011, 12:46 AM
Legal side would probably only check out as a bulletproof server. But then again every single piece of python on this website can be taken down as a deriviative work. CCP hasn't been very active in waving the DMCA, probably because a company of their size can't afford full time legal staff.

Carcaradon
08-14-2011, 09:37 AM
I have planned to release something like a code snippet compilation, with some documentation. So far my own code snippet file is around 500 lines long, whereas my working injects are over 2000 lines. I have the working versions of the following injects:

- Local red monitor at top middle of the screen and warning (full screen flashing)
- Local hostile report to a channel of your choosing, with names as info links and optional alliance/corp names after them
- ScanHelper (modified ProbeHelper), some added options like storing current position of probes and signatures that aren't at 100%, and type report for ships that are below 25% strength, as well as sending probes to current selected activeitem's position
- SuperDscan that includes a slider to adjust dscan range, and estimates result distance using a cached history
- Sliders for adjusting keeprange and orbit range on the activeitem window, below combat action buttons
- Modified target window frame with custom color background to contrast dark turret icons
- Inflight direction steering with WASD
- Automated mining/ratting routines (currently not in full bot form yet) that does loot scooping and unloading of loot to station

There are a few more things that are just exploits of unsafe design. They give some unfair advantages to those that use them in combat and I don't plan to release them. Also for those that missed my post in that other thread, I have kepted a new source code repo. There have been numerous postings of the source code on github and google code. They have been taken down fairly quickly. I don't expect mine to stay up for too long, so if you want to keep it you should download and keep it locally. TBH however it is not really that useful since you can dissemble/decompile your own "up-to-date" version using tools posted by wibiti, rather easily.

https://github.com/bc6/Paraplegic-Hank-Drake

For those that just want simple and quick answers for the things they want to do, you can feel free to ask me on these forums. I have studied the source code for a long time and I can point you to the right place.

Joe333
08-14-2011, 11:19 PM
- ScanHelper (modified ProbeHelper), some added options like storing current position of probes and signatures that aren't at 100%, and type report for ships that are below 25% strength, as well as sending probes to current selected activeitem's position
- SuperDscan that includes a slider to adjust dscan range, and estimates result distance using a cached history
- Sliders for adjusting keeprange and orbit range on the activeitem window, below combat action buttons
- Modified target window frame with custom color background to contrast dark turret icons
- Inflight direction steering with WASD

Now, those should be in mainline client as standard figures;-)

Could you imagine nerdgasm on the eve-o forums if there were implemented by CCP. (btw - are you planning to release them?:))

roidman
08-14-2011, 11:29 PM
Dude.... even WASD steering would be a big enough improvement let alone the dscan and scanhelper mods.

Carcaradon
08-14-2011, 11:41 PM
To be honest, I started this project with Eve injection mostly because I was desperately wanting those features in the game for my own sake. I waited for the UI "overhaul" and nothing useful happened, so I decided to do it myself. The Eve UI is like a cruel joke on usability design, that you can almost study it as a counter-text for HCI in computer science.

The inflight direction steering is a little awkward at the moment because it is a constant turn per key press. For most flight/car simulation to be comfortable, you need accelerated turn when the key is pressed down. There is a way to "cheat" and achieve a similar effect, which I still have to test. On the other hand, an extra feature such as a visual effect for your ship's alignment and flight commands it currently has registered would be ideal. Note that double clicking in space to steer the ship does not give the user any feedback, which is a gigantic blunder and critical issue in ship maneuvering, especially considering the varying latency. I aim to give some sort of visual feedback (other than text messages) to all registered commands, so that you know exactly in any situation what your ship is currently doing. When I get that done, I will release it.

As for my other scripts, I plan to do a release within the week, but I need to first finish my mining bot and auto-scoop script, and clean up some existing scripts. Stay tuned!

civan
08-15-2011, 12:31 AM
I was going to say that you should apply for a job with CCP, but frankly I wouldn't take a job there even if they asked ;)

cracken
08-20-2011, 08:14 AM
Hello,

I'd like to ask you if you know where CCP is keeping the fingerprinting stuff? I've look'd all around and found some references but not the acutal code that creates the fingerprint.. Cuz I kinda would like to know how they generate our fingerprints after all it might be usefull cuz if you know what they use to generate it you can manipulate it;)

thanks in addvance.
best regards

Carcaradon
08-20-2011, 09:26 AM
I commented in the other thread about it. Basically, I spent a while looking for it, and I couldn't find it. The network code is a little less straightforward compared to the UI and engine code. You should look into machoNet.py, clientStatsSvc.py and some of the log classes to look for remote server calls, what arguments are passed to them, and see if you can find the code that writes to those variables. Someone mentioned that he saw code resembling fingerprinting in one of the log classes, so I wouldn't be surprised if you can find it there, since I only glanced over those.

Carcaradon
09-01-2011, 05:32 PM
I updated my source repo on github to the latest patch version. It is a good idea to look at the changes as there are quite a ton of them on this last patch.

GongShi
09-06-2011, 07:29 PM
Carcaradon, where are your own scripts from the 4th post of this thread?

I am a seasoned Python developer myself and love to take a look.

Carcaradon
09-07-2011, 03:43 AM
Carcaradon, where are your own scripts from the 4th post of this thread?

I am a seasoned Python developer myself and love to take a look.

I've released some of my scripts here on this forum. You can browse down a bit to see them (I made separate threads for them). Just to update, I now have a fully working (and very efficient) mining bot out, and am currently working on a ratting bot, a hauler bot, and some other useful tools, albeit very slowly and lazily, since I do have other obligations. If you are interested in any particular kind of code, I can share snippets of them. I prefer not to release everything unless there's a good demand for them. I don't want to give CCP any ideas about how to detect me.

You can PM me as well.