Hellgate London Guide

hellgate103.jpg


Hellgate London is a hack-n-slash action RPG based in post apocalyptic London after the gates of hell opened up and releases demons upon the earth. Select from many gun weilding and melee classes and level up your stats and skills. Slay demons with all kinds of weapons such as swords, rifles, grenade launchers, flame throwers and rocket launchers that inflict elemental damage like fire and electricity.

hellgate101.jpg


Follow my step-by-step guide on installing, configuring and optimizing Hellgate London in Linux with PlayOnLinux.

Note: This guide applies to the retail version of Hellgate London. Other versions may require additional steps.

Tips & Specs:

To learn more about PlayOnLinux and Wine configuration, see the online manual: PlayOnLinux Explained

Mint 18.3 64-bit
PlayOnLinux: 4.2.12
Wine: 3.6

Wine Installation

Click Tools
Select "Manage Wine Versions"
wine01.png


Look for the Wine Version: 3.6
Select it
Click the arrow pointing to the right
wine02.png


Click Next

Downloading Wine
wine03.png


Extracting

Downloading Gecko
wine04.png


Installed
wine06.png


Wine 3.6 is installed and you can close this window

Copy Files to Desktop & Download Patch

Create a new folder on your Desktop
Open the DVD ROM in one window
Open the new folder in another window
Copy and paste everything in the DVD to the new folder
hellgate01.png


Go to: http://www.hellgateaus.info/files/Patch_NA_Europe_Germany_SP_1.2_1.18074.70.4256.exe
Save the 1.2 Patch on your Desktop

PlayOnLinux Setup

Run PlayOnLinux
Click Install
hellgate02.png


Click "Install a non-listed program"
hellgate03.png


Select "Install a program in a new virtual drive"
Click Next
hellgate04.png


Name the virtual drive: hellgatelondon
Click Next
hellgate05.png


Check all three options:
  • Use another version of Wine
  • Configure Wine
  • Install some libraries
Click Next
hellgate06.png


Select Wine: 3.6
Click Next
hellgate07.png


Select "32 bits windows installation"
Click Next
hellgate08.png


Wine Configuration

Applications Tab
Windows version: Windows 7
hellgate09.png


Graphics Tab
Check "Automatically capture the mouse in full-screen windows"
Click OK
hellgate10.png


PlayOnLinux Packages (DLLs, Libraries, Components)

Check the following:
  • POL_Install_corefonts
  • POL_Install_d3dx9
  • POL_Install_tahoma
Click Next
hellgate11.png


Note: All packages should automatically download and install

Installing Hellgate London

Select "Seelct another file"
Click Next
hellgate12.png


Click Browse

Select "Setup.exe" from the folder on your Desktop
Click Open
hellgate14.png


Click Next again...

Click "Standard Install"
hellgate16.png


Click Accept
hellgate17.png


Enter the KEY from game insert
Click OK
hellgate18.png


Click Finish
hellgate19.png


PlayOnLinux Shortcut

Select "hellgate_sp_dx9_x86.exe"
Click Next
hellgate20.png


Name the shortcut: Hellgate London
Click Next
hellgate21.png


Select "I don't want to make another shortcut"
Click Next
hellgate22.png


PlayOnLinux Configure

Select "Hellgate London"
Click Configure
hellgate23.png


General Tab
Wine version: 3.6
hellgate24.png


Note: Click the + to download other versions of Wine. Click the down-arrow to select other versions of Wine

Display Tab
Video memory size: Enter the amount of memory your video card/chip uses
hellgate25.png


Miscellaneous Tab
Click "Run a .exe file in this virtual drive"
hellgate26.png


Select "Patch_NA_Europe_Germany_SP_1.2_1.18074.70.4256.exe"
Click Open
hellgate27.png


Click Finish when the patch is done installing
hellgate28.png


Close Configure

Launching Hellgate London

Select "Hellgate London"
Click Run
hellgate29.png


Note: Click debug to see errors and bugs

Optimization

Click Options
hellgate30.png


Click Display icon
Adjust:
  • Resolution
  • Modes
  • Windowed
  • V-Sync
  • Triple Buffering
  • Engine Version
  • Shader Quality
  • Antialiasing
  • Shadow Detail
  • Dynamic Lights
  • Enhanced Weather
  • Model Detail
  • Model Viewing Distance
  • Texture Detail
  • Trilinear Filtering
  • Anisotropic Filtering
Click Accept
hellgate31.png


Conclusion:
Upon initial testing Hellgate London vanilla would crash when clicking Options. After installing the 1.2 patch it worked fine. Sometimes selecting resolution would be buggy, but it automatically adjusted to fit my Linux Desktop at 1920x1080 anyways. The game plays perfectly in all my tests and runs great on my GeForce GTX 1060.

Gameplay Video:

Screenshots:
hellgate81.jpg


hellgate82.jpg


hellgate98.jpg


hellgate97.jpg


hellgate84.jpg


hellgate90.jpg


hellgate91.jpg


hellgate93.jpg


hellgate94.jpg
 
Hey @booman any chance you could take this and try it with London 2038? London 2038 requires this original retail version with a multiplayer patch and a launcher of theirs.
I started trying to get it working last night but haven't succeeded yet.
 
In their discord channel I was able to find out that the Launcher is a .NET app. The launcher patches for the game to work with their private server. All he could remember is that it was .NET 4 something.
Here is the debugger stuff:
[10/11/20 09:42:36] - Running wine-5.18 Launcher.exe (Working directory : /home/graywolf/.PlayOnLinux/wineprefix/hellgatelondon/drive_c/HellgateLondon)
0088:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114
0024:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"Launcher.exe" cannot be loaded
0024:err:module:LdrInitializeThunk Importing dlls for L"C:\\HellgateLondon\\Launcher.exe" failed, status c0000135
 
Just to clarify. I followed this guide and can play single player just fine.
Then I started following their guide for their multiplayer using "Run a .exe file in this virtual drive" to install the patches and Launcher.
Had errors, then found out from their discord that the launcher was a .NET app and started installing versions of .NET from 3.5 on up.
And now I'm at the above posted error.
Here is their guide:
https://london2038.com/quickstart-guide/
 
Well now it looks like the launcher is launching. I don't see it come up on screen but I see it in taskmanager. It still ends up crashing.
I think it's hanging now because it can't get out to the URL's it needs to reach to download patches.
I'll post my current log.
 
[10/11/20 12:17:17] - Running wine-5.18 Launcher.exe (Working directory : /home/graywolf/.PlayOnLinux/wineprefix/hellgate/drive_c/Program Files/Hellgate London)
0084:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:heap:GetNumaHighestNodeNumber semi-stub: 0031FC58
0024:fixme:ntdll:EtwEventRegister ({e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 0200DFB8, 023FF570, 02407AB0) stub.
0024:fixme:ntdll:EtwEventRegister ({763fd754-7086-4dfe-95eb-c01a46faf4ca}, 0200DFB8, 023FF5C8, 023FF630) stub.
0024:fixme:ntdll:EtwEventRegister ({a669021c-c450-4609-a035-5af59af4df18}, 0200DFB8, 02406498, 02407AC0) stub.
0024:fixme:ntdll:EtwEventRegister ({cc2bcbba-16b6-4cf3-8990-d74c2e8af500}, 0200DFB8, 023FF500, 023FF548) stub.
0024:fixme:seh:WerRegisterRuntimeExceptionModule (L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll", 01DD0000) stub
00a4:err:eek:le:CoGetContextToken apartment not initialised
0024:fixme:path:parse_url failed to parse L"PresentationFramework"
0024:fixme:path:parse_url failed to parse L"WindowsBase"
0024:fixme:path:parse_url failed to parse L"System"
0024:fixme:path:parse_url failed to parse L"System.Configuration"
0024:fixme:path:parse_url failed to parse L"System.Xml"
0024:fixme:path:parse_url failed to parse L"System.Security"
0024:fixme:path:parse_url failed to parse L"System.Xaml"
0024:fixme:path:parse_url failed to parse L"Accessibility"
0024:fixme:path:parse_url failed to parse L"PresentationCore"
0024:fixme:path:parse_url failed to parse L"UIAutomationProvider"
0024:fixme:path:parse_url failed to parse L"UIAutomationTypes"
0024:fixme:path:parse_url failed to parse L"System.Windows.Input.Manipulations"
0024:fixme:path:parse_url failed to parse L"System.Deployment"
0024:fixme:path:parse_url failed to parse L"ReachFramework"
0024:fixme:path:parse_url failed to parse L"System.Core"
0024:fixme:path:parse_url failed to parse L"PresentationUI"
0024:fixme:path:parse_url failed to parse L"System.Printing"
0024:fixme:path:parse_url failed to parse L"WindowsBase"
0024:fixme:path:parse_url failed to parse L"System"
0024:fixme:path:parse_url failed to parse L"PresentationCore"
0024:fixme:path:parse_url failed to parse L"System.Xaml"
0024:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 06243C85, 0630F048, 06310AB0) stub.
0024:fixme:thread:QueryThreadCycleTime (FFFFFFFE,06472560): stub!
0024:fixme:path:parse_url failed to parse L"System.Runtime.Remoting"
0024:fixme:path:parse_url failed to parse L"System.Web"
0024:fixme:path:parse_url failed to parse L"System.Runtime.Serialization.Formatters.Soap"
0024:fixme:path:parse_url failed to parse L"System.DirectoryServices"
0024:fixme:nls:get_dummy_preferred_ui_language (0x8 0031EBE4 00000000 0031EBE0) returning a dummy value (current locale)
0024:fixme:nls:get_dummy_preferred_ui_language (0x8 0031EBE4 01D57B98 0031EBE0) returning a dummy value (current locale)
0024:fixme:nls:LCMapStringEx unsupported lparam 1d60730
0024:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 01BB0382, 00000000, 0031ED14) stub.
0024:fixme:nls:LCIDToLocaleName unsupported flags 8000000
0024:fixme:ntdll:EtwEventRegister ({8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 01BB03B2, 00000000, 028254F0) stub.
0024:fixme:path:parse_url failed to parse L"System.Windows.Forms"
0024:fixme:path:parse_url failed to parse L"System.Drawing"
0024:fixme:path:parse_url failed to parse L"System.Drawing"
0024:fixme:path:parse_url failed to parse L"PresentationFramework.classic"
0024:fixme:path:parse_url failed to parse L"System.Xml"
0024:fixme:path:parse_url failed to parse L"System.Data.SqlXml"
0024:fixme:msg:ChangeWindowMessageFilter c039 00000001
0024:fixme:dwmapi:DwmAttachMilContent (0001004E) stub
00ec:fixme:driver:GdiEntry13 stub
00ec:fixme:dwrite:dwritefactory_CreateMonitorRenderingParams (0x1): monitor setting ignored
00ec:fixme:d3d:wined3d_check_device_format_conversion output 0x1d86d20, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8X8_UNORM, dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
0024:fixme:ntdll:EtwRegisterTraceGuidsW (062464EE, 0631D118, {9d21d267-6211-4214-b7b0-e4d7733096ae}, 1, 0031DF08, (null), (null), 0631D120): stub
0024:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {9d21d267-6211-4214-b7b0-e4d7733096ae}
0024:fixme:path:parse_url failed to parse L"System.Xml.Linq"
0024:fixme:path:parse_url failed to parse L"System.Runtime.Serialization"
0024:fixme:path:parse_url failed to parse L"System.Numerics"
00f4:fixme:wmp:OleObject_QueryInterface (01DBC7D8)->({6d6cf803-1ec0-4c8d-b3ca-f18e27282074} 0900FE8C)
00f4:fixme:wmp:WMPSettings_put_enableErrorDialogs (01DBC7D8)->(0)
00f4:fixme:wmp:WMPSettings_put_invokeURLs (01DBC7D8)->(0)
0024:fixme:path:parse_url failed to parse L"System.Core"
0024:fixme:path:parse_url failed to parse L"System.ServiceModel"
0024:fixme:path:parse_url failed to parse L"System.ServiceModel.Internals"
0024:fixme:path:parse_url failed to parse L"System.Transactions"
0024:fixme:path:parse_url failed to parse L"System.ServiceProcess"
0024:fixme:path:parse_url failed to parse L"System.IdentityModel"
0024:fixme:path:parse_url failed to parse L"System.Net.Http"
0024:fixme:path:parse_url failed to parse L"System.Runtime.DurableInstancing"
0024:fixme:path:parse_url failed to parse L"SMDiagnostics"
0024:fixme:path:parse_url failed to parse L"System.Messaging"
0024:fixme:path:parse_url failed to parse L"System.Web.Services"
0024:fixme:path:parse_url failed to parse L"System.EnterpriseServices"
0024:fixme:path:parse_url failed to parse L"Microsoft.Transactions.Bridge"
0024:fixme:path:parse_url failed to parse L"System.Web.ApplicationServices"
0024:fixme:path:parse_url failed to parse L"System.IdentityModel.Selectors"
0024:fixme:path:parse_url failed to parse L"System.Configuration"
0024:fixme:ras:RasEnumConnectionsW (01DC9DB8,0031E4F8,0031E4FC),stub!
0024:fixme:ras:RasEnumConnectionsW RAS support is not implemented! Configure program to use LAN connection/winsock instead!
0024:err:winsock:WSAIoctl -> ?('', 12, 18) request failed with status 0x2733
0024:err:winsock:WSAIoctl -> ?('', 12, 18) request failed with status 0x2733
0024:fixme:ras:RasConnectionNotificationW (FFFFFFFF,00000278,0x00000003),stub!
0024:err:winsock:WSAIoctl -> ?('', 12, 18) request failed with status 0x2733
0024:err:winsock:WSAIoctl -> ?('', 12, 18) request failed with status 0x2733
0024:fixme:crypt:CertAddCertificateLinkToStore (0x1dcc548, 0x1dcc60c, 00000004, (nil)): semi-stub
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0031D9CC, 01DC9418, 0031D9D0, 0031D9C4
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0031D9CC, 01DC9418, 0031D9D0, 0031D9C4
0024:fixme:path:parse_url failed to parse L"SMDiagnostics"
0024:fixme:path:parse_url failed to parse L"System.ServiceModel.Internals"
0024:fixme:path:parse_url failed to parse L"System.Runtime.Serialization"
0024:fixme:win:RegisterPowerSettingNotification (0001005E,{02731015-4510-4526-99e6-e5a17ebd1aea},0): stub
0024:fixme:wtsapi:WTSRegisterSessionNotification Stub 00020056 0x00000000
0024:fixme:msg:ChangeWindowMessageFilterEx 00020056 c030 1 0031EDE8
0024:fixme:msg:ChangeWindowMessageFilterEx 00020056 111 1 0031EDE8
00ec:fixme:d3d:wined3d_check_device_format_conversion output 0x1d86d20, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8A8_UNORM, dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
0100:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.
0100:fixme:d3d:state_lastpixel Last Pixel Drawing Disabled, not handled yet
0024:fixme:path:parse_url failed to parse L"PresentationFramework-SystemXmlLinq"
0024:fixme:path:parse_url failed to parse L"PresentationFramework-SystemXml"
0024:fixme:dwrite:dwritetextanalyzer_AnalyzeNumberSubstitution (0xa9a77c8 0 11 0xa9a77f0): stub
0024:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
0024:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x00000401,00000000,0x0001,0x00000000,0031B13C,00000000): stub
0024:err:eventlog:ReportEventW L"Application: Launcher.exe\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message0024:fixme:advapi:DeregisterEventSource (CAFE4242) stub
 
Last edited by a moderator:
They provided a way I could manually patch and bypass the .NET launcher. Then when clicking Multiplayer and putting in my username and password as soon as I hit Enter it gives an error.
I think my WINE instance just isn't getting out to connect to their servers. Following is the error from debug after putting in my username and password.
 
00ec:fixme:ras:RasEnumConnectionsW (01A20F68,0F61ED08,0037FE34),stub!
00ec:fixme:ras:RasEnumConnectionsW RAS support is not implemented! Configure program to use LAN connection/winsock instead!
00c0:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
00c0:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
00ec:fixme:ras:RasEnumEntriesW (00000000,(null),120FA5A0,0F61F538,120EA7F4),stub!
00ec:err:secur32:schan_AcquireClientCredentials Could not find matching protocol
00ec:fixme:crypt:CRYPT_RegControl CERT_STORE_CTRL_AUTO_RESYNC: stub
00ec:fixme:crypt:CRYPT_RegControl CERT_STORE_CTRL_AUTO_RESYNC: stub
GnuTLS error: No or insufficient priorities were set.
 
Wow, you really have been "at it" with this mod!
Great job sticking with it and testing things.

I've had problems with launchers in the past, specially Dot NET Framework required launchers.

I think you are on the right-track, but it will be difficult to get support from developer or modders who don't use Linux or Wine.

Have you looked up that error: svcctl_EnumServicesStatusExW resume handle not supported

There is definitely a dotnet related problem with this error too:
ReportEventW L"Application: Launcher.exe\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message0024:fixme:advapi:DeregisterEventSource (CAFE4242) stub

Sometimes Wine just doesn't work with ever version of dotnet. Have you tried changing the version of Windows?

You can also try using ProtonGE (Glorious Egg Roll) version of Proton as well.
 
Update:
  • Installed and patched successfully.
  • Can log into London2038 server for multiplayer.
  • Can run around the world, go through portals, interact with NPC's and merchants and use storage.
  • Can take damage by monsters.
  • Can NOT attack monsters. Game kicks me to menu saying "Network Error" This is only multiplayer, singleplayer works fine.
  • Same issue as discussed in these posts. Possible RPC call error?
https://forum.london2038.com/t/network-error-when-attaking-mobs/386/3
https://forum.london2038.com/t/2038-under-wine-linux/287/13?u=schummelbaron
http://www.hellgateaus.info/forum/s...PHPSESSID=l3s18tpuug0bulegn3viuqtda3#msg56588

Steps to install:
1. Follow this guide for initial install.
2. Follow this guide to add London2038 multiplayer. https://london2038.com/installation-guide/
Up until it says to use the Launcher. Instead open a terminal in the games root directory and run this to patch the game.​
Code:
curl https://auth.london2038.com/patcher/checksums.xml | tr '\\' '/' |grep 'download="true"' | cut -d'"' -f 2 | while read i; do wget -O $i https://auth.london2038.com/patcher/$i ; done
3. Browse to create a shortcut to London2038_dx9_x86.exe in Hellgate London/MP_x86/
Any ideas @booman ?
 
Wow, what a mess. That one post about ping increasing when switching weapons or shooting an enemy sounds like a bug. But the developers will say its a "Wine" bug.... which could be right.
Was this mod abandoned? It shows "in alpha" but was started in 2009
https://london2038.com/

I honestly think you are doing everything just right. I've always had issues with game launchers that automatically update/patch the game.

The only thing I can think of is try:
  • Re-installing the game in a new prefix
  • Mess with the video settings: set everything on low
  • Install DXVK which included DirectX 9 support and DirectX 10/11 support
I've never heard of game actions like shooting mess with the PING timing. Normally it will affect frame rate in-game. But Ping is kinda strange. It like the game is suddenly really chatty over the internet when you shoot. This kinda makes sense because anything you do in a multi-player game needs to be duplicated on everyone else's game. So the network performance is critical.
 
Yeah I gave up on the launcher for patching. I can just do it with that terminal command.
As far as being kicked when I attack. The only thing left I can try is with DXVK. I've tried the graphics settings and 3 fresh wine prefix. Even a complete fresh install of my computer at home, lol.
It isn't abandoned. On the 31st it's actually going from alpha to beta.
If DXVK doesn't help I'll just have to right it off for multiplayer. I can still run around and have fun singleplayer.
 
Yeah, who knows if DXVK will work or not. We don't know if this is a graphics problem, dependency problem or a coding problem.

Unfortunately its difficult to ask Mod developers to troubleshoot Wine because they don't even support it. They aren't being paid for their mod, so its definitely low priority. Your only hope is that they see Windows 7 users with a similar problem.

In fact, you could try changing from Windows 7 to Windows 10 in the Wine Configuration. You never know???

Otherwise, yeah... I've had to give up on a few games because multi-player stopped working in Wine:
  • Goldeneye: Source
  • MX vs ATV
  • Tony Hawk Pro Skater 3
 
Back
Top