PDA

View Full Version : Neocron Evolution Launcher 2.3 and Linux / Wine



eNTi
04-03-19, 20:35
Hi,

I've been getting THE ITCH again. Since I'm only using Linux for years now and had Neocron running perfectly on wine for most of the time I was wandering if there is any chance we can get this launcher to play nicely with wine?

I'd be willing to test and do proper bug reports if that would help? As it stands the launcher doesn't even start at the moment.

I"ve been over the techhaven wiki for 2.2 several times over... and all other sites seems even more outdated. Since you've got full control and the launcher also seems to be written in .net 4.7.1 it should be too hard to get this sorted?

Currently the Launcher Crashes with the following:


WINEARCH=win32 WINEPREFIX=/opt/games/wine/.wine_neocron_1 wine NeocronLauncher.exe
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
000b:err:wineboot:ProcessRunKeys Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (2)
0030:err:ole:CoGetContextToken apartment not initialised
0009:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer"
0009:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
0009:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
0009:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
0009:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733

Backtrace:
12816

LiL T
26-03-19, 01:16
Hi I'm giving this a try also, currently I'm getting this error.


The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

I followed this most current guide

https://appdb.winehq.org/objectManager.php?sClass=version&iId=33322

Which mentions to uncheck Run DirectX Install" , "Run C++2010SP1 Runtime Install" and "Run C++2013 Runtime Install" options when installing the launcher. Now I'm going to try this guide on reddit to get dotnet 4.71 installed correctly in my wine prefix

https://www.reddit.com/r/wine_gaming/comments/8r6low/guide_how_to_install_net_45_on_64bit_prefixes

I Will report back with results, I'm not counting on it working but we can hope, if this fails I'm afraid I'll have to install 'NSA 10' :lol: on a second drive and I'm not sure it likes being installed on anything other than drive 0...

There is also this I've been reading

https://www.reddit.com/r/wine_gaming/comments/8wwpli/having_a_lot_of_trouble_getting_an_old_game_to_run

Humm it seems someone has a patched version of winetricks on git, I might have a look into getting that installed also.

It might be possible to install neocron on windows, then copy the game folder to linux and get it working that way, but if the launcher is necessary, then probably not...

Edit

It didn't work I get the same error, I will try again another day.

LiL T
26-03-19, 03:08
So Since I want to play I have attempted to install windows 10 on a second hard disk, of course it won't let me because its not drive 0, so after moving drive physical connections around inside the PC case, said drive is now drive 0 (linux won't mind) but...


cannot create new partition or locate existing one

or something along those lines, my god microsoft are so god damn retarded! Every time I touch windows it enrages me, honestly why cannot software developers just ditch this shoddy piece of spyware OS... It won't install because some other OS is present on the system, wtf retarded shit is this?

LiL T
28-03-19, 05:27
I've not tried it in linux yet but Xanthos Stated that once installed through the launcher the game can be run using the neocronclient.exe in the game folder, which is how I'm running the game in windows. So you could copy the game folder over to your wine prefix directory from a virtual machine or windows install. Then install the nessary winetricks and run neocronclient.exe from a terminal and I think this may work with some experimentation, I actually don't see why it wouldn't.

https://forum.neocron-game.com/showthread.php?157375-Launcher-New-Launcher&p=2240972&viewfull=1#post2240972

I think I will do this later and perhaps update the winehq page with instructions to getting it to work, more players would be nice

LiL T
31-03-19, 23:45
Today I copied my neocron folder over to my linux install, I moved into one of my random neocron wine prefixes just to try running it. Game was started from the terminal as per usual $ wine neocronclient.exe the game loaded as normal but crashed before it could completely load, I will assume its just a dodgy wine prefix, I will try again tomorrow and from what I saw it looks very likely it will work with the correct winetricks. But game will have to be downloaded and patched using either a windows install or virtual machine with windows, but I think it can be done yes.

edit:


[ganna@aura Neocron Evolution 2.3]$ wine neocronclient.exe
0009:fixme:heap:RtlCompactHeap (0x970000, 0x0) stub
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x327894,0x00000000), stub!
0009:fixme:msvcrt:__clean_type_info_names_internal (0x2071098) stub
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x327c44,0x00000000), stub!
0009:fixme:d3dx:D3DXCreateVolumeTextureFromFileInMemoryEx Generation of mipmaps for volume textures is not implemented yet.
0009:fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
002a:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.
002a:fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #3:
002a:fixme:d3d_shader:print_glsl_info_log Vertex info
002a:fixme:d3d_shader:print_glsl_info_log -----------
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[2]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[3]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[4]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[5]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[6]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[7]" might be used before being initialized
002a:fixme:d3d_shader:print_glsl_info_log 0(22) : warning C7050: "vs_out[11].yzw" might be used before being initialized
0009:fixme:d3dx:D3DXLoadSurfaceFromMemory Unsupported format conversion 0x35545844 -> 0x33545844.
0009:fixme:msvcrt:__clean_type_info_names_internal (0x2071098) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x2b478c0) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x2b2e888) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x2b13614) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x10456a4) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0xf4c928) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0xf0525c) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0xe98b10) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x621304) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x3cb47c) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x3b87ec) stub
0009:fixme:msvcrt:__clean_type_info_names_internal (0x104aa1c4) stub
[ganna@aura Neocron Evolution 2.3]$



Goes past the fast green splash screens and starts the darker loading screen then crashed with that as its output, probably forgot to install dx9 in this prefix, infact i'll quickly copy into the first prefix i made and test it before i goto bed.

LiL T
31-03-19, 23:55
nope exact same stream of messages, I will have to create a fresh wine prefix tomorrow using all the suggested things and try again, if the same results then I will google the messages in the output to see if I can figure it out.

edit:

neocron is using directx 9 still or?

eNTi
01-04-19, 23:08
nope exact same stream of messages, I will have to create a fresh wine prefix tomorrow using all the suggested things and try again, if the same results then I will google the messages in the output to see if I can figure it out.

edit:

neocron is using directx 9 still or?
yes it does... dx9vk will be interesting with this one. i don't have windows and one also needs the launcher to update the game, no? it shouldn't be that hard to get ncla.exe working, since it already is a .net executable. maybe with some help of the devs we could manage to make it more wine friendly? please devs?

eNTi
06-04-19, 23:55
I've made some progress and can now use the launcher. I've written a winetricks script, that installs everything that's required. Not sure if it works with LESS. More tests are needed:

neocron_winetricks.sh:


#!/bin/bash
WINEARCH=win32 WINEPREFIX=/opt/games/wine/.wine_neocron_1 winetricks -q dotnet472 corefonts vcrun2013 wininet wmp9 xact d3dx9_36 d3dcompiler_43 d3dcompiler_47 quicktime72 quicktime76 quartz faudio usp10 ie8

I had to set the game to use a virtual desktop to make it start without a crash. I can play now!

LiL T
13-04-19, 09:28
I've made some progress and can now use the launcher. I've written a winetricks script, that installs everything that's required. Not sure if it works with LESS. More tests are needed:

neocron_winetricks.sh:


#!/bin/bash
WINEARCH=win32 WINEPREFIX=/opt/games/wine/.wine_neocron_1 winetricks -q dotnet472 corefonts vcrun2013 wininet wmp9 xact d3dx9_36 d3dcompiler_43 d3dcompiler_47 quicktime72 quicktime76 quartz faudio usp10 ie8

I had to set the game to use a virtual desktop to make it start without a crash. I can play now!

I still cannot run the launcher.


The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

I have both wine-mono and mono installed on my system, I'm running arch. Ok the client works without crashing if I run it directly, however I still need to download the patches and without the launcher, no can do... Anyway I'm distro hopping back to gentoo to get away from systemd because seriously https://suckless.org/sucks/systemd/ and i'm willing to bet it will work in gentoo because everything just does ^_^

Thanks for figuring this out, I killed my windows install again because I really do hate it, it needs to die...

eNTi
13-04-19, 12:58
getting the launcher to run is a bit tricky... i'm currently trying to recreate my setup beause i tried out a 64 bit prefix since neocron keeps crashing randomly with an out of memory error. i thought maybe 64 bit might fix it... but well... lots of libs are not even working or can be installed in a 64 bit prefix. my launcher works but the game crashes at the moment. i'm already trying d9vk ... which of course isn't helping at the moment.

i will post another script as soon as i've narrowed down the required libs... again.

i'm running artix which is a small arch fork without systemd. either running openrc or runit.

LiL T
13-04-19, 14:38
neocron keeps crashing randomly with an out of memory error.

This might make no difference but check that your user is in the audio group, You can also create a swapfile in arch linux, something I never bother with myself is a swap partition as I have enough ram and a swapfile instead is more convenient if I ever need it. I have no idea if wine would use the swap file or how one would get that working tbh.

I think the faudio version that is included in wine is also outdated, I had to install the lastest version from https://github.com/Kron4ek/FAudio-Builds to even get a game called space engineers to work, its easy enough to install with the instructions on the github.


i'm running artix which is a small arch fork without systemd. either running openrc or runit.

I was looking at that distro yesterday, seems like it could be an option for me but I fear it will result in the same issues so I want to try another distro and then if it works learn why. Its just a horrible wait of a typical 12 - 18 hours to build and install everything from scratch and a lot of electricity use >.<

DayWalker
12-06-19, 22:52
First, sry for my bad english.
I tested many distributions and versions to get Nc to run.

Following guide works for me on different computers.

1. Install Debian (i prefer mate desktop)
2. Use unstable version (sid) [this is important!]
3. Update, Upgrade, Clean ...
4. If possible, install driver and other software you like
5. enable i386 architecture in dpkg
6. Update...
7. Install wine, wine32 (normaly wine contains wine32)
8. set WINEARCH to win32
9. choose a WINEPREFIX you like (.wine32_nc)
10. Install winetricks
11. winecfg -> Win7 and set resolution to your desktopresolution
12. Use winetricks to install: winetricks -q dotnet472 corefonts vcrun2013 wininet wmp9 xact d3dx9_36 d3dcompiler_43 d3dcompiler_47 quicktime72 quicktime76 quartz faudio usp10 ie8
13. winecfg again and set windows again to Win7
14. wine Download/neocronlauncherinstallwhatever.exe
15. wine .wine32_nc/path/to/neocronlauncher.exe
16. Install NC via Launcher, Play, be happy ... :)

I could make a more detailed guide if needed.

SoLoNg
Meca

LiL T
07-08-19, 02:32
I got neocron to work using arch linux, though the launcher still does not work, so you will need to either use windows to update or a virtual machine, then copy the contents of the game directory to your wineprefix directory
for example

$ cp -a /gamedirectory ~/.neocron/drive_c/Program\ Files/Games/

And ensure the files are owned by your normal user and have write permissions, mine did not since I copied from a windows partition, a simple fix would be as root enter into terminal

chmod +rw ~/.neocron/drive_c/Program\ Files/Games/ -r
chown YOURUSER:YOURUSER ~/.neocron/drive_c/Program\ Files/Games/ -r

How to install wine and get neocron working

Open a terminal and switch to root

su

install vim if you don't have it installed

pacman -S vim

Open up your pacman.conf file and edit to enable multilib repository for 32 bit packages

vim /etc/pacman.conf

uncomment these lines see tip below on how to use vim if you don't know how

[multilib]
Include = /etc/pacman.d/mirrorlist

tip: press i to enter insert mode in vim, use cursor keys to navigate and remove the #'s before the above lines, careful not to screw up this file or you risk temporarily bricking your system! Once finished press ESC key to exit insert mode, then hold SHIFT and colon : and then enter wq then press Enter to save the file and exit vim.

Update your system

pacman -Syu

Install wine-staging including your opengl 32bit graphics drivers, plus some additional packages needed by most windows program
https://wiki.archlinux.org/index.php/Xorg#Driver_installation
I will use nvidia driver in below example 'lib32-nvidia-utils' be sure to install the appropriate driver for your graphics hardware


pacman -S wine-staging winetricks lib32-nvidia-utils lib32-alsa-lib lib32-alsa-plugins lib32-libpulse pulseaudio lib32-libxml2 lib32-mpg123 lib32-lcms2 lib32-libpng lib32-giflib lib32-gnutls

Some of the above might not be needed but neocron definately needs lib32-mpg123 and lib32-libpulse because wine was looking for those when i first tested it, though that was using normal wine and not wine-staging, its worth installing all that stuff just to be sure, it won't hurt.

Restart systemd-binfmt as mentioned after installing wine-staging

systemctl restart systemd-binfmt

Return to normal user, cd to home directory and create a directory for your wineprefix

exit
cd
mkdir .neocron

Setup the wine prefix

WINEARCH=win32 WINEPREFIX=~/.neocron wineboot -u

Run winecfg and change to windows 7, click the graphic Tab and check the box where it says emulate desktop and enter your screen resolution. You can find that out by entering the command xrandr which will output the various modes your display can use, look for the one with an asterix *
xrandr

[root@xxxxxx xxxxx]# xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 700mm x 390mm
1280x720 60.00 + 59.94 50.00
1920x1080 60.00* 59.94 50.00 29.97 25.00 23.98 60.05 60.00 50.04
1280x1024 60.02
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)



WINEARCH=win32 WINEPREFIX=~/.neocron winecfg

After this is done run the command eNTi provided above without the -q option for some reason it did not work with the quiet option
Accept the microsoft agreements and always click restart system later, yes this all takes some time...

WINEARCH=win32 WINEPREFIX=~/.neocron winetricks dotnet472 corefonts vcrun2013 wininet wmp9 xact d3dx9_36 d3dcompiler_43 d3dcompiler_47 quicktime72 quicktime76 quartz faudio usp10 ie8

I had to manually addionally run seperately for it to download the directx package for some reason... Though that was without wine-staging.

WINEARCH=win32 WINEPREFIX=~/.neocron winetricks d3dx9_36

That should be it, to run the game client just issue this command from the terminal as normal user, obviously change the directory to where you installed it.

wine ~/.neocron/drive_c/Program\ Files/Games/neocron/Neocron\ Evolution\ 2.3/neocronclient.exe

Phew... I hope I did not miss anything or mistype anything, if something is wrong or something does not work let me know and I will check it. The game actually seems to run better, zone syncs seem much faster, I don't have a swap partition so everything runs in the ram, so perhaps that is why, I have 16GB installed on my system.

Well enjoy the game while using linux ;-)