Home World Forum
Stars! AutoHost web forums

Jump to Stars! AutoHost


 
 
Home » Stars! 2.6/7 » The Bar » Micromanagement Tools (was Fledgling Admirals 2: EoG Comments)
Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Wed, 07 July 2010 13:42 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
None that I know. The toolmakers seem to have vanished. Sad


So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Wed, 07 July 2010 13:57 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

OK, but may be there are still somebody around who knows the meanings of the bytes/bits in the Stars! file blocks? Or may be somebody at least have a copy of the PaulCr xml files that describes blocks format? So far, from the publically available sources, like this forum, I was able to collect info of Stars! encryption and 35 of 46 blocks structure, but 11 remains unknown for me. If there are somebody who can help with this? Smile

PS: I'm still dreaming of Stars API, that allows reducing MM... Cool



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Wed, 07 July 2010 16:30 Go to previous messageGo to next message
donjon is currently offline donjon

 
Lt. Commander

Messages: 808
Registered: November 2002
Location: Benque Viejo del Carmen, ...

Maybe Wumpus can help you at Stars! irc...

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Wed, 07 July 2010 18:57 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

Yeah it would be nice to have those tools, I still have the encryption algorithm for anyone who's interested in writing those tools. Course you'll also have to decode what the stuff is once you decrypt it. But that'll be a lot easier when you can read it. I don't personally know C++ so the it's not a lot of use to me. (But I gave it to PaulC or whatever and it worked fine for him. At least I think that's what I did. Smile It's been so long now. Whom ever I gave it to, made it work.)

I also have an exec that makes the files without encryption so you can test on it if you want.

(Also if anyone wants to write an AI for it please feel free.)

I can assist somewhat in what I know about how to read the data (I used to do it through the encryption without decoding it. I've got some charts about how to read some things that I've made. If anyone wants help deciphering what the data means I'll try and help.)

I think that the first thing to do is to decide what you want it to manage, I've spent time with the planet data, and I could go back and start looking at the unencyrpted version and try and give anyone who wants it a detailed summary of the data structure for planets. I've got some experience in reading the hst file (where I focused my attention) and I can probably find the ship data and figure that out for anyone who wants it. (I've also read the race data too, and well. I wrote a tool once to change a player's race through encryption without decrypting it. Smile )

If someone wants to write the program such that the file structure data can be plugged in, I believe I can help them to read the files. (All my tools were written in batch code and are necessarily ridiculously slow as a result.)


[Updated on: Wed, 07 July 2010 19:17]




Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 05:22 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

OK, here is where I'm:

1. Decryption - I manage to found exactly the same that was used by PaulCr (I beleive it's exactly the same that Captin Maim have). And as I said above - at the moment Stars! encryption/decryption algorithm is publically available around that forum (I wouldn't describe here where it's exactly (Captin Maim if you want to know where and how I take it plz pm me), but beleive me if someone wants it - it's pretty easy to get it, I'd say it even easier then found blocks structure). As I understand from that forum, community most likely think that decryption shouldn't be public, so I don't know how bad it is. I have made a number of tests and they shows that it works perfect on any file types.

2. Blocks Structure - this one is tricky. There are a number of posts on that forum where PaulCr is describing blocks structure, so I was able to find out structure for about 36 of 46 blocks so far (some of them partially, but the stuff they contains could be skipped). What I need is to be able to load data from xy, m, x, h files, and then after making some changes to be able to write x file for beginning and h file later on. Currently xy file structure is completely decoded. m, x, h files is mostly decoded, but there are still some blocks that needs to be decoded, so any input on this is really appreciated.

I'm away from home now, so I'll post details later on, but the biggest issue I have at the moment is decoding Design and Partial Designs, also I can't understand how does Stars! match Designs to the specific ship in fleet (while I was able to completely decode fleet block), when there are 2 or more designs in m file with the same id (one belongs to you and another one belongs to your allyers/enemy). Also I'm going to spend some time on decoding race block (so far it's partially decoded), so if someone can give me a hint here, you are really welcome! Wink

As for Server Messages block - I can decode it euristically (i.e. manually), but can't find how does Stars! do it automatically, since even for one message id there could be different agrguments length/structure.

Also I'm wondering what blocks 32 and 33 means. 32 seems contains number of followed planets and one more number that is uknown. 33 contains something that I cannot match to any type of info in Stars!, but it always placed after Planets blocks.

PS: I'm going to skip battles blocks, and wouldn't even try to decode it at least for now, since they are not important for my task. But Server Messages could be usefull.


[Updated on: Thu, 08 July 2010 08:08]




"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 06:00 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
XyliGUN wrote on Thu, 08 July 2010 11:22

As for Server Messages block - I can decode it euristically (i.e. manually), but can't find how does Stars! do it automatically, since even for one message id there could be different agrguments length/structure.

I'd hazard the guess that the Stars! exe stores a list of all message ID's and associated parameters/texts et al. Encrypted, of course. Sherlock



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 07:36 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

m.a@stars wrote on Thu, 08 July 2010 14:00

XyliGUN wrote on Thu, 08 July 2010 11:22

As for Server Messages block - I can decode it euristically (i.e. manually), but can't find how does Stars! do it automatically, since even for one message id there could be different agrguments length/structure.

I'd hazard the guess that the Stars! exe stores a list of all message ID's and associated parameters/texts et al. Encrypted, of course. Sherlock


Well, it's possible to collect all the messages and related IDs from Stars! (even manually, which will takes some time), but the problem here is that even for one ID (i.e. the same message) there are can be different arguments structure (i.e. 1 or 2 bytes for example), so my guess is that it somehow stores it's structure in the server messages block for each message (and there are several bytes in each message that definitely isn't arguments), but I cannot find out how.



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 15:13 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

XyliGUN wrote on Thu, 08 July 2010 13:22

I'm away from home now, so I'll post details later on, but the biggest issue I have at the moment is decoding Design and Partial Designs, also I can't understand how does Stars! match Designs to the specific ship in fleet (while I was able to completely decode fleet block), when there are 2 or more designs in m file with the same id (one belongs to you and another one belongs to your allyers/enemy). Also I'm going to spend some time on decoding race block (so far it's partially decoded), so if someone can give me a hint here, you are really welcome! Wink

Designs issue now solved thanks to Micha pointing me to StarsHostCreator in the another thread.

XyliGUN wrote on Thu, 08 July 2010 13:22

As for Server Messages block - I can decode it euristically (i.e. manually), but can't find how does Stars! do it automatically, since even for one message id there could be different agrguments length/structure.

Looks like I have to skip this one for now, but there are a lot of possibility for automation, so I'll return to this one later on.

So far of 46 blocks these 7 remain unknown: ## 11, 15, 18, 22, 25, 33, 41. Block 33 seems the only show stopper on the way to write h files. If you know somthing of these blocks plz let me know (does anybody have a copy of PaulCr xml files described these blocks?).

PS: I was surprised that Stars! sends name, which was assigned to fleet by player to host via x file and then host sends it back via m file, I was under impression that fleet name has no uses for host and that it only matters for player (like "Send x Pop to y"). Smile



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 16:55 Go to previous messageGo to next message
Micha

 

Messages: 2342
Registered: November 2002
Location: Belgium GMT +1
XyliGUN wrote on Thu, 08 July 2010 21:13

... xml ...


Check http://wiki.gible.net/index.php/Utilities/Index
There is a mention of an xml from PaulCr, don't know what exactly.

mch

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Thu, 08 July 2010 19:42 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

Well, from what I've gathered playing stars over the years. The message arguments are fairly simple. Race ID, Planet ID, Design ID, Fleet ID from some Race.

I've seen many times that if there's a message that says, "You've scrapped all your 'Monkey T' ships at 'Planet Blorb'." And you edit or remove that ship design, it alters the message. Now since you cannot change the planet like that, you never see messages lose accuracy as you edit your turn when it comes to planets. But it happens to me with fleets all the time. Which is why I always read the messages THEN edited the turn. So I know it takes a static fleet argument, that can easily be wrong if all you do is split and or merge a fleet. I expect it takes a static argument for locations and races as well.

Mapping the messages shouldn't be hard, it'll probably be a little time consuming but that shouldn't matter much. Take an M file with every sort of message at once. And then tweak one of the messages until you learn what each value does, when you find the one that sets the message template, you write down all known values for it and what they are as you read them from the file. And which ones have arguments on them. To learn the arguments you just tweak them and note the changes. Write all this down in list or table or something and you can refer to it later when programming. I always used offsets from the block markers as my means of mapping.

The race blocks I've messed with before. As I recall, the race is a value from 0-9 and mirrors the order going top to bottom and then left to right of races as they appear in the wizard. The traits are also in the same top to bottom, left to right order. And are binary flags on 2 bytes. The name (singular or plural) is stored at the top I think. The habs are contained in 9 bytes I think. As memory serves, the habs are organized this way: gravity left (0-100), gravity center (0-100), gravity right (0-100). (I think 255 is immune.) Followed by the same structure for temp and rad. The economic settings are sequentially as displayed in the wizard and aren't hard to read as I recall. I believe the pop eff starts at 0 which is like 700 or whatever and is the only value used for AR on this page. Then there are 7 bytes I believe that have a state of (0-2), 0 is expensive, 1 is normal and 2 is cheap, these are the tech settings and are also mirrored in the wizard. Then there's a 0-1 flag for start at 3 or it's nuzzled in the LRT flags I recall it was a touch tricky to find or something. I believe that's how it's organized. And in there somewhere is the unencrypted password and race names all in plain text seems like one name is at the start and the other is near the end. AI players always have a password of FF FF FF FF or something like that, and you can't ever of course enter that value cause it's in hex and not text so you can't hack their password, it's out of the acceptable input range. Creating an invalid race will result in a massive random handicap if you edit them in the HST and don't produce a race with points =>0. Some other values exist that I couldn't find a match to, one may be the AI flag, but I dunno. You can still tell a human from an AI by 1) it's name 2) it's password. The specific AI you can tell from the race byte, so outside of difficulty setting I don't see what it matters that a few bytes were unknown since nothing seems to be left in the editor.

Anyway that's what I know about that. I can dig up a chart for you that gives offsets and every thing I learned if you want. That's just what I remember.



Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Fri, 09 July 2010 13:33 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
XyliGUN wrote on Thu, 08 July 2010 21:13

So far of 46 blocks these 7 remain unknown: ## 11, 15, 18, 22, 25, 33, 41. Block 33 seems the only show stopper on the way to write h files. If you know somthing of these blocks plz let me know (does anybody have a copy of PaulCr xml files described these blocks?).

Nope. Block #33 is empty and labeled as "unknown". The others aren't even listed. Hit Computer


Quote:

PS: I was surprised that Stars! sends name, which was assigned to fleet by player to host via x file and then host sends it back via m file, I was under impression that fleet name has no uses for host and that it only matters for player (like "Send x Pop to y"). Smile

Weird. Teleport



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Fri, 09 July 2010 13:37 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
XyliGUN wrote on Thu, 08 July 2010 13:36

the problem here is that even for one ID (i.e. the same message) there are can be different arguments structure (i.e. 1 or 2 bytes for example)

Weird. Exactly what Stars! messages can have variable arguments? Battle reports? MT meetings? Sherlock

P.S: varargs is a common trick for c-like languages, so no big surprise here. The "parser" uses the message template itself to fetch the correct number of parameters. Deal
P.P.S: the real problem would be, I presume, when some of these arguments are used to alter the way the template is used, and somehow code the number of remaining arguments after them. Confused


[Updated on: Fri, 09 July 2010 13:39]




So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Fri, 09 July 2010 19:05 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

Can you give an example message of your PPS there? Is it really something to be concerned about?

Out of curiosity, why are you so interested in decoding the messages? Is it to tell the helper to check those things? Ship build notices, confirmations of player actions? Or is this just for the sake of total understanding? I remember a tool that used to zoom through your messages (if the game was open) and save out the mail for you. I assume it stole it out of RAM when the mail message was the current message. That was probably more of a hack compared to this anyway.

I would like to know what aspects and tasks we want the helper to actually be aware of and to control. And by what method will it inform the player? Is it a preturn processor, a post turn processor (I'd rather it wasn't this.) Or something that runs continuously and interacts as an overlay with the GUI?

Do you intend to make a freestanding AI? or perhaps at least a wrapper for one?



Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 06:47 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

m.a@stars wrote on Fri, 09 July 2010 21:37

Weird. Exactly what Stars! messages can have variable arguments? Battle reports? MT meetings? Sherlock

For example it's "You have built {0} factories on {1}." it could be 6 or 7 bytes long. Here is an examples of Server Messages block that correspond to that message:
3600 FD00 0F FD
3600 FD00 15 FD
3600 FD00 18 FD
3604 3901 02 3901
3604 3901 10 3901
3604 3901 14 3901
3604 3901 1A 3901
3604 0401 04 0401

First byte I beleive is message id (at least it's true for all turns that I've checked). 3 and 4 is planet id, 5 is factories number. 6 and 7 is again planet id (what for? i don't know). Sometimes like in first 3 examples it's not 7, but 6 bytes long - there second byte could be a hint (kind of format id), but it's not works for other messages.

Foe example here is a differet messages with "format" = 2:

A902 0C01 0C01 - "Your home planet is {0}. Your people are ready to leave the nest and explore the universe. Good luck." - again why does planet id stored twice? I don't know. But it's true for 10 turns that I've checked out.

2F02 0580 3801 05 - "Your starbase at {0} has built new {1} ship." here 3 and 4 bytes is unknown, 5 and 6 is planet id, last one is fleet id. But it's definitely not enough to store any fleet id, since it could be larger then 255.

5302 0086 00 06 FF - "{0} has orders to colonize {1}, but you have failed to bring along any colonists. The colonize order has been canceled."

m.a@stars wrote on Fri, 09 July 2010 21:37

P.S: varargs is a common trick for c-like languages, so no big surprise here. The "parser" uses the message template itself to fetch the correct number of parameters. Deal

That's could be a true, I'll check it a bit later.

m.a@stars wrote on Fri, 09 July 2010 21:37

P.P.S: the real problem would be, I presume, when some of these arguments are used to alter the way the template is used, and somehow code the number of remaining arguments after them. Confused

So far I beleive this is exactly how it is, but I can be wrong there.



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 09:48 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

Captain Maim wrote on Sat, 10 July 2010 03:05

Can you give an example message of your PPS there? Is it really something to be concerned about?

See example in the privious post. Hope it makes sense.

Captain Maim wrote on Sat, 10 July 2010 03:05

Out of curiosity, why are you so interested in decoding the messages? Is it to tell the helper to check those things? Ship build notices, confirmations of player actions? Or is this just for the sake of total understanding?

Well it would be nice to have a total understandig, but it's not the primary task, the reason why I'd like to know Server Messages format is to be able to handle them programmatically.

As I see it there could be two different autohadling: let's call them static and dynamic. Static info handling could be made based on the static info that you have about your/friends/enemies planets/fleets (for example planet x have y factories. As for dynamic handling you need some sort of events, which is exactly what Server Messages are (for example planet x have built z factories). There are different usage for them and while dynamic is more AI related task it's still can be usefull to reduce MM.

Captain Maim wrote on Sat, 10 July 2010 03:05

I would like to know what aspects and tasks we want the helper to actually be aware of and to control. And by what method will it inform the player? Is it a preturn processor, a post turn processor (I'd rather it wasn't this.) Or something that runs continuously and interacts as an overlay with the GUI?

Do you intend to make a freestanding AI? or perhaps at least a wrapper for one?


Well, what I'd like to have is Stars! Player API. It was perfectly described by PaulCr:
PaulCr

I'm planning a read only model for .m files that can add commands to a .x file which would make a number of utilities possible, from providing information only to an entire AI if someone wanted to create one. It won't provide direct editing of the .m or .x files, you'll specify a command to add to a .x file along the lines of Load(SourceObjectID,DestinationObjectID,Ironium,Boranium,Ger manium,Population) and it will check that you have the required minerals and population before adding it to the .x file, basically the same things the stars interface already does but making it possible to do so programatically.


I'm definitely not intended to make an AI, but based on the Stars Player API somebody may want to do it.



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 14:18 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

From what I've seen in trying to understand the formatting of the headers and such, stars tends to explicitly state the byte length of things. I mean I'm sure you know that it uses 2 bytes to define a block, a block ID and the block length.

Also I think in the "planet (x) has built (y) ships" as I recall, the additional value you may have forgotten the 4 bytes are probably the ship counts. Cause I'm pretty sure it can say how many of what kind you've made.

In reading the files, do you ever alter them to observe the results? I find doing that tends to make deciphering them much faster. (Tweak, observe, record, repeat.)

I was thinking that the server messages would be useful to an AI. I recall talking to PaulC about what you quoted there. It was his intention to do that so that no one needed the encryption and it would thus be of limited circulation. Course as you said, if anyone wants it they can get it, cause I guess we're not as tightly gripped about that sorta thing these days. Heck, if this evolved into a whole new (and shinier) stars client that still used the existing server. That would just rock.


[Updated on: Sat, 10 July 2010 14:19]




Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 15:08 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

BTW, there will be two additional things that need to care about:

1. Password Protection - Stars Player API will verify turn password. I.e. to load file using API you will need to provide password, and no any data will be shown untill correct password provided.

2. Copy Protection - this one is tricky. As you know x file contains serial hash (4 bytes) and hw id (11 bytes), so to fill it in correctly I'll need to somehow take it from stars.ini (it looks like it stored in GlobalSettings key). Does anybody know how to convert GlobalSettings value to serial hash? Looks like it's not the same encoding as one used for ship names and player messages, at least it doesn't match for my serial and actual hash.

PS: I'm also can fill this block with some default values (for example it could be specially aquired for API key), but this will break copy protection. And I don't like to go this way.



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 15:26 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

Don't they usually just compare hashes to see if they're identical cause they are often non-reversible?

And yes, that is where the stars serial is. I recall messing with it once. But I just wanted to test something and so I erased it to see what would happen. Smile And if you do it asks for a serial.


[Updated on: Sat, 10 July 2010 15:32]




Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 16:04 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

Captain Maim wrote on Sat, 10 July 2010 22:18

From what I've seen in trying to understand the formatting of the headers and such, stars tends to explicitly state the byte length of things. I mean I'm sure you know that it uses 2 bytes to define a block, a block ID and the block length.

Yep. Cool

Captain Maim wrote on Sat, 10 July 2010 22:18

Also I think in the "planet (x) has built (y) ships" as I recall, the additional value you may have forgotten the 4 bytes are probably the ship counts. Cause I'm pretty sure it can say how many of what kind you've made.

Yes, it can, but there is special message (i.e. different message id), which says planet (x) has built (y) new (z).

Captain Maim wrote on Sat, 10 July 2010 22:18

In reading the files, do you ever alter them to observe the results? I find doing that tends to make deciphering them much faster. (Tweak, observe, record, repeat.)

This will be my next step, so far I have a tool that reads Stars! file and shows it as a tree containg blocks with data extracted from them (with their meaning).

Captain Maim wrote on Sat, 10 July 2010 22:18

I was thinking that the server messages would be useful to an AI. I recall talking to PaulC about what you quoted there. It was his intention to do that so that no one needed the encryption and it would thus be of limited circulation. Course as you said, if anyone wants it they can get it, cause I guess we're not as tightly gripped about that sorta thing these days.

Yeah, AI based on the events processing would be a good idea. As for encryption as I said before I'm going to keep Stars! Password Protection feature.

Captain Maim wrote on Sat, 10 July 2010 22:18

Heck, if this evolved into a whole new (and shinier) stars client that still used the existing server. That would just rock.

Will see. Cool



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 16:11 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

Captain Maim wrote on Sat, 10 July 2010 23:26

Don't they usually just compare hashes to see if they're identical cause they are often non-reversible?

Yep, and since hash algorithm is known, I'll verify password by comparing its' hash with one stored in the m file. Smile

Captain Maim wrote on Sat, 10 July 2010 23:26

And yes, that is where the stars serial is. I recall messing with it once. But I just wanted to test something and so I erased it to see what would happen. Smile And if you do it asks for a serial.

OK, can anybody give me a hint on how can that string stored in GlobalSettigs be decoded to the real 15 bytes hash (btw it looks like it always 30 characters long, which is matched to 30 hex digits)? Any ideas? Confused



"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sat, 10 July 2010 17:05 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

What tool are you using? That sounds so cool!


Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sun, 11 July 2010 04:34 Go to previous messageGo to next message
XyliGUN is currently offline XyliGUN

 
Ensign
Stars! V.I.P


Messages: 325
Registered: July 2004
Location: Russia, St.Petersburg

Well, it's one that I wrote to be able to analyse Stars! files based on structure knowledge I collect so far. It's just a kinda research tool, but it shows that decryption works perfect on all Stars! files (xy, m, x, h) that I have. Also there is only one unknown block that I've found in all my h files it's type 33, as for others that still unknown - I've not found them in Stars! files that I have (but still have to check out one of my old games which was played by AR).

[Updated on: Sun, 11 July 2010 04:34]




"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something."
Robert A. Heinlein, Time Enough For Love

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sun, 11 July 2010 04:44 Go to previous messageGo to next message
wasp

 
Crewman 2nd Class

Messages: 16
Registered: January 2008
Location: Finland
Captain Maim wrote on Fri, 09 July 2010 02:42


Mapping the messages shouldn't be hard, it'll probably be a little time consuming but that shouldn't matter much. Take an M file with every sort of message at once. And then tweak one of the messages until you learn what each value does, when you find the one that sets the message template, you write down all known values for it and what they are as you read them from the file. And which ones have arguments on them. To learn the arguments you just tweak them and note the changes. Write all this down in list or table or something and you can refer to it later when programming. I always used offsets from the block markers as my means of mapping.



Here's a table of the message format strings and expected argument counts, straight from the executable:
http://orthanc.fixme.fi/stars/stars-msg.txt

The argument count doesn't include the extra arg which is the target of the Goto button.



Elen sila lumenn' omentielvo

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sun, 11 July 2010 05:52 Go to previous messageGo to next message
Captain Maim is currently offline Captain Maim

 
Lt. Junior Grade

Messages: 492
Registered: March 2003
Location: USA, Mesa, Arizona

Wow, I had no idea there were so many types of messages. You should list what the /p /L and whatever are, some I can guess, others like /L I'm not as sure about.


Rule 1: "Pillage, THEN burn!"

Report message to a moderator

Re: Micromanagement Tools (was Fledgling Admirals 2: EoG Comments) Sun, 11 July 2010 06:32 Go to previous messageGo to previous message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
wasp wrote on Sun, 11 July 2010 10:44

Here's a table of the message format strings and expected argument counts, straight from the executable:
http://orthanc.fixme.fi/stars/stars-msg.txt

Cool! Cool

That will hopefully help understand how the game itself works, and why there's sometimes erroneous info reported (such as who battled who and who destroyed an AR's orbital) Deal

Many of them look like obsolete remainders of earlier versions, though. Transfer of colonists? Shocked


Quote:

The argument count doesn't include the extra arg which is the target of the Goto button.

Interesting. Where's that arg, then? Sherlock



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Previous Topic: Not about stars , maybe some help
Next Topic: Need help upgrading from Win 95 to Win 7 (I5 core)
Goto Forum:
  


Current Time: Sat Apr 27 05:55:38 EDT 2024