What's this?

GProxy DLL is a reconnection plugin for Warcraft III. It reconnects you automatically whenever you are disconnected from a game. It is based on GProxy++ by Varlock and GProxy GUI by LadyGaga, made into an Warcraft III plugin with various bugfixes and optimizations by h3rmit.


How to install

Download MyMGN GProxy DLL v.0.08b


Note: GProxy DLL installs a new gateway in Warcraft III and sets it as the default gateway. To change the gateway, just click on the magnifier icon next to the Battle.net button. The default gateways are Europe, US East, US West and Asia. Below them you will see a new one, GProxy.


Battle.net servers

By default, GProxy DLL connects you to europe.battle.net. In order to connect to a different server, download and extract one of the following in your Warcraft III folder:

Since version 0.07, GProxy DLL also supports PvPGN servers:

Note: In order to connect to a PvPGN server, you need to use the appropriate loader provided by the PvPGN server. GProxy DLL does not replace the PvPGN loader.


Advantages


Features

Auto-Reconnect

GProxy reconnects you automatically to the game that you were disconnected from, as soon as your internet connection is restored, up to 5 minutes later.

Auto-spoofcheck

GProxy spoofchecks you automatically when you enter a game.

Game start notification

When your game starts, GProxy restores the window of Warcraft III, if it had previously been minimized.

Ignore whispers the easy way

Tired of getting annoying whispers? GProxy makes the squelch commands in Battle.net smarter, and adds shorthand aliases so that you can easily ignore anyone bothering you.

  • /i or /ignore

    Ignores the last player who has whispered to you.
    Also works by typing /s or /squelch

  • /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:
    /i L1

  • /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.
    Also works by typing /us or /unsquelch

  • /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:
    /ui L1


Technical stuff

Configuration

The following optional configuration directives are supported in gproxy.cfg:

  • log

    Enables GProxy logging. The value specifies the filename of the logfile. If it is empty, the logging is disabled.
    Default value: (empty)

  • bnet_hostname

    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

  • bnet_game_indicator

    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)

  • bot_port

    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 the 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 have 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 it is currently used only in games hosted by MyMGN.

Changelog

Version 0.08b, released on 27/04/2017

  • Repacked version 0.08 to fix some lag/spike issues on some systems

Version 0.08, released on 10/04/2017

  • Updated to work with WC3 Patch 1.28.0.7205 and possibly future patches
  • Kept backward compatibility with WC3 1.26.0.6401, 1.27.0.52240 and 1.27.1.7085

Version 0.07, released on 22/12/2016

  • Fixed some rare race conditions in the patching process
  • Improved the AuthInfo patching method
  • Added support for PvPGN servers
  • Added game start notification

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 1.27.0.52240 and possibly future patches
  • Kept backward compatibility with WC3 1.26.0.6401
  • 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

Download link

Download MyMGN GProxy DLL 0.08b from the following link:

Download MyMGN GProxy DLL v.0.08b


Support

For troubleshooting, bug reports, suggestions and discussion, please visit our forums:
MyMGN GProxy DLL discussion thread