• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:18
CET 15:18
KST 23:18
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy7ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289
Community News
Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool48Weekly Cups (March 9-15): herO, Clem, ByuN win42026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12
StarCraft 2
General
Potential Updates Coming to the SC2 CN Server What mix of new & old maps do you want in the next ladder pool? (SC2) Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Weekly Cups (March 16-22): herO doubles, Cure surprises Weekly Cups (August 25-31): Clem's Last Straw?
Tourneys
WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament World University TeamLeague (500$+) | Signups Open RSL Season 4 announced for March-April WardiTV Team League Season 10
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat Mutation # 516 Specter of Death
Brood War
General
Soulkey's decision to leave C9 BGH Auto Balance -> http://bghmmr.eu/ Gypsy to Korea How much money terran looses from gas steal? mca64Launcher - New Version with StarCraft: Remast
Tourneys
[ASL21] Ro24 Group C [Megathread] Daily Proleagues [ASL21] Ro24 Group B 2026 Changsha Offline Cup
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Stormgate/Frost Giant Megathread Path of Exile Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! [Manga] One Piece
Sports
Cricket [SPORT] 2024 - 2026 Football Thread Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1585 users

SC Power Saver

Forum Index > BW General
Post a Reply
Normal
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 09:40:35
March 31 2008 09:31 GMT
#1
http://ossguy.com/starcraft_power_saver/ by ossguy

I haven't tried it yet. I don't think many will be using it but who knows, someone out there might find it useful.

Basically it's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.

Performance results
StarCraft Power Saver reduces StarCraft's CPU usage from 100% to the following percentages:

* 1-4% on a 2.8 GHz Pentium 4 running Windows XP SP2
* 2-10% on a 1.3 GHz Pentium M running Windows XP SP2
* 25-75% on a 1.3 GHz Pentium M running Wine 0.9.58 on Ubuntu 7.10

+ Show Spoiler +
StarCraft Power Saver
What you should know about StarCraft Power Saver:

* It's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.
* It modifies the StarCraft executable. As a result, you should not use Battle.net once the patch is applied (you can revert to a backup if you like).
* It's designed for StarCraft 1.15.2. If you have an older version, please update to 1.15.2 before using it.
* It's run from the command line. To use it, open a Command Prompt and navigate to the folder it's in. Then type starcraft_power_saver "C:\Program Files\Starcraft\StarCraft.exe" to apply the patch. A backup of the executable will be created.
* It wasn't created by and is not supported by Blizzard Entertainment.
* It's only available for Windows (and, by extension, Wine) for now. If there is enough interest, I will consider adding a Mac version.
* The tool and source code are linked below. They can also be browsed using this link.
* Bug reports and feature requests are welcome. Please submit these using the contact information below.


Before you judge it too fast (like I did) read the Problem summary.
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 10:00:16
March 31 2008 09:49 GMT
#2
edit: hum there is another similar program - cpu saviour posted by r1ch
http://www.teamliquid.net/forum/viewmessage.php?currentpage=1&topic_id=66104
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:51 GMT
#3
how to use it @@
i tried, didint work
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:57 GMT
#4
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c
Manifesto7
Profile Blog Joined November 2002
Osaka27172 Posts
Last Edited: 2008-03-31 10:53:25
March 31 2008 10:52 GMT
#5
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.
ModeratorGodfather
tec27
Profile Blog Joined June 2004
United States3702 Posts
March 31 2008 11:41 GMT
#6
Yeah, I'd say Rich's is a lot better (and is a BWL plugin so its even easier to turn on/off )
Can you jam with the console cowboys in cyberspace?
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:35 GMT
#7
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Thanks for reporting that. Are you using an English version of StarCraft 1.15.2? If not, it's quite likely that the patch won't apply properly. I'll consider adding support for other languages if there is enough interest.
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:41 GMT
#8
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 23:13:49
March 31 2008 23:12 GMT
#9
On April 01 2008 01:41 ossguy wrote:
Show nested quote +
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.


we are happy just by the mere fact you're around here and made the effort for our game : )
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
evanthebouncy!
Profile Blog Joined June 2006
United States12796 Posts
April 01 2008 01:52 GMT
#10
Man I was hoping for a SC screen saver with customizable replays to play and auto screen scroll for hottest actions...
Life is run, it is dance, it is fast, passionate and BAM!, you dance and sing and booze while you can for now is the time and time is mine. Smile and laugh when still can for now is the time and soon you die!
comabreaded
Profile Blog Joined July 2003
United States2166 Posts
April 01 2008 02:14 GMT
#11
I wish Blizz would somehow implement this.
I put the fu in fun
thunk
Profile Blog Joined March 2008
United States6233 Posts
April 01 2008 02:22 GMT
#12
I'm curious if ossguy has written other bw software. Have you?
Every time Jung Myung Hoon builds a vulture, two probes die. || My post count was a palindrome and I was never posting again.
R1CH
Profile Blog Joined May 2007
Netherlands10342 Posts
April 01 2008 03:20 GMT
#13
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.
AdministratorTwitter: @R1CH_TL
TL+ Member
ossguy
Profile Joined March 2008
Canada20 Posts
April 01 2008 18:17 GMT
#14
On April 01 2008 11:14 comabreaded wrote:
I wish Blizz would somehow implement this.


So do I. It would require a bit of a redesign of their game loop, but it is still a manageable fix. In my opinion, a proper redesign of the game loop would look like the following:

setTimer(...);
while (gameNotOver()) {
      GetMessage(lpMsg, ...);
      switch (lpMsg.message) {
            case KEYBOARD_EVENT: ...
            case MOUSE_EVENT: ...
            case TIMER_EVENT:
                  redrawScreen();
                  computeAI();
                  resetTimer();
                  ...
            case ...
      }
}

StarCraft would use the timer to tell it when to redraw the screen. The timer frequency would specify how many frames per second StarCraft would run at. This could be configurable in the game or hardcoded to a particular value that runs well on most systems.

I'd be happy to talk about this proposal further, especially with people from Blizzard.
ossguy
Profile Joined March 2008
Canada20 Posts
Last Edited: 2008-04-02 04:17:50
April 02 2008 03:56 GMT
#15
On April 01 2008 11:22 thunk wrote:
I'm curious if ossguy has written other bw software. Have you?


The other StarCraft-specific software I've written was made primarily for testing and benchmarking to see how effective the patch was. I did write a patch for Wine that allows users to specify a refresh rate since Wine sometimes picks a low refresh rate when games like StarCraft change the resolution. More information about the patch, including how to use it, are available on my blog. If you just want to use it, you can skip the first two paragraphs.

The benchmarking tools I made let me know how many times StarCraft is going through the game loop in a given amount of time. I did this by inserting a counter in the game loop and then using ReadProcessMemory from another application to see the value of the counter as it changed while StarCraft was running. Making ReadProcessMemory work required disabling some of StarCraft's security features. Because of that and because I used the same method of modifying StarCraft (changing the StarCraft executable directly), these changes also would not work with Battle.net.

In general, I try to stay away from making fixes to closed source software such as StarCraft because it is much more time-consuming than making fixes to open source software and it is much harder to fix things "the right way" since I have to guess what the assembly code is trying to do. It would be much easier for me to make changes to StarCraft if it were open source, but the model that Blizzard Entertainment chooses to sell its products doesn't permit that.
Gokey
Profile Joined November 2006
United States2722 Posts
April 02 2008 04:07 GMT
#16
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:16 GMT
#17
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency.


Certainly. If I had more time, I would try to modify StarCraft using an event-based game loop as I described above, but it's just not feasible without the source code as I would have to spend many hours just figuring out how to refactor the code to make the event-based system work. It's unfortunate we have to rely on Sleep when there are much better ways of doing it.

You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does.


I considered doing this, but I wasn't sure if it would work because I couldn't find any references to other functions in the winmm library, suggesting that it wasn't linked into the StarCraft executable so I wouldn't be able to use timeBeginPeriod. Furthermore, it appeared that StarCraft worked fine even with the 10-15ms granularity so I didn't see a need to fix it further. However, if there are reports that StarCraft Power Saver is slow without timeBeginPeriod, then I would consider implementing it.

I couldn't find the place where you call timeBeginPeriod in your code; can you point out where in the code that's done?

CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


That's an interesting mechanism for patching the game. I wish such hackery weren't required. It's things like this that really make me want to switch to open source RTSes like Bos Wars, Globulation 2, or Dark Oberon. If I have a problem with any of these, I can just fix the source code the right way. Unlike with StarCraft, no reverse engineering or protection-circumventing hacks are required.
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:21 GMT
#18
On April 02 2008 13:07 Gokey wrote:
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(


It's partly because StarCraft is 10 years old that it uses the CPU the way it does. 10 years ago, people didn't care that much about saving power because the average computer wasn't that power-hungry and laptops were not nearly as ubiquitous as they are today.

I would encourage you to try StarCraft Power Saver and CPU Saver to see if they help with your CPU temperature issues. Ideally Blizzard would fix this the right way, but until then, all we can do is work around it.
EvilTeletubby
Profile Blog Joined January 2004
Baltimore, USA22259 Posts
April 02 2008 04:26 GMT
#19
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?
Moderatorhttp://carbonleaf.yuku.com/topic/408/t/So-I-proposed-at-a-Carbon-Leaf-concert.html ***** RIP Geoff
Ilikestarcraft
Profile Blog Joined November 2004
Korea (South)17733 Posts
April 02 2008 04:37 GMT
#20
On April 02 2008 13:26 EvilTeletubby wrote:
Show nested quote +
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?

Me too T.T After using chaos launcher it got me interested but i have no idea what they're talking about;;
ils
"Nana is a goddess. Or at very least, Nana is my goddess." - KazeHydra
thunk
Profile Blog Joined March 2008
United States6233 Posts
April 02 2008 04:37 GMT
#21
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.

For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.
Every time Jung Myung Hoon builds a vulture, two probes die. || My post count was a palindrome and I was never posting again.
Response
Profile Blog Joined April 2004
United States1936 Posts
April 02 2008 17:15 GMT
#22
On April 02 2008 13:37 thunk wrote:
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.

For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.


maybe they just enjoy coding? either way im glad they do it its awesome for the rest of us!:-D
the REAL ReSpOnSe
[X]Ken_D
Profile Blog Joined May 2005
United States4650 Posts
Last Edited: 2008-04-02 20:54:07
April 02 2008 20:44 GMT
#23
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.

What software do people use to compile the dephile\pascal code? I can write very basic ASM, but how much assembly would I need to know? I use to write only in DOS enviroment with pascal code and an inline assembly.
[X]Domain - I just do the website. Nothing more.
il0seonpurpose
Profile Blog Joined January 2007
Korea (South)5638 Posts
April 02 2008 23:56 GMT
#24
Man, no bnet?
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 14:30 GMT
#25
On April 02 2008 13:26 EvilTeletubby wrote:
How did both of you guys get into coding, if you don't mind me asking?


I started coding around Grade 8 or Grade 9. My first language was (unfortunately) Visual Basic, but I quickly moved into C++. I started coding simple programs that would do math I had recently learned like calculating the length of the hypotenuse of a right-angle triangle given the lengths of the other two sides. I also wrote programs to organize some of the data coming from my broadband router, namely the number of accesses per port in a day. I learned most of my C++ from experimentation, high school programming classes, and books like Sams Teach Yourself C++ in 21 Days.

More recently, I have been learning how to code through courses at the University of Waterloo and working on open source projects such as the Linux kernel, GNU wdiff, and Wine. While much of my knowledge has come from formal education, all of it could have been picked up from elsewhere.

To be a coder, it's good to have an analytical or mathematical mind otherwise you probably won't enjoy it. To get started, I would suggest getting a C or C++ book and then reading the source code for a simple project like Gnome Mines. I would highly recommend installing a distribution of GNU/Linux for programming. It's much easier to get development tools for GNU/Linux than for Windows or Mac OS.

I recommend getting involved in some open source projects if you want to learn how to code. Pick a project you like and get on the developers' mailing list. It's probably best to get involved with a smaller project than with something like Firefox or the Linux kernel at first.

I have primarily described coding resources for C and C++. These are most useful for those that eventually want to work on something like StarCraft. But there are lots of other areas of programming that are equally as useful. A big field today is web programming, using JavaScript, PHP, Ruby, and Python to name a few. If you like the language to do the work for you, you might want to start there. Also, Python is being used increasingly for non-web applications, such as those on the OLPC.

I can try to answer specific questions about coding, but my time is somewhat limited. If someone wants to start a new thread on coding and there is interest, we could continue these sorts of discussions there.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 14:38 GMT
#26
On April 02 2008 13:37 thunk wrote:
I was thinking of switching to a linux box, but sc was actually a deciding factor. I'll look into your blog.


I've been running StarCraft exclusively on GNU/Linux for a while now. I had some performance problems at first, but I fixed them by using these instructions (see UsefulRegistryKeys for how to update these keys). Now it's running problem-free.

If you have any questions about running StarCraft on GNU/Linux through Wine, I can probably help.
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 03 2008 14:42 GMT
#27
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.

What software do people use to compile the dephile\pascal code? I can write very basic ASM, but how much assembly would I need to know? I use to write only in DOS enviroment with pascal code and an inline assembly.

You use Delphi to compile Delphi code You can get a free (and legal! but a tad bit limited, although it should be fine for your usage) off of http://www.turboexplorer.com/delphi
Can you jam with the console cowboys in cyberspace?
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 16:47 GMT
#28
On April 03 2008 02:15 GoSuPlAyEr wrote:
Show nested quote +
On April 02 2008 13:37 thunk wrote:
For EvilTeletubby -> the answer is starcraft. They saw (T)BoxeR play and they were like...damn...I wanna code brood war plugins.

I'm actually wondering the same thing though.


maybe they just enjoy coding? either way im glad they do it its awesome for the rest of us!:-D


The reason I did it was primarily because I was frustrated that StarCraft was wasting power (particularly on my laptop where wasting power means reducing battery life) and making my CPU fan spin furiously. I could have just fixed it for myself, but it only requires a little more work to make my patch available to anyone so I did that.

I also made the patch because I like a challenge and I knew a bit about how to fix it. It definitely required me to expand my knowledge, especially on how to use a debugger and how to analyze a program without high-level source code.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 16:55 GMT
#29
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 17:18 GMT
#30
On April 03 2008 08:56 il0seonpurpose wrote:
Man, no bnet?


No. You can blame Blizzard and players that cheat for that.

Blizzard has an obligation to make games fair for everyone and when people cheat on Battle.net, Blizzard must choose between allowing cheating (which makes some people upset) and adding "protections" to their games so that they are harder to modify for cheating purposes. Blizzard has chosen to add "protections". Unfortunately, it is impossible to differentiate between modifications done for cheating purposes and modifications done to make StarCraft use less CPU power so by adding "protections", Blizzard has made it much harder for people like me and R1CH to legitimately fix their games when they're broken.

If you don't want Blizzard to do this, first and foremost do not cheat. Fewer people cheating means less reason for Blizzard to add "protections" to their games. Secondly, speak up on forums when there are problems. If StarCraft is consuming too much power or doesn't work natively on GNU/Linux, brings this up on forums (especially the official Battle.net forums) and sign a petition if there is one. As an example, there is a petition to add GNU/Linux installers for Blizzard games you can sign. Doing this will make Blizzard aware of what features and fixes people want.

If you want similar functionality to StarCraft Power Saver and want to use Battle.net, try out R1CH's CPU Savior (or Saver). It's discussed on another thread.

Be aware that when modifying StarCraft in any way, there is always a chance that Blizzard will prevent you from using Battle.net (see the ChaosLauncher announcement). It just happens that Blizzard has chosen to disallow the type of modification that StarCraft Power Saver uses but has not (yet) disallowed the type of modification that ChaosLauncher (and CPU Savior) uses.
[X]Ken_D
Profile Blog Joined May 2005
United States4650 Posts
Last Edited: 2008-04-03 17:20:14
April 03 2008 17:19 GMT
#31
On April 04 2008 01:55 ossguy wrote:
Show nested quote +
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

Show nested quote +
I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.


Disassembly, that sounds like a nightmare for me.

I wish I am able to modify ChaosPlugin autoreplay saver to include replay with text and not save before 2 minutes. ADVLoader can do that, but I don't like the way replay number already has a set number instead of looking at the last file number. I often get corrupt replays with ADVLoader.

In reality, I would have to start off something really simple such as make ChaosPlugin not save before 2 minutes
[X]Domain - I just do the website. Nothing more.
ossguy
Profile Joined March 2008
Canada20 Posts
April 03 2008 17:31 GMT
#32
On April 03 2008 08:56 il0seonpurpose wrote:
Man, no bnet?


I forgot to mention this in my last post:

You can use StarCraft Power Saver with Internet games, just not through Battle.net. There are applications such as Gamer's Internet Tunnel that will make people able to see your LAN games over the Internet. This probably isn't an option for competitions, but for your average recreational game of StarCraft over the Internet, it should work fine.

Of course, people will be able to cheat more easily when using this setup than with Battle.net, but allowing StarCraft modifications is the whole point and one can't distinguish between modifications made for cheating and modifications made for improving the game. Just make sure you're playing with people you trust not to cheat and you'll be fine.
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 03 2008 18:18 GMT
#33
On April 04 2008 02:19 [X]Ken_D wrote:
Show nested quote +
On April 04 2008 01:55 ossguy wrote:
On April 03 2008 05:44 [X]Ken_D wrote:
I got the source code for ChaosLauncher, but I was wondering if there is a reference documents somewhere.


Are you interested in writing your own plugin? If so, what sort of plugin do you want to write? I haven't used ChaosLauncher so I can't help you with the reference documents, but I could help you with general knowledge of how StarCraft works.

I can write very basic ASM, but how much assembly would I need to know?


It really depends on what you're doing. I had some knowledge of x86 assembly before writing StarCraft Power Saver, but I had to learn a lot more to write the patch. You may want to write some simple programs then compile them and disassemble them to learn assembly. I suggest using IDA Pro Freeware. It's got a lot of neat features, including graphing, which is extremely helpful when trying to understand assembly code.


Disassembly, that sounds like a nightmare for me.

I wish I am able to modify ChaosPlugin autoreplay saver to include replay with text and not save before 2 minutes. ADVLoader can do that, but I don't like the way replay number already has a set number instead of looking at the last file number. I often get corrupt replays with ADVLoader.

In reality, I would have to start off something really simple such as make ChaosPlugin not save before 2 minutes
You'd pretty much have to write a completely new plugin to add RWT, btw ChaosPlugin just deals with LastReplay.rep once its been saved, and adding RWT means modifying the replay save functionality with Starcraft. If you want to get started with some simple disassembly stuff with starcraft though, just let me know, I'd be happy to help you out
Can you jam with the console cowboys in cyberspace?
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
April 03 2008 21:08 GMT
#34
This thread got quite offtopic
Almost all info available about Chaoslauncher/BWLauncher4 is found here:
http://www.bwprogrammers.com/modules.php?name=Forums&file=viewtopic&t=1071
A good replay with text(which saves the text inside the replay) is hard to code. A simple one, which just reads the strings from memory and saves them to a textfile is doable. The 2minute thing would be easy if you had the source for RepAnalyzer.dll, but I forgot to include that one.
Basically all things Chaosplugin can do are very simple and do not require disassembling SC.

As free IDEs I'd recommend either Turbo Delphi Explorer or Visual Studio Express (or if you have access to MSDNAA Professional)
LiquipediaOne eye to kill. Two eyes to live.
Homeless
Profile Joined February 2004
Germany69 Posts
Last Edited: 2008-04-10 19:41:28
April 08 2008 17:19 GMT
#35
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Same problem here. I'm using a german copy of starcraft, guess that's the problem!?

Edit: So the MD5 checksum of my (german) Starcraft.exe is af031ff7d41610c08a00d28d112965c2. You maybe want to add it to the code.
http://xnbk.de
ossguy
Profile Joined March 2008
Canada20 Posts
April 13 2008 19:03 GMT
#36
On April 09 2008 02:19 Homeless wrote:
Show nested quote +
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Same problem here. I'm using a german copy of starcraft, guess that's the problem!?

Edit: So the MD5 checksum of my (german) Starcraft.exe is af031ff7d41610c08a00d28d112965c2. You maybe want to add it to the code.


Unfortunately, I can't just add the MD5 checksum without first checking to see if the same method of patching would work on the German StarCraft executable. If I just added the MD5, it is possible that the patch would cause a German version of StarCraft to crash because the German StarCraft executable might be organized differently than the English StarCraft executable.

So if I had a German StarCraft executable, I could add support for the German version of StarCraft to StarCraft Power Saver. However, I don't own a German version of StarCraft and the license you agree to when you install StarCraft prevents you from sharing your StarCraft executable with me. If you e-mailed Blizzard Entertainment and received written permission from them to give me your German StarCraft executable, then you could send me your German StarCraft executable and I could add support for the German version of StarCraft to StarCraft Power Saver. You could also buy a second copy of the German version of StarCraft and send it to me. Please don't send me your StarCraft executable unless you can prove you have the legal right to do so.

The above applies to any non-English version of StarCraft, not just German. I would be happy to add support for other languages if you follow the above instructions. I admit the steps are time-consuming, but I'm afraid I don't have the time or the money to follow through on them myself. I will always accept help from the StarCraft community, though.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
April 14 2008 06:59 GMT
#37
If you only patch some places in the code and don't change the structure of the .exe, you could check the code which is near your patch, instead of hashing the whole file. And I'm quite sure that the code section is identical for all SC-Versions.
LiquipediaOne eye to kill. Two eyes to live.
.Ix
Profile Blog Joined August 2007
Philippines266 Posts
April 14 2008 12:28 GMT
#38
wow, finally, someone else who uses ubuntu + wine!

is there any way to get chaoslauncher + Power Saver / CPU Savior running on wine + ubuntu?
i tried chaoslauncher and it gave me weird errors.
Normal
Please log in or register to reply.
Live Events Refresh
OSC
12:00
King of the Hill #242
Liquipedia
WardiTV Team League
12:00
Group A
BASILISK vs Team Liquid
WardiTV676
TKL 157
IndyStarCraft 136
Rex100
3DClanTV 52
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
TKL 157
IndyStarCraft 136
SortOf 126
ProTech123
Rex 100
StarCraft: Brood War
Britney 38158
Calm 4355
Sea 2933
Bisu 1311
Horang2 1169
EffOrt 996
Mini 878
firebathero 386
BeSt 383
Snow 211
[ Show more ]
ggaemo 180
Soulkey 155
Rush 143
Soma 124
Last 109
Backho 93
Pusan 75
hero 72
sSak 57
Sea.KH 52
ToSsGirL 49
[sc1f]eonzerg 48
HiyA 44
Shinee 39
Barracks 34
Free 27
zelot 23
Hm[arnc] 22
Bale 21
soO 17
GoRush 16
Shine 13
Rock 11
yabsab 10
ivOry 9
Terrorterran 5
eros_byul 0
Dota 2
Gorgc6671
BananaSlamJamma324
Counter-Strike
olofmeister1450
kennyS600
x6flipin400
markeloff152
fl0m17
Other Games
singsing2007
B2W.Neo727
hiko618
crisheroes281
Lowko233
Hui .230
Fuzer 189
shoxiejesuss181
DeMusliM161
KnowMe143
Sick87
Mew2King83
ArmadaUGS24
QueenE23
Organizations
Other Games
gamesdonequick475
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis1349
• TFBlade765
Upcoming Events
OSC
3h 43m
Replay Cast
9h 43m
WardiTV Team League
21h 43m
Big Brain Bouts
1d 2h
Fjant vs SortOf
YoungYakov vs Krystianer
Reynor vs HeRoMaRinE
RSL Revival
1d 19h
Cure vs Zoun
herO vs Rogue
WardiTV Team League
1d 21h
Platinum Heroes Events
2 days
BSL
2 days
RSL Revival
2 days
ByuN vs Maru
MaxPax vs TriGGeR
WardiTV Team League
2 days
[ Show More ]
BSL
3 days
Replay Cast
3 days
Replay Cast
3 days
Afreeca Starleague
3 days
Light vs Calm
Royal vs Mind
Wardi Open
3 days
Monday Night Weeklies
4 days
OSC
4 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Rush vs PianO
Flash vs Speed
Replay Cast
5 days
Afreeca Starleague
5 days
BeSt vs Leta
Queen vs Jaedong
Replay Cast
6 days
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-03-25
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
Acropolis #4 - TS6
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

2026 Changsha Offline CUP
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.