Home World Forum
Stars! AutoHost web forums

Jump to Stars! AutoHost


 
 
Home » Stars! 2.6/7 » The Bar » My Stars! Epiphany.
Re: My Stars! Epiphany. Sat, 09 May 2020 17:25 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
platon79 wrote on Sat, 09 May 2020 05:32
Hi again. I have now done some testing, and I am sad to report, it seems my original dream is dead. Here is my findings.
It seems to me the checksum you were talking about is in the FileFooterBlock. I therefore made a lot of different r1-files in the stars race wizard, where the only change between files were the growth rate, which I set at all the different values.
Based on these files, I was able to see the pattern in the checksum for this one file. (Another file I tried would give another pattern, I did not try to find out how to generate the checksum at this point, as that would be quite another monster.)
So, after finding out this pattern, Based on reading in the default 19% race with 0 points left, I then wrote two race files via the starsapi project, one with 18% and one with 20% growth rate, and modifying the checksum in the FileFooterBlock to match the pattern while writing the files.
Both of these files are now accepted as non-corrupted files in Stars, they both open fine in the stars race wizard, the 18% race showing 65 points left and the 20% race showing -125 points left.
When I start a new game with the 18% race, everything is fine. Playing a turn does not trigger any hacker flag or anything.
When I start a new game with the 20% race, the race seems to be REPLACED with the default Humanoid-race, with a random name.
So apparently there IS a check at startup checking for negative points (at least for human players), that just replaces the race with humanoids if below zero points left.
The checksum for a race is normally in the .r file as, as you suggest, the FileFooter block (the race file has only Block 6 and Block 0).

However, the race block is also in the .HST and .M file. In the .HST and .M files, the FileFooter block isn't serving as a checksum for the entire file. I'm confident of that, because I can readily modify values in the .M and .X files (decrypting them, changing the value, and then reencrypting them) without modifying the Filefooter block. And in the .HST file, there's only one FileFooter block. Now, it could be serving as a composite check sum for all the races in the game, but I think that more likely it's the checksum for the number of blocks in the .HST file.

If the FileFooter block in the .r file serves as the checksum for the race, this suggests that once a race is in the .HST file, it doesn't have the checksum for it.

So I tried changing the tech level to 20 for E and W in the .M file (a value not tied to the race wizard). The .M file opens just fine, and shows me with a tech level of 20 in each field. I can modify the file, and there's no checksum (at least on those fields). (also means I could likely hack those into a game, but leaving that as a separate question. Hmm, starting a game with Tech 26 but only 25k pop).

I next tried to mod the hab from 15% to 20% in the .M file. That changes to 20%, and shows now -386 points in the race wizard.

So I tried changing 4 of the research values for a race in a test game (in the .M file) to 50% less (from Standard). The .M file will then open, and the advantage points for the race shows those results modified, and the race points now -668!

so there isn't a checksum on the race in there. And it calculates those points from the front end , since all I modified is the race wizard values, no race point values.


Next I try changing those same values for all players in a .HST file, and the .HST file opens OK. However, when I generate a turn, all players again show "Hacker". Opening a .M shows me with > 1000 race points left over. What was interesting is that my <50% change is still there. My "default" hab range was dropped to 7%, and my colonist resources / year has been changed to 2500. That implies that Stars! isn't replacing the race data. It's trying to fix it.

Another pass of experimentation (Base Race to 20%) again got me flagged as a hacker, with the productivity changed to 2500, and the growth changed to 16%, final race score 556. That m
...




https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Sat, 09 May 2020 22:05 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Sun, 10 May 2020 07:25
So I tried changing the tech level to 20 for E and W in the .M file (a value not tied to the race wizard). The .M file opens just fine, and shows me with a tech level of 20 in each field. I can modify the file, and there's no checksum (at least on those fields). (also means I could likely hack those into a game, but leaving that as a separate question. Hmm, starting a game with Tech 26 but only 25k pop).

What happens if you design ships with tech you're not supposed to have and submit that in a .x file?

Report message to a moderator

Re: My Stars! Epiphany. Sat, 09 May 2020 23:09 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
magic9mushroom wrote on Sat, 09 May 2020 22:05
What happens if you design ships with tech you're not supposed to have and submit that in a .x file?


Per your other comment regarding the colonizer exploit, it'd be trivial for a host to detect, so I'm not sure why you care? Esp. given I can just hack the tech level into place, which would make it more difficult to detect.

Putting more advanced tech on a ship in the .x file appears to revert back to the lowest level tech or blank. Available techs just stay/change. So I just hack the tech into the .HST file. Looks like I can add MT parts to the .HST and .M file (and the .x file) and get them to stick; it doesn't check to see if I should be able to build them (again, if it did I could just add it to the race block).

really, with access to the HST file most bets are off. And I'd bet at this point there's not much I couldn't find a way to with the .x file. But as I mentioned before, I'm not interested in hacking the .x file. From a host perspective, if someone thought someone had hacked their turn file, I could easily tell by checking at the GUI or if necessary the core block structure if it wasn't something TH didn't already catch. Not like there's enough players to make that burdensome. Much like tracing (network) packets, it'd be an interesting puzzle.

I really do encourage you to look at the TotalHost code (including the standalone scripts). From there you can experiment all you want, and I'll be glad to help you understand what you do not. There's a reason I open-sourced it ...

I mean, you know what a checksum is, so you should be able to figure it out if I could Smile And I could always use more help.



https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Sat, 09 May 2020 23:13 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
raptor wrote on Sat, 09 May 2020 05:50
Just some thoughts - I wonder if the check can be bypassed by mimicking an AI in some way, maybe only for the first turn.
Well, if the AIs have a negative balance, and there's a flag for whether a player is an AI, that might work. But you can't change an AI back to a player within the interface, so changing that flag back to player would just start the problem over again?

My testbeds tend to end up not turn 1; I think that check is happening every turn.



https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Sun, 10 May 2020 01:12 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Sun, 10 May 2020 13:09
magic9mushroom wrote on Sat, 09 May 2020 22:05
What happens if you design ships with tech you're not supposed to have and submit that in a .x file?


Per your other comment regarding the colonizer exploit, it'd be trivial for a host to detect, so I'm not sure why you care? Esp. given I can just hack the tech level into place, which would make it more difficult to detect.

Putting more advanced tech on a ship in the .x file appears to revert back to the lowest level tech or blank. Available techs just stay/change. So I just hack the tech into the .HST file. Looks like I can add MT parts to the .HST and .M file (and the .x file) and get them to stick; it doesn't check to see if I should be able to build them (again, if it did I could just add it to the race block).

really, with access to the HST file most bets are off. And I'd bet at this point there's not much I couldn't find a way to with the .x file. But as I mentioned before, I'm not interested in hacking the .x file. From a host perspective, if someone thought someone had hacked their turn file, I could easily tell by checking at the GUI or if necessary the core block structure if it wasn't something TH didn't already catch. Not like there's enough players to make that burdensome. Much like tracing (network) packets, it'd be an interesting puzzle.

I really do encourage you to look at the TotalHost code (including the standalone scripts). From there you can experiment all you want, and I'll be glad to help you understand what you do not. There's a reason I open-sourced it ...

I mean, you know what a checksum is, so you should be able to figure it out if I could Smile And I could always use more help.

I'm wondering what happens if a Super Hacka decides he wants to build AMP Nubians at 2410 and submits the appropriate .x file saying he designed an AMP Nubian and ordered a planet to build a couple (whether this is done by hacking the .m file and making the .x within the GUI or hacking the .x directly is obviously irrelevant since the .m isn't used to gen). That is, do the Super Hacka's AMP Nubians get built or not?

I mentioned the host checking thing specifically because I hadn't seen it mentioned that the messages work that way, so it might help other people to be able to spot it. I wasn't trying to brush it off.

Going on about TotalHost is all very well and good but it's not like we all use it.

(Also, just because I know a bit about programming doesn't mean I know any programming languages. Concepts =/= specific implementations, as I'm sure you well know.)


[Updated on: Sun, 10 May 2020 01:14]

Report message to a moderator

Re: My Stars! Epiphany. Sun, 10 May 2020 03:05 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
magic9mushroom wrote on Sun, 10 May 2020 01:12
Going on about TotalHost is all very well and good but it's not like we all use it.

(Also, just because I know a bit about programming doesn't mean I know any programming languages. Concepts =/= specific implementations, as I'm sure you well know.)
Modifying the .M file matters, because you can then build .x files off the modified .m.

Along with the hosting code are standalone apps that pull and change Stars! data, all posted on github. I'm not "going on", I'm offering tools for you to use. All those scripts are independent of TH. You know, the tools you expect me to use to answer your questions? That can be run from a command line to sanitize files, rip passwords, detect exploits, change block data? All the things you keep asking for... To then tell me that you won't bother to use the programs written that can answer your questions?

If you know "a bit about programming" you should be able to get there with programs that are already written. Given that I mostly had to bootstrap my way into getting it working at all (just ask Raptor!), written scripts should be within your means (run program, get answer). If you're not willing to bother to use the very programs that answer your questions? When I'm offering to help? *shrug* I tried.


[Updated on: Sun, 10 May 2020 03:10]




https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Tue, 02 June 2020 11:55 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
So on a related note, what would be the "right" modifications to balance things?

In any game, if a choice is one almost everyone picks, the balance is broken.

So, considering the LRTs, which ones are too cheap, or too expensive, and if you feel that way, how many points would it haev to change by (+/-) for a PRT you'd never (or rarely) pick become one that you'd always pick?

Over the year, we added this:
JoaT can only take No Advanced Scanners if they also take an additional 95 pt penalty.
Interstellar Traveller additional 50 pt penalty
Alternate Reality additional 50 pt bonus
HE additional 25 pt bonus
Packet Physics additional 25 pt bonus
Space Demolition additional 0 pt penalty
Jack of All Trades additional 25 pt penalty
Inner Strength additional 25 pt penalty

I never considered more adjusting of the LRTs (I've just ignored things like GR, UR, MA, BET) but I'm certain there's some point value at which I'd consider them worth it.




https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Wed, 03 June 2020 03:59 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Wed, 03 June 2020 01:55
So on a related note, what would be the "right" modifications to balance things?

In any game, if a choice is one almost everyone picks, the balance is broken.

So, considering the LRTs, which ones are too cheap, or too expensive, and if you feel that way, how many points would it haev to change by (+/-) for a PRT you'd never (or rarely) pick become one that you'd always pick?


MA's already not terrible but it could do with costing 20-30. Less than that and it's nearly an autopick.

UR is a bit of a weird one, because you never really plan on using it (it's not even halving the mineral cost of scrapping once you factor in miniaturisation, and you still lose a big chunk of the resources, so you still don't want to scrap much).

OBRM needs a massive nerf. Literally everyone not playing AR or IT takes it, and even for IT not taking it is an off-beat pick.

JoAT with NAS isn't a huge problem; synergies aren't necessarily a balance problem. Speaking of which, no CA penalty?

Report message to a moderator

Re: My Stars! Epiphany. Wed, 03 June 2020 10:59 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
Heh, we've banned CA for so long I don't even think about them.

Even with a 95 point penalty (offsetting the NAS point bonus) JOAT with NAS is a no brainer.

So how big a penalty for you to not pick OBRM?


[Updated on: Wed, 03 June 2020 11:13]




https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Wed, 03 June 2020 12:57 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Thu, 04 June 2020 00:59
Even with a 95 point penalty (offsetting the NAS point bonus) JOAT with NAS is a no brainer.


JoAT NAS is only a no-brainer in the sense that if you are JoAT you should pick NAS, not in the sense that everyone should pick NAS JoAT or even that if you have NAS you should pick JoAT. It could probably do to give less points given SS and PP are penalised far more severely than JoAT for taking NAS (SS can still trade their scanners so that's reasonable, but PP are just shafted), but taking an option with a disadvantage and then another that negates that disadvantage is just clever design.

Synergies, even massive synergies, are okay. It's when a single option is always good or always bad that there's a balance problem.

IF OBRM is to be balanced it probably shouldn't give points at all. It's a straight benefit for every race type except AR and +f with 1i 2narrow.


[Updated on: Wed, 03 June 2020 13:03]

Report message to a moderator

Re: My Stars! Epiphany. Wed, 03 June 2020 13:15 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
There's a reason I keep specifying a point modifier for NAS only for JOAT. . . Stars! race design isn't that complicated. Picked a LRT that gains you an effective "free" 95 points + doubling your scanner range is a no-brainer. Any points system where a decision is a no-brainer is exactly why you modify the points. For JoaT its always the obvious choice. And, even with penalizing JoaT 95 points for picking it, it's STILL the obvious choice.


If OBRM shouldn't give points, what should the change or penalty be? And if you're trying to balance OBRM for AR and +f with 1i 2 narrow, the question still remains, right? What should the point modification be so OBRM is not the default under those circumstances?



https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Thu, 04 June 2020 09:18 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Thu, 04 June 2020 03:15
There's a reason I keep specifying a point modifier for NAS only for JOAT. . . Stars! race design isn't that complicated. Picked a LRT that gains you an effective "free" 95 points + doubling your scanner range is a no-brainer. Any points system where a decision is a no-brainer is exactly why you modify the points. For JoaT its always the obvious choice. And, even with penalizing JoaT 95 points for picking it, it's STILL the obvious choice.


If OBRM shouldn't give points, what should the change or penalty be? And if you're trying to balance OBRM for AR and +f with 1i 2 narrow, the question still remains, right? What should the point modification be so OBRM is not the default under those circumstances?


And as I keep specifying, a conditional no-brainer is not really a balance problem. If every possible combination of choices (as opposed to just every choice) were perfectly balanced against each other then there would literally be no skill in race design. NRSE is better for HE than for anyone else. CE is better for IT than it is for anyone else. OBRM is better for wide hab races than for narrow-hab races. TT is better for CA than it is for anyone else. HP econ is worse for IS than for anyone else. Con cheap is better for AR than for anyone else. Exploiting synergies is skill.

OBRM should probably be somewhere between 0 and -20.

Report message to a moderator

Re: My Stars! Epiphany. Thu, 04 June 2020 12:13 Go to previous messageGo to next message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
magic9mushroom wrote on Thu, 04 June 2020 09:18
And as I keep specifying, a conditional no-brainer is not really a balance problem. If every possible combination of choices (as opposed to just every choice) were perfectly balanced against each other then there would literally be no skill in race design. NRSE is better for HE than for anyone else. CE is better for IT than it is for anyone else. OBRM is better for wide hab races than for narrow-hab races. TT is better for CA than it is for anyone else. HP econ is worse for IS than for anyone else. Con cheap is better for AR than for anyone else. Exploiting synergies is skill.

OBRM should probably be somewhere between 0 and -20.
Our perspectives are different. I see a wide range between "perfectly balanced" and "no brainer". Any no brainer decision isn't really a "skill in race design" is it? Conditional or not, if it's a decision that you're an idiot not to take, there's not a lot of skill, just knowledge. You're just crushing the newb who doesn't know enough to know the clearly obvious choice. So for me, any choice that's CLEARLY not actually a choice is a balance problem. I think the most obvious example of that is NAS: provides JoaT 95 points for, effectively, free along with doubling normal scanning range. Any decision that's a "you must choose this" for me is a balance problem in a design tool.

I think of it another way - I like variation in race design and game play. So a balanced game means encouraging different choices, so it's not just "PRT and a default subset of LRTs". The larger the potential decision tree the better. And the game is more interesting (to me) if the races are all reasonably balanced, so the skill is more in play than design.

Your opinion on OBRM noted! Interesting that it's also a 95 point bonus (yes, keeping in mind sliding values for number chosen) which is the same as NAS.

rick




[Updated on: Thu, 04 June 2020 12:18]




https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Re: My Stars! Epiphany. Sat, 06 June 2020 08:16 Go to previous messageGo to next message
magic9mushroom is currently offline magic9mushroom

 
Commander

Messages: 1361
Registered: May 2008
ricks03 wrote on Fri, 05 June 2020 02:13
And the game is more interesting (to me) if the races are all reasonably balanced, so the skill is more in play than design.

I like being able to design better races than other people. I'm lousy at this game; I've got to get a leg up somehow! Laughing

Quote:
Your opinion on OBRM noted! Interesting that it's also a 95 point bonus (yes, keeping in mind sliding values for number chosen) which is the same as NAS.

rick

NAS is +108 and OBRM is +85. NAS is +95 for JoAT because JoAT actually *are* penalised for taking it (just not as much as SS and PP are).

Report message to a moderator

Re: My Stars! Epiphany. Sat, 06 June 2020 10:29 Go to previous message
ricks03 is currently offline ricks03

 
Officer Cadet 1st Year
Creator of TotalHost and Stars! utilities
Created TotalHost and Stars! utilities

Messages: 222
Registered: January 2012
Location: NC
Good catch on my OBRM math.

Given I only care about the JOAT / NAS connection, the 95 points for JOAT is the only points I care to modify.



https://www.irelandbybicycle.com
http://totalhost.sinister.net:999
https://github.com/ricks03/TotalHost

Report message to a moderator

Previous Topic: Your colonists have discovered a strange artifact ... how many of them?
Next Topic: Stars on Chromebook?
Goto Forum:
  


Current Time: Thu Mar 28 19:37:57 EDT 2024