Jump to content

Tepidizer target temperature bypasses


Fradow
  • Branch: Live Branch Version: Windows Pending

In the context of this report:

  • Target temperature: the intended 85°C target temperature of the tepidizer
  • Stop temperature: the actual 125°C soft-limit of the 4000KDTU/s heating. My guess is that it's the same value as the native overheat temperature, but not influenced by the building material.

 

(1) The tepidizer checks a surprisingly large area for its target temperature, which allows bypassing this intended target temperature by using pools of cold liquid in specific cells that meet the tepidizer criterias (GetNonSolidCells function).

fTC2geFvp4FAlS1jcRmQJGAAs6fe6FqzqqNfLD-55k_ZXq7C3Vc6Mwb7ZVoVHanoY3N7rnVwARA-RFiiYoJS-GQReBTvD7UcM-6DbeidjbIi6j8YEeViiKox69Lktn9JYCX9UnkX

(2) Tepidizer pulsing allows bypassing target temperature checks. This sometimes works even after a reload.

 

(3) The tepidizer stop temperature is not properly initialized upon building construction. This allows exploiting (1) or (2) before reload for ludicrous amounts of heat.

 

(4) Even after reload, the stop temperature is high enough to allow clearly unintended usages using (1) or (2), by combining several techniques (Split-turbine design, temperature clamping).

See this post for an exploit that works even with a 125°C stop temperature: https://forums.kleientertainment.com/forums/topic/110297-self-sustaining-steam-turbine-complex/

 

A minimal design that uses (2) and (4) looks like that:

ycIpxp8bqVoW2uJEoMyqMcpBIJ_ZP4aBQsUlDfWFeuxTOFafDOjqH6-s8D7PzRFzvuDIpD3L0ajrKO-5cxLYlRa7L8-9-fha7NddNCTdOgYIq2MTlJeoMUdt_WkpaWFanPhQBWTL

It’s power-positive (albeit not by a lot), provides a bit of free cooling and can be used to boil salt water coming from a Salt Water Geyser for free.

 

Luckily, fixes aren’t that hard. Peter Han and I went ahead and developed fixes for (1) and (2) in the mod Stock Bug Fix (update will be released soon), licensed under MIT license:

 

(1) This bug can be fixed by providing the actual dimension of heaters rather than using a large square. In SpaceHeater.cs => MonitorHeating, replace GameUtil.GetNonSolidCells by a function that only cells from the building PlacementCells

This is future-proof and will correctly check target temperature for all future SpaceHeater derived buildings.

 

(2) This bug can be fixed by checking the target temperature before turning it on (when built, plugged in, enabled by automation): call the Update handler for the Active state, which is currently firing every 4000ms, as well when it Enters.

 

(3) I’ve not investigated how to fix that, as it’s not required if (1) and (2) are fixed.

 

(4) This bug could be fixed by lowering that stop temperature to somewhere between 85°C and 100°C, which would close off any possibility for exploitation, but it’s not required if (1) and (2) are fixed.


Steps to Reproduce

Tepidizer Sandbox.sav

  • Load the save file (vanilla, but also works in Spaced Out!)
  • Verify that the contraption is power-positive (not connected to an external grid) and provides free cooling (as shown by a separate tepidizer to balance the system).
  • Like 2
  • Sad Dupe 1



User Feedback


You know steam drain power from heat right? so "a bit of free cooling" is what made that power positive. Thermo Aquatuner and steam turbine is the real power here, one can transfer heat, and one can convert heat to power. With the two you can have system that give power + lots of free cooling, instead of abit.
It's just a game, let pp have some fun with impossible machines.

unless you have full caculation that the "free cooling" is much less that the power positive.

Share this comment


Link to comment
Share on other sites

No, what made it power positive is running the Liquid Tepidizer above 100°C. No matter what, a Thermo Aquatuner + Steam Turbine combo is never power positive when used for cooling something else. Even with Super Coolant. You have to spend power to actively cool something with that combo.

Tepidizer bugs allow having a power-positive setup because you spend less power heating Steam up than you get back from the Steam Turbine. It's a bit contrived because of the stop temperature which means using other quirks to actually have a power-positive setup, but it's still an exploit.

 

I don't actually care if you use this exploit, or any other for that matter. Go ahead, have fun with it. My fun is about finding those quirks, trying to exploit them, and filling bug reports when things are clearly not intended. This case began because the wiki was not up-to-date, so I thought there was potential for impossible machines. After digging, I ended up re-discovering mathmanican conclusions, then updating the wiki, then pushing a patch to the Stock Bug Fix mod. Nowhere did I prevented anyone from having fun. On the other hand, I'm pretty sure I'm going to save some other adventurous people some headaches by documenting this behavior.

Share this comment


Link to comment
Share on other sites

3 hours ago, Fradow said:

Tepidizer bugs allow having a power-positive setup

Now my question is where the bug that generated positive power.

Is Tepidizer produce more heat than the power it consume? Heater can have 100% power -> heat convert rate, because that all where the power go, unlike in real world heat also got spread out by radiation through light, heat here only transfer via materials, and you can contain them in this game, so you can porduce 100% power -> heat.
Is Steam engine produce more power than the heat it consume?

If both exchange at 100% power rate, then it just mean the power you got is from "free cooling". Steam turbine it self is already "give power and free cooling"

Share this comment


Link to comment
Share on other sites

So let's get back to numbers to illustrate:

  • a Steam Turbine produces 0.969W/kDTU/s it cools. If you can manage to heat something up with a better number than that, you essentially got a power-positive setup
  • a Thermo Aquatuner with Water uses 0.4888W/kDTU/s to transfer heat. You only get back roughly 50% of the energy you used for cooling.
  • a Thermo Aquatuner with Super Coolant uses 0.984W/kDTU/s to transfer heat. In theory you could have a power-positive setup, but it's so low and so late in the game that it's not a balance issue. In general though, people actively cools the Steam Turbine, making the setup slightly power-negative.
  • a Liquid Tepidizer produces 4.233W/kDTU/s it heats up. This means if you manage to heat something with a Tepidizer and cool it with a Steam Turbine, you produce power at an alarming rate.

Now that last point shouldn't be a problem: a Liquid Tepidizer stops at 85°C, right? Except with the bugs reported here, it doesn't. It does have a soft-limit at 125°C after reload, but even then can be exploited using other game mechanism (split turbine, shown here, and temperature clamping, not shown here).

Before a reload, you can get it as high as the overheat temperature (1025°C for Thermium), because of the 2 possible ways to bypass the target temperature. Some people reported being able to melt it before it takes too much damage from overheat (I've not tried that).

Share this comment


Link to comment
Share on other sites

I know the liquid tepidizer have the bug as you mentioned, tbh i dont even use liquid tempidizer in all of my world, because early game, i dont want any heat source, and mid/late game, i already have super coolant.
But my question before you say this is an exploit is:
How much power does steam turbines produce per watt of heat?
How much heat does liquid tepidizer produce per watt of power?

Not per second, but how much does the power -> heat percent change in this two machine, that way we know if they give positive power through heat or power just come from nothing,

Now i read through wiki and see:
steam turbine remove 877.59 kDTU/s and produce 850W of power.
Liquid Tepidizer use 960W of power and produce 4064 kDTU/s.


So one liquid tepidizer can feed 4 steam turbine for 1.1 of it power. Even if it stop at 85C, you still can transfer heat via aqua turner to give positive power set up.

Edited by Tranoze

Share this comment


Link to comment
Share on other sites

A bug report is not the right place to explain that, and I'm pretty sure this as already been discussed elsewhere. It's common knowledge for experienced players, and simple enough that it's not often discussed anymore.

I'll just try to explain one last time. I already give the watt/heat ratios. The fact that they are per second doesn't change that a Tepidizer gives off more heat per watt than the ST cools, which means a Tepidizer heating Steam in a manner a ST can use is power-positive. That's the exploit/bug here, and it should not be possible because the Tepidizer should not heat anything above 85°C.

As soon as you introduce an AT, the setup becomes power-negative (or at most about power-neutral with SC), because an AT gives off less heat per watt than the ST cools, which means you use more power to transfer heat into the Steam Box than you get back from the ST.

I really don't know how to explain this better in a forum post. Feel free to hop on the unofficial Discord if you wish to discuss this further.

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...