Home World Forum
Stars! AutoHost forums

Home » Stars! Clones, Extensions, Modding » Stars! Extensions » Stars! API
Stars! API Thu, 22 March 2012 21:51 Go to next message
  gible
Messages: 1343
Registered: November 2002
Location: Wellington, New Zealand
Commander

cf this post, I have begun organising a Stars! API. At this stage it is (only) a shared folder on Dropbox with copies of a few tools available from the wiki, and decompiled sources for PaulCr's SHC, SHE and SSH tools(and the decompiler).

The intention is that it will remain an essentially closed source project however anyone who is interested in helping out feel free to contact me. I have already sent shared folder invitations to XyliGUN, PaulCr, m.a@stars, Wumpus, nmid, craebild & Ron. Also the Nova guys ekolis, Daniel. FurFuznel & Aeglos: I have no email addresses for you two.

First steps in the plan are:

  • to define the (en/de)cryption
  • to define a data model for Stars! exodata, the data in the hst, m, x, h & xy files and corresponding encrypted file formats.
  • to design a suitably secure API model to allow manipulation of data
  • to port PaulCr's existing work to Java


With the exception of the (en/de)cryption and the source code itself, the intention is to make publicly available as much detail as possible.

[Updated on: Thu, 22 March 2012 21:52]

Report message to a moderator

Re: Stars! API Fri, 18 May 2012 06:46 Go to previous messageGo to next message
  gible
Messages: 1343
Registered: November 2002
Location: Wellington, New Zealand
Commander

Progress...

Ron, nmid & m.a@stars are sharing the stars API folder. In which, I have created an Eclipse project and begun porting PaulCr's StarsHost* to Java and pseudocode the main aim being to understand the Stars! files (I'm largely coming into this cold). Also added Wumpus' 'magic' file and a structlook file from StarsGutsandMods.

Extending from XyliGUN's excellent work, I have been building on this wiki article as a means of recording the semantic structure of Stars! files as I learn it.

Correspondingly, this category has been populated with a number of related articles and utilities and will eventually (probably) hold all of the Stars! technical details.
Re: Stars! API Fri, 18 May 2012 18:10 Go to previous messageGo to next message
  GarganRoo is currently offline  GarganRoo
Messages: 3
Registered: May 2012
Location: Cincinnati
Civilian
Hi, I've been lurking the autohost community for several years, but I'd like to throw in my full support for helping any Stars!-related projects to come alive.

I am willing to donate space and bandwidth on my Linode VPS, any coding or development, and ultimately my time to the project(s).

I came here looking for a dissemination of the file structure so as to interface with a true web application that would allow autohost games to operate seperately from any particular admin's attention (e.g. w/o sending emails to Ron Miller and eliminating tedious steps when starting and joining games); it'd essentially be a completely new hands-free online web application that would allow users to create and join games while monitoring all of the relevant information.

Here's a web application interface I'm just now designing for Dwarf Fortress using the same concept:

http://dfb.smagno.com/ - (HTML5/JavaScript required)

(The game: http://www.bay12games.com/dwarves/)

This is kind of copypasta from what I just posted in the Poll, but I figured that I'd crosspost since this was updated today as opposed to last month. Let me know if there's anything I can do to help organize the project (e.g. project management systems, dev hosting, etc).


[Updated on: Fri, 18 May 2012 19:00]

Report message to a moderator

Re: Stars! API Mon, 21 May 2012 17:16 Go to previous messageGo to next message
  gible
Messages: 1343
Registered: November 2002
Location: Wellington, New Zealand
Commander

GarganRoo wrote on Sat, 19 May 2012 10:10

Hi, I've been lurking the autohost community for several years, but I'd like to throw in my full support for helping any Stars!-related projects to come alive.
Awesome Smile
Quote:

I came here looking for a dissemination of the file structure...
That, right there, is the plan. ATM it's just me muddling along as I can...which isn't particularly fast but, unlike the shoulders I'm stomping on, I'm making it available as I go via the wiki. Send me an email (link at the bottom of this post with your email and I'll share the folder with you Smile...it doesn't really give you much extra info besides my work in progress stuff, though you will be able to see exactly how slow I am Wink

Quote:

... so as to interface with a true web application that would allow autohost games to operate seperately from any particular admin's attention (e.g. w/o sending emails to Ron Miller and eliminating tedious steps when starting and joining games); it'd essentially be a completely new hands-free online web application that would allow users to create and join games while monitoring all of the relevant information.
I think Ron's hashed out this idea before...dunno...aside from actually playing the game, you don't need an API to do this anyway as you can create games from a definition file, which could be generated by a web service easily enough.

Quote:

Here's a web application interface I'm just now designing for Dwarf Fortress using the same concept:
I've seen that around...IIRC someone built an 8(16?) bit computer with it.

Quote:

Let me know if there's anything I can do to help organize the project (e.g. project management systems, dev hosting, etc).
Wilco Smile
Re: Stars! API Wed, 08 August 2012 18:08 Go to previous messageGo to next message
  ricks03 is currently offline  ricks03
Messages: 225
Registered: January 2012
Location: NC
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Forum Administrator
Stars! AutoHost Administrator
Created TotalHost and Stars! utilities
Quote:
so as to interface with a true web application that would allow autohost games to operate seperately from any particular admin's attention (e.g. w/o sending emails to Ron Miller and eliminating tedious steps when starting and joining games); it'd essentially be a completely new hands-free online web application that would allow users to create and join games while monitoring all of the relevant information.


Already done that.


Re: Stars! API Fri, 04 January 2013 10:59 Go to previous messageGo to next message
  XAPBob is currently offline  XAPBob
Messages: 957
Registered: August 2012
Lt. Commander
I was about to post this on a different forum, but this seems more appropriate...

I'd like to be able to extract the various messages from an m file automatically - via the command line, so that it can be "properly" automated...

There is a utility ( http://wiki.starsautohost.org/wiki/Utilities/In-game_informa tion_processing_and_sharing#Stars.21_Message_Reader) that purpotes to do just that, but I a) haven't seen it work yet and b) can't automate it.

If Thomas is around then I'd like to port the core code to a command line system which takes an m file (and optional password) and spits out the messages in "message per line" format.

If not then if anyone else has the required knowledge of the file structure (I'm sure I could dig through and reverse engineer it, but I really can't be bothered when I know that the work has already been done!)

[Updated on: Fri, 04 January 2013 10:59]

Report message to a moderator

Re: Stars! API Wed, 06 February 2013 20:52 Go to previous messageGo to next message
  ricks03 is currently offline  ricks03
Messages: 225
Registered: January 2012
Location: NC
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Forum Administrator
Stars! AutoHost Administrator
Created TotalHost and Stars! utilities
Much like AutoHost, I've got a site up that generates Stars! turns (using my conversion of starstat to Perl) that's fairly well done and tested (well, we're on game 4 at least). It also has the ability to generate games completely hands free. FWIW. http://totalhost.sinister.net:999

Now what I'd love to have is the ability to decrypt files, because that's the only way I can think of to enable within the site a moderately seamless player transition when you don't have the password.


[Updated on: Wed, 06 February 2013 20:53]

Report message to a moderator

Re: Stars! API Thu, 07 February 2013 04:44 Go to previous messageGo to next message
  XAPBob is currently offline  XAPBob
Messages: 957
Registered: August 2012
Lt. Commander
Why not just insist that the password is submitted with the race - then you can pass it on.
Re: Stars! API Fri, 08 February 2013 10:37 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
Create some sort of automated password escrow, perhaps? Sherlock

So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sat, 09 February 2013 19:58 Go to previous messageGo to next message
  ricks03 is currently offline  ricks03
Messages: 225
Registered: January 2012
Location: NC
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Forum Administrator
Stars! AutoHost Administrator
Created TotalHost and Stars! utilities
Both of those are semi-valid, but mean that the race files have to be validated against the password, and I don't know of a way to programmatically do that either.

The goal here is "hands free".



[Updated on: Sat, 09 February 2013 20:00]

Report message to a moderator

Re: Stars! API Sun, 10 February 2013 04:27 Go to previous messageGo to next message
  XAPBob is currently offline  XAPBob
Messages: 957
Registered: August 2012
Lt. Commander
Could you use the "open turn with password" command and verify the window title/size?
Re: Stars! API Sun, 10 February 2013 12:20 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
Yup. Dump planet reports from the command-line and you can also use them for chronicling purposes. Very Happy

So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sun, 17 February 2013 23:03 Go to previous messageGo to next message
  ricks03 is currently offline  ricks03
Messages: 225
Registered: January 2012
Location: NC
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Forum Administrator
Stars! AutoHost Administrator
Created TotalHost and Stars! utilities
Creating the pla files as a validation method is a workable idea. thanks. Hmm, is it possible to change your password once a game starts? And PITA to untangle if the escrow'd password isn't the right one.

I'll say I don't really need a process of dumping the PLA file for chronicling purposes. If you look elsewhere on SAH you'll note I already have a script that can work through an entire game history, pull out all of the PLA files, and build watchable game "movies" with it.

I'd also still rather be able to get into the files than an escrow process. I'd rather not keep/store the passwords, just get them when I need to. I know that knowledge of how to do that is out there; it's a pita that people hide it. Just means you don't know who has that ability and who can't.

Rick


Re: Stars! API Mon, 18 February 2013 06:36 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
ricks03 wrote on Mon, 18 February 2013 05:03
is it possible to change your password once a game starts?

Yes. The new pwd becomes active the next turn after the change.

Quote:
I know that knowledge of how to do that is out there; it's a pita that people hide it. Just means you don't know who has that ability and who can't.

Indeed. Luckily we can ask Ron. Very Happy


So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sat, 02 March 2013 16:36 Go to previous messageGo to next message
  ricks03 is currently offline  ricks03
Messages: 225
Registered: January 2012
Location: NC
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Forum Administrator
Stars! AutoHost Administrator
Created TotalHost and Stars! utilities
So in other words if I simply escrow someone's password, it doesn't do me a d###ed bit of good.

Well if anyone has that source code (or compiled EXE), I'd appreciate it.


Re: Stars! API Mon, 04 March 2013 09:59 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
ricks03 wrote on Sat, 02 March 2013 22:36
So in other words if I simply escrow someone's password, it doesn't do me a d###ed bit of good.

Well, that's one good thing about honor codes: honest players can update their stored password just in case. Cool


So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Mon, 04 March 2013 16:45 Go to previous messageGo to next message
  XAPBob is currently offline  XAPBob
Messages: 957
Registered: August 2012
Lt. Commander
You can test each turn..
Re: Stars! API Sun, 06 July 2014 02:00 Go to previous messageGo to next message
  raptor is currently offline  raptor
Messages: 138
Registered: June 2014
Chief Warrant Officer 1
Creator of StarsWine
Created StarsWine
I thought I'd resurrect this thread since I've actually started an API with working decryption here:

https://github.com/raptor/stars

Currently, only the FileHeaderBlock is decoded entirely according to what I found on the wiki (all blocks are decrypted). It looks like there is a handful more objects that are decoded or partially decoded in the decompiled sources of PaulCr's utilities.

I'm not sure how much time I'll have to continue coding this, so any additions or changes are welcome.

[Updated on: Sun, 06 July 2014 02:01]

Report message to a moderator

Re: Stars! API Sun, 06 July 2014 03:48 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
PaulCr had a list of 20+ xml "descriptors" for some (but not all) blocks. Perhaps these would be useful? Sherlock

So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sun, 06 July 2014 08:51 Go to previous messageGo to next message
  raptor is currently offline  raptor
Messages: 138
Registered: June 2014
Chief Warrant Officer 1
Creator of StarsWine
Created StarsWine
Yes! They sure would be helpful. Where are they? The only thing I can find are references to about 10 of them on the wayback machine:

https://web.archive.org/web/20090921002320/http://stars.atla ntissoftware.co.uk/
Re: Stars! API Sun, 06 July 2014 15:27 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
As his beta-tester, PaulCr sent me some of his working files. There's lots of unknown bits, but also a bunch of detailed info. PM with your email? Teleport

So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sun, 06 July 2014 16:56 Go to previous messageGo to next message
  raptor is currently offline  raptor
Messages: 138
Registered: June 2014
Chief Warrant Officer 1
Creator of StarsWine
Created StarsWine
Sent. Thanks!

Now for an ethical question - I have the decompiled sources of 4 of PaulCr's utilities. Do you think it is OK to post it for reference to my code repository?

Also, do you have source code for any utility that decodes blocks? I'm looking for block structures...
Re: Stars! API Sun, 06 July 2014 20:36 Go to previous messageGo to next message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
raptor wrote on Sun, 06 July 2014 22:56
Now for an ethical question - I have the decompiled sources of 4 of PaulCr's utilities. Do you think it is OK to post it for reference to my code repository?

Well, since the decryption cat is already out the bag, I don't see why not. Or send them to a trusted partner (like me) for safe-keeping. Rolling Eyes


Quote:
Also, do you have source code for any utility that decodes blocks? I'm looking for block structures...

I don't remember having seen that kind of tool, but if you explain in more detail what you need perhaps I can take a closer look around the attics, basements and sub-basements. Sherlock


So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Re: Stars! API Sun, 06 July 2014 22:40 Go to previous messageGo to next message
  raptor is currently offline  raptor
Messages: 138
Registered: June 2014
Chief Warrant Officer 1
Creator of StarsWine
Created StarsWine
Quote:
I don't remember having seen that kind of tool, but if you explain in more detail what you need perhaps I can take a closer look around the attics, basements and sub-basements. Sherlock


Sorry, I mean the various Block structures that are encoded into Stars! files. I know the FileHeaderBlock, but the others, not at all.

Upon further searching, I found this thread in which apparently XyliGUN had aggregated all file structure knowledge that was tossed around over the years:

http://starsautohost.org/sahforum2/index.php?t=msg&th=48 52&start=0&rid=1807#msg_51372

This is exactly what I'm looking for: both the block structures and how they're written to the files.
Re: Stars! API Mon, 07 July 2014 14:21 Go to previous messageGo to previous message
  m.a@stars is currently offline  m.a@stars
Messages: 2768
Registered: October 2004
Location: Third star to the left
Commander
raptor wrote on Mon, 07 July 2014 04:40
apparently XyliGUN had aggregated all file structure knowledge that was tossed around over the years:

He probably did, but he never published it. Sad

He also built a bunch of highly useful tools, but only published a few. Wall Bash


So many Stars, so few Missiles!

In space no one can hear you scheme! Deal
Previous Topic: Stars! decryption
Next Topic: New Stars!AI Player
Goto Forum:
  


Current Time: Thu Sep 19 09:26:19 GMT-4 2024