These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Issues, Workarounds & Localization

 
  • Topic is locked indefinitely.
 

[Resolved] How to circumvent the launcher for custom port and ip proxying

Author
Accipitradea
Caldari Provisions
Caldari State
#1 - 2012-03-13 18:02:56 UTC  |  Edited by: Accipitradea
I'm a locked down network, so I have to use a custom port and ip to connect to my own jump box which then proxies the connection to Tranquility on the correct port. It's not ssh tunneling, hence the custom port requirement. I've been doing it this way for years, up until today's patch introduced the launcher.

Ah, the launcher. An interesting piece of software that acts as the gatekeeper to the actual game client. Because of it's over-protectiveness for config files, it will fail to launch the client if you modify any of the connection settings in the start.ini file, such as the port or ip address. Ugh The way in which it fails is a tad unusual as well, as if you specify a custom port only, the Launcher will load over port 80 and then refuse to launch the client when you hit Play because the start.ini file has been modified and fails the checksum verification. However, if you modify start.ini and specify a server ip (or use the /server flag), the Launcher tries to connect to that ip address before launching itself, so it fails trying to connect to that ip address on the default port; ignoring the custom port that's also specified that would work. So by connecting on the default port and custom ip, the connection fails and the launcher fails to start, never getting to the checksum verification and in fact using values from a file that the checksum will fail on later.

I have tcpdumps that show this behavior, and it's 100% reproducible. As someone who troubleshoots networks for a living, this is what I do and would love to talk shop with someone who can tell me why the start.ini is checksummed or where I can specify a custom port that the launcher will actually respect.

I've filed a petition and GM Haggis assures me it's being escalated, but I figure I'd post here too for anyone trying to configure custom ports and ips for proxying.
Accipitradea
Caldari Provisions
Caldari State
#2 - 2012-03-14 14:53:13 UTC  |  Edited by: Accipitradea
Thanks to some work by other intrepid capsuleers on this forum, we've figured out how to bypass the launcher entirely and launch the game using the /server:$customip flags for the client while respecting the port value set in the prefs.ini

Here's the deal

1. Use the launcher to patch, or figure out how to patch manually again. Since it looks like the launcher uses port 80, I didn't have to do anything fancy for this, http is allowed in my network. A CCP rep posted some of the manual patches elsewhere in this forum if you need to look for them

2. Set the custom port in the prefs.ini like always. C:/Users/$username/AppData/Local/CCP/EVE/c_program_files_(x86)_ccp_eve_$customip/prefs.ini (my Windows 7 location)
If this directory doesn't exist yet, go to step 3, connect on the right ip but wrong port, then come back and change the port in prefs.ini once the directory has been created with the custom ip in the name

3. In the EVE directory, go to /bin and create a shortcut for 'ExeFile.exe'. Right-click the shortcut and edit the properties. Add the '/server:$customip' flag per usual. Move it to somewhere convenient; it's what you'll be using to launch the client itself.

4. Using the shortcut created in step 3, launch the EVE client itself directly, without needing the Launcher at all. Without the Launcher in the way, the client can use the custom ip flag in the shortcut (/server:$customip) and use the custom port specified in prefs.ini. It no longer matters that the Launcher can't be properly configured to use a custom port and ip, we're bypassing it entirely to launch the client. All the Launcher has to worry about is patching.

Edit: If you're not familiar with the syntax, any time I use a '$' character, that represents a variable you should replace. So '/server:$customip' for most ssh tunnellers will be '/server:127.0.0.1' and '$username' is your Windows user account name.