• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 23:05
CEST 05:05
KST 12:05
  • 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
[ASL19] Ro4 Preview: Storied Rivals1Code S RO12 Preview: Maru, Trigger, Rogue, NightMare12Code S RO12 Preview: Cure, sOs, Reynor, Solar15[ASL19] Ro8 Preview: Unyielding3Official Ladder Map Pool Update (April 28, 2025)17
Community News
Maru & Rogue GSL RO12 interviews: "I think the pressure really got to [trigger]"5Code S Season 1 - Maru & Rogue advance to RO80Code S Season 1 - Cure & Reynor advance to RO84$1,250 WardiTV May [May 6th-May 18th]5Clem wins PiG Sty Festival #67
StarCraft 2
General
I hope balance council is prepping final balance Map Pool Suggestion: Throwback ERA How does the number of casters affect your enjoyment of esports? Maru & Rogue GSL RO12 interviews: "I think the pressure really got to [trigger]" Code S Season 1 - Maru & Rogue advance to RO8
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament [GSL 2025] Code S:Season 1 - RO12 - Group B [GSL 2025] Code S:Season 1 - RO12 - Group A $1,250 WardiTV May [May 6th-May 18th] SOOPer7s Showmatches 2025
Strategy
[G] PvT Cheese: 13 Gate Proxy Robo Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 473 Cold is the Void Mutation # 472 Dead Heat Mutation # 471 Delivery Guaranteed Mutation # 470 Certain Demise
Brood War
General
[ASL19] Ro4 Preview: Storied Rivals Battlenet Game Lobby Simulator Twitch StarCraft Holiday Bash (UMS) Artosis vs Ogre Zerg [The Legend Continues] BGH auto balance -> http://bghmmr.eu/
Tourneys
[ASL19] Semifinal A [ASL19] Ro8 Day 4 [USBL Spring 2025] Groups cast [BSL20] RO32 Group F - Saturday 20:00 CET
Strategy
[G] How to get started on ladder as a new Z player Creating a full chart of Zerg builds [G] Mineral Boosting
Other Games
General Games
What do you want from future RTS games? Stormgate/Frost Giant Megathread Nintendo Switch Thread Grand Theft Auto VI Battle Aces/David Kim RTS Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread TL Mafia Plays: Diplomacy TL Mafia: Generative Agents Showdown Survivor II: The Amazon
Community
General
Canadian Politics Mega-thread US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread UK Politics Mega-thread
Fan Clubs
Serral Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Books] Wool by Hugh Howey Surprisingly good films/Hidden Gems
Sports
2024 - 2025 Football Thread NHL Playoffs 2024 NBA General Discussion Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard How to clean a TTe Thermaltake keyboard?
TL Community
The Automated Ban List TL.net Ten Commandments
Blogs
Why 5v5 Games Keep Us Hooked…
TrAiDoS
Info SLEgma_12
SLEgma_12
SECOND COMMING
XenOsky
WombaT’s Old BW Terran Theme …
WombaT
Heero Yuy & the Tax…
KrillinFromwales
BW PvZ Balance hypothetic…
Vasoline73
Test Entry for subject
xumakis
Customize Sidebar...

Website Feedback

Closed Threads



Active: 13708 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
Osaka27136 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 States3696 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
Netherlands10340 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
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, USA22251 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)17726 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;;
"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 States3696 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 States3696 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
Next event in 6h 55m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
NeuroSwarm 254
RuFF_SC2 227
Nina 159
StarCraft: Brood War
Britney 21483
Noble 71
Icarus 11
Dota 2
monkeys_forever217
LuMiX1
League of Legends
JimRising 927
Counter-Strike
Fnx 589
Heroes of the Storm
Khaldor203
Other Games
summit1g9911
shahzam697
C9.Mang0385
ViBE262
Maynarde209
Organizations
StarCraft 2
ESL.tv125
CranKy Ducklings101
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• Berry_CruncH141
• Hupsaiya 71
• practicex 39
• OhrlRock 4
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• RayReign 27
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo841
Upcoming Events
Afreeca Starleague
6h 55m
BeSt vs Light
Wardi Open
7h 55m
Replay Cast
20h 55m
Replay Cast
1d 6h
Afreeca Starleague
1d 6h
Snow vs Soulkey
WardiTV Invitational
1d 7h
PiGosaur Monday
1d 20h
GSL Code S
2 days
ByuN vs Rogue
herO vs Cure
Replay Cast
2 days
GSL Code S
3 days
Classic vs Reynor
GuMiho vs Maru
[ Show More ]
The PondCast
3 days
RSL Revival
3 days
GSL Code S
4 days
Korean StarCraft League
4 days
RSL Revival
5 days
SOOP
5 days
Online Event
6 days
Clem vs ShoWTimE
herO vs MaxPax
Sparkling Tuna Cup
6 days
WardiTV Invitational
6 days
RSL Revival
6 days
Liquipedia Results

Completed

BSL Nation Wars Season 2
PiG Sty Festival 6.0
Calamity Stars S2

Ongoing

JPL Season 2
ASL Season 19
YSL S1
BSL 2v2 Season 3
BSL Season 20
China & Korea Top Challenge
KCM Race Survival 2025 Season 2
2025 GSL S1
Heroes 10 EU
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025
ESL Pro League S21

Upcoming

NPSL S3
CSLPRO Last Chance 2025
CSLAN 2025
K-Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Bellum Gens Elite Stara Zagora 2025
2025 GSL S2
DreamHack Dallas 2025
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
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 © 2025 TLnet. All Rights Reserved.