New PenguinPlug users ? read everything :)
Introduction
PenguinPlug is a multifunction plug-in for Starcraft. It's goal is to provide additional functions while keeping the game fair. The following options are currently available:RWT: Replay With Text
When you save a replay, all the messages you received from players (and your own messages) will be recorded in the replay. When you view the replay, the messages will appear. It works more or less like RWA (replay with audio by JCA), except you don't need a microphone: the poor man's version :) and you can record humorous comments by your opponents, it should give a new life to some replays.Saving some rants from an enemy who see a dropship for his first time : priceless
Note : the player that is saving the replay must have it running during the entire game, and each player that is watching it must have it running if they want to view the comments. If they don't have PenguinPlug, it will still be played like a normal replay for them. Of course it doesn't record the enemy privates messages.
Version 0.2.9 and higher have an integrity check that ensure that the text cant be modified easly modified. If you see the message "Integrity ok" it means it has been saved with this feature.
Unshifted Hotkey
If you have a French azerty keyboard, then you must use the "shift key" to type numbers, and it's VERY annoying for hotkeys. this plug-in allow you to use hotkey without using shift or caps lock.unshift hotkey is off by default: type "\unshift on" to activate it and to save it in the config file automatically.
Replay Anti-corruption
Sometime (mostly in games with many players), Starcraft can crash when saving a replay. Penguinplug will it will warn you durring the game if it happen, and will prevent the crash and try to fix the replay while it's saved. in this case you will need penguinplug to watch the corrupted replay or it will crash / disconnect / act strangely after the time the corruption happened. Of course if the replay is not corrupted, you should still be able to watch it without PenguinPlug.When the replay get corrupted, it's because of a player, but it doesnt mean he is hacking, most of the time it happen by accident at the start of the game. It will write the responsability amount of the possible replay crasher, in the form of 2 numbers : "x/y"... here is the math : if you divide x by y, and it's less than 80%, it's probably an accident and the guy should not be accused of cheating. If it happen in the middle of the game, repetedly, and with more than this 80% number, then it's probably a cheat tool that is used to select more units that normaly allowed. I'm not the only one who made a similar replay anti-corruption, but i did mine alone.
An accidental replay corruption
Automatic Replay Saver
For every game you play, the replay will be saved automatically in the subdirectory "maps\replays\autoreplay" of starcraft. The name will be the number of the game (4 digits) + the 6 first characters of every player name, separated by underscores "_", limited to 31 to keep the file openable by sc. You can still save it at an other place by clicking the save button normalyNow you dont need to remeber to save the replay, but dont forget to clean the directory before you reach the replay 9999 :) This feature come from Lasgo, he wrote the code for 1.11b, the source code was public, i just converted it to 1.12b & 1.13 and integrated to penguinplug.
Replay folder
Since PenguinPlug 0.3.96, replays of less than 2 minutes are not auto-saved (was considered as an annoyance to have many useless replays like this).
Download visibility
Allow you to see the download progress even at 0% or 100%. This way you can see who has the map and who hasnt. This patch come from Ashur, i only rewrote it to grey out the 100% values.A few players at 0% or 100%
Reply to last /w
If someone send you a private message durring the game, you can reply to him by typing as a message "\r something_you_want_to_say" and it will send a /w back to his guy.The name of the player that had messaged you is saved when you first press the enter key, so if more players message you after, it will still probably reply to the guy you wanted to message when you pressed the enter key. As soon as you type "\r ", the name of the auto-reciepient will be announced.
Like any command, it only work durring the game and not in game lobby or bnet chat
Spoof detection (experimental)
PenguinPlug will automaticaly send the /whereis messages to check if all players in the game are using some evil "spoofing hack" to change their name or take someone else identity. This option is experimental and disabled by default. Known issue : if some players quit before the anti-spoof check has finished, they will be detected as possible spoofer, because they are no longer in the game, you can safely ignore the messages in this case.Others
Hide rally animation : if you are annoyed by it and you like too much the old < 1.12 behavior, theres an option in PenguinPlug to disable it.command line editing & history : you can move back and forward in the line of the in-game text, and you can scroll up / down through the replay with text.
Anticheat
With the new patchs 1.12 and 1.13, the remote "self-unally" anti-cheat functions of PenguinPlug doesnt works on any other existing maphacks, they are impossible to remake so dont ask.Requirements
- Windows XP/NT/2000. With version 0.3 or higher it will probably work with 95, 98 and ME but i test it less often on those systems.
- Broodwar 1.12b or Vanilla SC 1.12b. If blizzad update it, it will not work until i change MANY references in the PengiunPlug code, no need to ask every 5 minutes when it will be done
Install
Extract PenguinPlug-...zip in your starcraft directory (the directory that contain starcraft.exe).extract your zip file here
You can drag and drop PenguinLauncher.exe while keeping the CTRL and SHIFT key pressed to make a shortcut on your desktop.
make a shortcut to run PenguinPlug instead of Starcraft
Then double clic penguinlauncher.exe It will add a penguin trayicon in the taskbar, and you will see a message everytime you start a game. (you can also try to run starcraft.exe first and then run PenguinLauncher for WinNT/XP).
It prints a message everytime the game start and add a penguin icon in your system tray
Classic disclaimers
This program is a 3rd party program, that is not endorsed by Blizzard. Be aware that by running it you may break the ELUA. However, it is NOT a cheat program, and it doesn't give any unfair gameplay advantage over a legitly playing opponent, I will never add any features that could be considered "cheating". It would be very ironic if Blizzard, after leting cheaters unpunished for months, would punish users of tools like bwscanner or PenguinPlug.Security concerns
As long as you download the program directly from me, it has no trojans or viruses included :) It doesn't manipulate your files, except the replays when you save and open them, the files penguinplug-debug.txt and penguinplug.iniIt doesn't affect any other program except if they are named Starcraft.exe. It stays in memory as long as Starcraft is running, and stops when you stop it. Unfortunately, I cant provide any "bug free warranty", it's still an experimental version and i will probably never pretend to have 0 bugs for sure, so it may possibly crash, corrupt or prevent you from loading the replay, or have other nasty unintended behavior. But I have tested it, and it seems to work quite well for me. If you notice some bugs, please inform me with detailed explanations and I will do my best to fix them in a future version.
Source code
I had planed to release the source code but it would put me in a dangerous situation in case someone reprogram it in a cheating tool. It would not make a big difference for Blizzard if someone modified it, they would still consider me responsible. I dont want to disclose something that could help the evil side to create a cheat program. I dont appreciate security by obscurity but Blizzard decided starcraft will work this way and i cant change that.Some code come from Lasgo (about 100 lines of bwac informations) and Ilintar is actively developping it and will need to have it safe too. For this reason, i wont give out the source, but if you have some positive reasons and you have already contributed positively in the SC community, you can ask.
Extra credits
Probably half of the code lines come from someone else :- Ilintar is actively developping some large parts in the PenguinPlug source code that is going to be included in the next versions. I will let him explain his project by himself, be patient guys, but it's going to be great. In the version 0.4.0, he programmed most of the config menu and he did the "process priority changer".
- Ashur gave me the hide rally points, some of the internal checks, and the download visibility offsets, big thanx
- Lasgo shared some code with me from bwac, and i also used his public replay saver code, big thanx too
- DLL Injection and function interception tutorial By CrankHank
http://www.codeproject.com/dll/DLL_Injection_tutorial.asp - SC BaseHook 1.1 - by Palomino
- How To Enumerate Applications Using Win32 APIs
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q175030 - Yaron Zarfati's Linux Penguin icon
http://mail.ort.edu.ar/penguin/
Special thanks
All my friends on battle.net, my cousins, the [ZO] team (http://ste.gnux.info/zo), the scd guys (http://starcraftdream.com), angel.white, and all the peoples who helped to test it.JCA, Lasgo, TravelToAiur, Entropy for making usefull and fair 3rd party programs. Ilintar and Pat for wgt/tlt and pgt. (and Blizzard for making the game - i was about to forget this one :) did i forgot anyone else ?
If you have some ideas / comments / questions, feel free to ask me by email (s at poinsart dot com), or I also spend some time in http://www.starcraftdream.com forums.
Known bugs
I dont have any infos yet on bugs of this new release, but it doesnt mean they are none :)Webpage
The webpage http://ste.gnux.info/pp is the only one i control myself. So it's the only safe and most updated page to download PenguinPlug. (note: http://poinsart.gnux.info/pp is the same address and is valid too)Command Line Reference
In PenguinPlug 0.4.0, a new way to configure PenguinPlug has been added : a graphic config menu. Double clic the Penguin icon in the taskbar to open / close it.The PenguinPlug configuration menu
Command Line Reference
Those commands have to by typed durring the game. Most of the value you can change with them are saved automaticaly so no need to type them every game.To type them press enter and use the "\" character and then the name of your command. for example "\help" will give you a list of those commands. you have to type them in game (not lobby or battle.net chat) All the options are now changable in the Configuration menu.
Type commands like this
help
Show this help message about PenguinPlugrwtplay (on/off)
Show the game text durring the replay if available (Replay With Text) PenguinPlug will still load the text at the start of the game bt it will not display it until you turn it on.rwtrecord (on/off)
Save the replay with recorded message (Replay With Text) The replay will be saved like if PenguinPlug was not used, and there will be absolutely no text data in it, even if you only choose this at the last 10 seconds of the gameunshift (on/off) (default=off)
On azerty keyboard (french layout) it allow you to type hotkeys without pressing shift everytime. The default seting is off, so make sure you type "\unshfit on" if you want to enable it.bwchart
Open bwchart with the replay you are currently watching You must be in a replay to use this. BWChart must be installed and associated with the .rep files.If it doesnt work you can check this this: in bwchart, clic the "Option" button at the top of the screen and put a mark in the checkbox "File association between .rep extension and bwchart. BWChart is the great tool of JCA, he publish it on http://www.bwchart.com
webpage
Open PenguinPlug webpage with your default webbrowser: http://ste.gnux.info/pprwtexport
Save all the comments with times in a .txt file. Then it will open the notepad (or the program associated with .txt files) and load it. The filename and the path is exactly the same as the .rep file, you will get a file ending with ".rep.txt" You must be in a replay with text to use this command.antispoof (on/off) (default=off)
Automaticaly check all the player names durring a game, to see if they are using a hack program to get a fake aka.autoreplay (on/off)
Enable or disable the "auto replay save".bwac (on/off) (default=off)
If you know what bwac is, you can turn it on, theres some comments about it in the other part if this readmehiderally (on/off) (default=off)
If you dont want the "rally animation" to be showed every time you select a building that has a rally point, you can disable it, it will do as if you were in the patch 1.11b for this.r <message>
by pressing \r durring the game, you can reply to the lastest private messageHistory
Dates are DD/MM/YYYY format. Versions number are decided stupidly i know :)v0.4.2 - 15/09/2005
Updated for SC & BW 1.13eno new features
v0.4.1 - 07/09/2005
Updated for SC & BW 1.13d- New reply system, the \r command, try it after someone message you durring the game
- Option to hide the penguinplug config Window (you can still get it by double-clicking the penguin icon)
v0.4.0 - 14/08/2005
Updated for SC & BW 1.13b- New graphic config GUI to change the options easily (done Mostly by Ilintar)
- Spoof detection (Experimental - disabled by default), again, Ilintar did a large part of it
- BWAC action read-ahead durring replays (should make less false-suspicious alerts - but there is still quite a lot)
- Option to change the SC process priority, i didnt tested how efficient it was but feel free to tweak it and repport how much it changed your life ;) (Feature coded by Ilintar)
v0.3.96 - 06/07/2005
Updated for Starcraft and Broodwar 1.13- Converted for 1.13
- Replay anti-crash should work better and now realy fix the new replays.
- Replay autosave no longer auto-save games under 2 minutes
v0.3.95 - 05/06/2005
A bugfix version, no new features, but important bugs have been fixed:- when the corruption is detected the fix works but the message is wrong, it's sent to all players in the game instead of displayed only localy, and it can cause problems because it go over the maximum allowed size.
- an error message on some system when you close starcraft "ressource handle was obtained but never released"). It's not dangerous and easy fixed.
- if a message is too long, it might cause theoricaly some problem but i never encountered a case where it happened
v0.3.94 - 05/05/2005
like usual, a test version, many new features :- anticrash for "save game" crash
- anticrash for "repair + dropship" crash
- anticrash for the "sprite" crash (just a quick workaround, you will still be disconnected but your SC doesnt crash and you can save the replay)
- replay anti-corruption (not fully tested)
- Auto-replay saver: it automaticaly save all the replays of the game you have played, if you regret every game to have a fast apm in the "end game" screen where you clic too fast the exit button, you are going to like this :) All the code is from Lasgo, i just converted it to patch 1.12b
- editing the command line (left + right arrow move in the text)
- command line history (up or down arrow to change the line)
- download visibility: Ashur provided me the code to show the download % even at 0 or 100. I rewrote it to grey out the completed download at 100%. I know some cheat programs have it, but maybe now they are not alone.
- hide rally animation: an other patch from Ashur, it allow you to disable or enable the rally animation, if you like better the old behavior, see command list for an help about it).
- suspicious action detection: very useless code to try to imitate the behavior of "bwac"... If you dont know what it is, you shouldnt use it. It needs to be extremely carefull when using it, it's only there for people that were very used to the old Lasgo bwac, and that have a good knowledge about how the replay works, how the actions are managed, it's disabled by default... A big part of the code is from Lasgo.
- fixed a PenguinPlug bug that could crash the game after saving a replay with text if the text was empty, thanx to humm nobody ? ;) who reported this problem with enough specific detail for me to identify the case where it could do this crash.
v0.3.9 - 19/02/2005
Test version for the 1.12b SC patch- offsets converted to be 1.12 compatible (and reconverted for 1.12b :( )
- anticheat removed (no more usefull)
- allow commands to be typed even in single player mode (with the older versions, they only worked in multiplayer)
- new "\rwtexport" command, to save the replay comments to a .txt file
- added protection against the "hover incomplete" crash
- minor bugfix: unshifted hotkey not working on belgian keyboards (thanx rage-xg- for the bug repport)
- minor bugfix: "\rwtplay off" not working (thanx angel.white for repporting)
v0.3 - 08/12/2004
- The loader is no longer a commandline program, it means it wont show the dos box. So dont jump "it's not working, theres no dos box", it probably worked, check the penguin icon.
- new command: "\bwchart" open bwchart with the replay you are currently watching.
- new command: "\webpage", it will open penguinplug webpage
v0.2.9
- Windows 98 beta support. I removed all usages of NT only functions in the pluggin, so it should now work for 95/98, maybe ME (happy xmass win9x users). It's still a test version for those 0S. You have to run the launcher before SC if you are using one of those.
- New experimental command line system for configuration.
type "\help" for a list of PP commands
type "\command" to run this command or view the value
type "\command (something)" to change a value
For example :
Unshifted hotkey is now turrned on by default, type "\unshift on" to turn it on".
Most config variables are saved in PenguinPlug.ini in the sc folder, so you dont have to retype them everytime. The command line system havent been 100% tested and can bug/crash... I suggest you avoid to experiment new commands if you are in an important game, and please repport any crash with detailed info of how to reproduct it. - RWT integrity check: for replay that have been saved with PP v0.2.9 and higher, it will check if the text have been altered. - Integrity OK means the text is probably accurate - Integrity failed means the text have been altered or corrupted - no integrity data means it have been saved with an older version of PP or removed (then the text could have been changed) It's not totaly 100% a proof of autenticity but it surly prevent kids to edit the text by remplacing the chars with the notepad :) You can open the new version of the RWT with the old PP and the opposit (even if you are zerg - a small joke for Blizzard ;) It will just not show the integrity messages.
- "Text stop playing" fixed: there was a random 0.5% of chance at any line that the rest wasnt displayed. All old replay benefit of this bugfix. Thanx the_jem for the repport. Increasing text display lenght, i will make an option about it latter.
- Unshifted hotkeys: works for keys 6 and 8 now, thanx shiv for for repporting the bug.
- Changed the anti-cheat message to make it appear invisible.
However it will clear the screen of all displayed messages
for everyone and still beep.
You can now change the time of the auto-check with "/autocheck 8" for example, will check 8 minutes after the game start. Additionally, you can do the check at anytime with "/checknow" Please dont abuse it, if he is hacking, then just 1 time will work. however, if he need to pause the game to alt+tab & start his hack just after the check message, you can have a 2nd chance to get him :) - Fixed a bug where the text was saved in the incorrect replay if one replay was selected to be overwritten, and then cancel was pressed. Thanx killerpenguin for repporting.
- Fixed some tray icon display logic, it might solve some display bugs. Bug repported by Kobayashi, tell me if it works.
v0.2 - 28/11/2004
- first anti-hack code
- tray icon
- laucher can now run sc if not already loaded
- added untested code to try to make it work with win9x series
v0.1 - 20/11/2004
first "usable version", RWT + hotkeyfrsuperpenguin
s at poinsart dot com