Forums » Suggestions

scripts communicating with the vo client

«123
Jul 28, 2006 csgno1 link
Rogue, that's a good idea thanks.

Klabbath, the storm info currently is collected by the script only if the player actively enters "#storm" into sector chat when they hit a storm. I was undecided about having it automatic because the info could be used to track someone. But I like rogue's idea of full reporting, so maybe I'll do that but build in a delay. I'll probably make automatic or manual or delayed reporting configurable.

I need to re-arrange the script code to be a little neater, to allow through configuration for players to turn features on and off, and to easily support user customization and some os specific code. For example the way I make the script talk on OSX will need to be replaced with a different command for windoze or linux. I'll try to do some of this while I'm on vacation next week since I won't be able to play :(

--Harpo
Jul 28, 2006 LostCommander link
Kalabbath - You need to wait for csgno1 (Harpo) to finish writing a Perl script which will, when installed, automatically report everything.

Rougelazer - That could be done (report clear scetors), but don't we already know storms last 2-4 hours? Would you suggest removing storm notices from the database upon receiving a "clear" report, or something else? Would it be useful to try and work out "clear" paths (e.g. if I jump across Dau, mark not only both wormholes as clear, but mark all sectors under the path between the wormholes as "clear")? -- (Also, how would one go about figuring out whether a sector was or was not under a given path?)

I really think it should be full automatic reporting of everything. What if I scratch the reporting character's name off? I thought it might be nice to notice characters who were "doing their part" as it were to inform the V.O. universe of stuff, but anonymous is fine too...
Jul 29, 2006 terjekv link
those who do not learn from history are doomed to reimplement it. or so it would seem. :-)

anyway, the parsing of errors.log is trivial. the dumping to a database is just as easy. the question is what you do with that data to make it usable.

a huge dump of what's sold where and when doesn't, in its own right, achieve anything. being able to ask "I'm in Dau D-10, I want Ion Cores, what's the closest place to get them, and what's the cheapest place to get them?" or, asking, I want a Hornet MkII, and a set of MkIv rails, where do I get these two closest to eachother? and I've got some stash to sell, where does it sell well?

in a dynamic economy, updating this needs to be transparent for the user, when I did this I used a http post command to a set of scripts that dumped this into the DB.

as for security, a simple and surprisingly effective solution is to have people authenticate themselves (username / password) to the web interface you're creating, and note the IP they're using. now, barring bloody annoying transparent proxies (which one can handle), you only accept updates from a given user account from a specific IP. no passwords required for the updates, as the session has been established previously by the web login.

this also means that if someone gets the script, and all the confiuration data, he still does not get the password, it doesn't have to be stored anywhere.

speaking of which, I had to check... 1.2 usage entries on average every minute for 450-odd days. and interesting statistic is that only around 7% of the entries was a write, the rest were reads. I'll admit it makes me a tad warm and fuzzy. ;-)

(no, the recent changes aren't implemented, only old-school cargo is supported atm, support for it exists, it just requires some minor changes on the client side data delivery system. sigh.)
Jul 29, 2006 LostCommander link
Okay, so the commerce pages are now:
http://www.4griffin.com/vo/HelpyScript_VO.php?page=station_commerce
http://www.4griffin.com/vo/HelpyScript_VO.php?page=item_commerce

You can find what stations sell an item from the item page and it will also identify for you the best reported purchase and sale prices for an item.

Is there anything else someone would like to be able to know?

P.S. I believe it is being made transparent -- the user should not have to do anything to make reports.
Aug 04, 2006 LostCommander link
-- Okay, I have a completed version that does storms and commerce reporting. If you want to try it out:

On Windows XP, install ActiveState Perl if you have not already, then with the package manager (ppm) install the Perl modules called libwww and File::Tail (you will also need the prerequisites of libwww if this is a new install {URI, HTML::Parser, MIME::Base64, Digest::MD5, and Net::FTP from libnet}).

1. Download ActiveState Perl version 5.8.8.817 MSI installer from: http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl

2. Extract the folder from the zipped file and run "Installer.bat" to install ActiveState Perl.

3. Start the command prompt, type "ppm" and execute [press 'Enter'] to start the Programmer's Package Manager.
Add module/package repositories and install libwww, File::Tail, and their prerequisites.
Type and execute the following commands (including the quotes, one command per line):
rep add "U-Winnipeg" http://theoryx5.uwinnipeg.ca/ppms/
rep add "ActiveState Perl 5.6" http://ppm.activestate.com/BuildStatus/5.6plus/windows/
rep add "CPAN" http://www.cpan.org/modules/
s File-Tail
install 1
s libnet
install 2
s Digest-MD5
install 1
s MIME-Base64
install 1
q

4. Download the following files from http://www.cpan.org/modules/01modules.index.html
HTML-Tagset-3.10.tar.gz
HTML-Parser-3.55.tar.gz
URI-1.35.tar.gz
Download libwww here: http://www.linpro.no/lwp/libwww-perl-5.64.tar.gz
Download nmake (the Windows version of the Unix make) here: http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe

5. Move nmake15.exe to C:\Windows\system32 and then fully extract HTML-Tagset, HTML-Parser, URI, and libwww, each into its own folder.

6. Navigate to each of the folders (in order) with the command prompt and, in each, type the following 4 commands (in order):
perl Makefile.pl
nmake15
nmake15 test
nmake15 install

Notice -- While installing libwww, it will ask you questions; just use all the default answers (the ones in brackets).

Done installing Perl!!!
Now, download the script: [PM Sylvanas or Harpo in-game or LostCommander on IRC for now] and place it in the main Vendetta Online folder (the one with the file "errors.log"). Open the script file with wordpad or another basic text editor and change the name/ID of the reporter (i.e. your forum name or a character's name). To run the script, simply start up the command prompt, navigate to the script, and type:
perl HelpyScript.pl

Start the script ***BEFORE*** you enter the game!!!

Other Notes: Remember you can use tab-completion for the script name, and/or feel free to rename it to have a shorter name. If vo.log gets too big (or you just feel like it), delete it at any time the script is not running. To stop the script, simply close the command prompt window in which it is running.

-- We'll have to wait for Harpo to return for Mac and Linux installation instructions...
Aug 04, 2006 Klabbath link
[slobber] Hurry up, Harpo!

~D.
"Nigel"
Aug 05, 2006 GRAIG link
LC ,in the station menu, you should make the Item Names clickable, linking the the station page, and then if u click on a item, it leads you to a page with all the stations selling it.
so you can pick the closer to you.
Aug 05, 2006 LostCommander link
Thanks GRAIG. :) That is the kind of UI improvement suggestion I was looking for!

Change Made: Now all items and stations link to the other page with the linked station/item being the target/focus.

Notice: Red lines indicate producing stations. Blue indicates highest high sell prices and lowest low buy prices.

P.S. Does anyone have a good idea for the storms page!? Currently it still only lists those encountered in the past 4 hours and only sorts by encounter time...
Aug 06, 2006 Demonen link
I just wanted to put my 2c in and tell you all that LWP::UserAgent, the Perl you're using to submit data, also supports cookies, allowing it to authenticate itself in pretty much any web interface I can think of.
Aug 25, 2006 slime73 link
Any new progress on this?
Aug 29, 2006 firsm link
Same question. :)
I'd like to test it out and help collecting data. Contact me ingame/irc.
Sep 17, 2006 Aleksey link
*Bump*

Maybe it should be stickied in Community Projects?

As for UI, maybe you should get rid of empty lines?

I would like to join your team, contact me gotletter[at]gmail[dot]com