I managed to finally get MW:LL running and playable in Wine on GNU/Linux
- Dedicated clean win64 prefix
- "winetricks dxvk" to get graphics going
- Installing wine-mono with msi file from https://dl.winehq.org/wine/wine-mono/ for C#-powered launcher: it appears to be impossible to install Microsoft's dotnet48 in x64 prefix via winetricks, install hangs
- Critically important: copying original "micross.ttf" file to drive_c/windows/Fonts, containing MS Sans Serif font. This file is not available via winetricks! md5sum of needed file is
It appears that some C# stuff hardcodes "MS Sans Serif" as required font. If you skip this, launcher will never run, showing you generic error about something going wrong and dropping helpful yet obscure C# stacktrace into log file in Documents/My Games/Crysis Wars/MWLL/Launcher directory. Stacktrace will be a bit different but similar on Microsoft's .NET or wine-mono.
I figured out how to run game without launcher (with no functioning multiplayer) before managing to get launcher itself running!
Problems I hope to find help for
Solved! My ISP was blocking IRC client access! Make your own computer reject connection properly to prevent game server list freezing you! There's massive problem I experience: whenever I click "INTERNET GAME" button, game goes to server list screen and HANGS for couple of minutes. However, it will successfully load server list once mandatory couple of minutes pass. Once I loaded server list at least once, game apparently is in logged in state, indicated by "ACCOUNT INFO" button in main menu (which is absent upon launch of game even if you did play multiplayer in past).
Logged in state is incredibly important to me. Unless you log in, "connect" console command will not function. Otherwise I'd simply never touch cursed INTERNET GAME server list and just "connect 22.214.171.124:64180" or similar. I was able to confirm no Internet traffic being generated by usage of "connect" command without login via usage of packet sniffer. It merely produces "connection requested to: 126.96.36.199:64180" and "resolved as: 188.8.131.52:64180" while silently cancelling attempt and never producing activity in net_channelstats thing.
INTERNET GAME server list will hang up for couple of minutes every single time you access it. Including during game as you press Esc and try to display that interface again! It does not seem to be caused by login process, as login data exchange ("\lc\1\challenge... - \login\challenge..." TCP chatter) with 184.108.40.206:29900 (aka gs.clanjadewolf.net:29900) is performed only for first time I open server list after game startup. Game hanging up this way will not consume entire CPU core, only some fraction.
When you already on screen showing servers, "UPDATE SERVER LIST" button causes nothing abnormal, only normal server list refresh. It seems to be specifically INTERNET GAME UI opening up triggering freeze-for-good-few-minutes bug. Notably enough, LAN server list is not affected by this nasty bug! Only INTERNET GAME counterpart will freeze game.
I see two ways I could tackle this problem:
- Fixing INTERNET GAME server list freezing game. I have no expertise to find what's gone wrong with game as I try to load cursed list and would appreciate help here.
- Avoiding INTERNET GAME button at all costs and triggering login process via some other way. I was not able to find any commands triggering logged in state with ACCOUNT INFO button becoming visible or associated traffic showing up. If you know way to trigger login without tripping INTERNET GAME server list freeze, tell!
Other, somewhat minor in comparison problems:
- Game will lock up after a while, with probability rising depending on amount of action in game and time it was running. I try to mitigate this by using best performance user.cfg preset linked from wiki and by restarting game before playing round (if I restart right at end of previous round, I do miss some earlygame thanks to server list freeze bug). I am yet to take a look at what exactly stalled process looks like, but I do not expect it to be hitting any hardware limits, be that free RAM or video memory.
- Solaris Arena will lock me up me extremely quickly, usually as something is blowing up, not necessarily own mech. Screenshot of game: https://u.teknik.io/pWyMm.png (3.7 MiB file). Image shows me blowing up Solitaire B with heat. The only player is me, the only mech ever built is this Solitaire, I barely spent any time on server. Game was freshly restarted. Maybe fixing this will also fix after-a-while crash normally mitigated by restarts between rounds. Crysis.exe will eat entire CPU core but without change to memory usage.
- Game does not seem to quit cleanly, forcing me to "killall Crysis.exe". It just freezes up should I use quit button or "quit" console command. CPU usage of Crysis.exe will go idle.