Seeing that some more information about GProxy could be useful, I have just written some more detailed information in the official GProxy DLL page, and I will explain some things here as well.
GProxy DLL has been around for 1.5 year and it has been tested by hundreds of players in our bots.
Public announcement of the first version, released on 31-03-2015:
Public announcement of the first version compatible with WC3 1.27a, released on 28-05-2016:
- Works over Battle.net, does not require cd-keys.
- Works as a Warcraft III auto-loading plugin, no need to run a separate program.
- Single file, very small size, no external dependencies, easy to install.
- Supports both Warcraft III patches 22.214.171.12401 and 126.96.36.199240, and probably future versions.
- Supports both Varlock's GProxy protocol and h3rmit's GProxy Extended protocol for bots that support it.
- Provides auto-spoofcheck and easy-to-use ignore commands.
GProxy DLL offers the following commands in Battle.net:
- /i or /ignore
Ignores the last player who has whispered to you.
- /i partial_name
Ignores a player who has whispered you and has a name containing the text you entered.
E.g.: If a player with a long or hard to read name like I1lL1lll1I1I1II has whispered you, you can ignore them by just typing:
- /ui or /unignore
Unignores the last player you have ignored.
You can repeat the command to unignore the previous player you have ignored, and then the one before that, etc.
- /ui partial_name
Unignores a player you had previously ignored and his name contains the text you entered.
E.g.: If you had previously ignored a player I1lL1lll1I1I1II, you can unignore them by typing:
The following optional configuration directives are supported in gproxy.cfg:
Enables GProxy logging. The value specifies the filename of the logfile. If it is empty, the logging is disabled.
Default value: (empty)
Specifies the Battle.net server that GProxy connects to. Can be europe.battle.net, useast.battle.net, uswest.battle.net, asia.battle.net or any other unofficial PvPGN server.
Default value: europe.battle.net
Prefix added to the game names that support reconnect via GProxy. The prefix is both shown in the custom game list and the Lobby.
Default value: (empty)
The port at which GProxy listens for Warcraft III game connections. The port is used only for internal purposes (proxying) and does not need port forwarding.
Default value: 6125
A few things about GProxy Extended Protocol
Varlock's original GProxy worked by sending empty actions between each real in-game action (for more information, read his original post). This has the following drawbacks:
- Increased bandwidth usage and lag for non-GProxy players.
- The reconnection time is limited.
- When a player disconnects, the game stops and everyone has to wait for him.
I've studied Warcraft III extensively, and I found out I can just dump the empty actions and still keep Warcraft III alive. GProxy DLL patches the timeout interval of Warcraft from 60 seconds to any desirable value requested by the GHost++ bot.
Using the new GProxy Extended protocol:
- The reconnection feature no longer causes extra delays for any player.
- The reconnection time is unlimited, and can be configured in GHost++.
- When a player disconnects, all the other players can continue playing while waiting for him to reconnect, just like LoL or Dota2. Of course, they can always pause the game manually, if it is deemed necessary.
- GProxy DLL disables the "Disconnect" button in the "Waiting for Host" window, so that players no longer leave the game accidentally while trying to reconnect. Of course, if the bot rejects the reconnection, the time limit is reached or the reconnection is impossible, the button is re-enabled.
The GProxy Extended protocol requires server-side implementation in GHost++, and is currently supported only in games hosted by MyMGN.
GProxy DLL Changelog
Version 0.06, released on 31/05/2016
- Fixed some very rare bugs in the patching process
- Added a better detection and patching method for the "Disconnect" button in the "Waiting for host" window
Version 0.05, released on 28/05/2016
- Updated to work with WC3 Patch 188.8.131.52240 and possibly future patches
- Kept backward compatibility with WC3 184.108.40.20601
- Rewritten the patching process.
- Removed all the ported W3L code, as it is no longer needed
- Fixed a bug in SetupGateways that was would not read the existing gateways correctly
- Completed the RECEIVE_SID_AUTH_INFO message in CBNETProtocol
Version 0.04, released on 18/01/2016
- Added the ability to squelch a user using a partial match on the list of users that have previously whispered to us
- Added shorthand aliases for the commands /squelch, /ignore, /unsquelch, /unignore (/s, /i, /us, /ui)
- Now squelch/ignore without parameters squelch the last user that has whispered to us
- Now unsquelch/unignore without parameters unsquelch the last user we have squelched
Version 0.03, released on 14/04/2015
- Fixed a bug that would randomly bring up the "Waiting for host" window.
- Patches made to Warcraft III are now reverted when a reconnection request is rejected.
Version 0.02, released on 08/04/2015
- Included and re-written the whole W3L code in C++. No more external dependencies to w3lh.dll.
- Introduced GProxy Extended protocol.
- GProxy can now keep Warcraft III alive without sending empty actions. It patches the "Waiting for host" algorithm instead.
- GProxy now patches the Disconnect button of the "Waiting for host" window, so that the player cannot disconnect voluntarily.
- Reduced the sockets blocking time from 40ms to 10ms.
- Added logging for updates that take more than 50ms to complete.
- GProxy now tries to set its thread priority and Warcraft III's priority to above normal.
- Implemented automatic spoof-check when the player joins a game.
Version 0.01, released on 31/03/2015
- Initial commit of GProxy++ DLL edition, version 0.01
- Based on GProxy GUI by LadyGaga, works over Battle.net
- Re-written the program as an auto-loading plug-in DLL for Warcraft III
- Removed all dependencies to MS Visual Studio, the project can now be compiled with GCC for Windows
- Re-written the gateway setup procedure
- Fixed a bug disconnecting the player from Battle.net when trying to join a non-existent game
- Fixed a bug causing the player to stuck when trying to join a full lobby
- Written a much better injection method for w3lh.dll
- Added support for the W3GS_REJECTJOIN message
HazarDous wrote:Afaik developer is russian, and that might be why we had not heard of him before.
I'm Greek, not Russian.