Howto: Run the Freelancer game (SP, MP) and also the SERVER including FLHook on LINUX with Wine
-
So I did another test (which I wanted to do for some time now) and finally got the Freelancer server including FLHook to work over network. I could connect from my Windows system to the Ubuntu system running in a vm. So far everything works (fingers crossed).
Using:
-
Ubuntu 16.04 LTS fully updated
-
Wine-Devel 1.9.14 installed via https://wiki.winehq.org/Ubuntu (but that is up to you)
-
Latest winetricks installed like described here: https://wiki.winehq.org/Winetricks#Getting_winetricks (should be release 20160709 I guess)
-
run sh winetricks and install everything Wine asks (Mono and Gecko).
-
Install only vcrun6sp6, riched30 and directplay
-
If you use FLHook it might help to install the corresponding runtimes it was compiled with (e.g. vcrun2013)
For the server:
- run wine FLServer.exe
For the game: - run wine Freelancer.exe
According to the posts below this also works with Debian Jessie.
If you have FLHook build with newer VS versions (e.g. 2015) you need to install the runtime.I will update this post from time to time when new results get posted in this topic.
P.S.: You need to right click on the image and select “View Image” or similar to see it completely.
Edit: Updated with winetricks riched30, because otherwise the server will crash on shutdown on current wine.
-
-
You guy rocks !
I will test it on Debian.
Does it means that MP works on the game too ? Because directplay seems to run fine.
-
Unfortunately I could not start Freelancer in the vm. But I had it running some time ago on a real installation. Only MP did not work. But since the server works now, MP should work, too :).
-
I tested running FLserver on Debian Jessie 8.5
Following this for winehq on Debian https://wiki.winehq.org/Debian
I did exactly what you said and no more. FreeLancer installed.
Given a try to execute flserver.exe. First time it failed because it was stuck on “LOADING”. So I installed the 1.1 patch. Execute the server again and it worked !
After that I wanted to give a try with my mod wich using FLhook 2.0.0. Worked too.
I given a try on the game side to connect on my modded server hosted for the moment on Win 2008 R2. I noticed that when I go on the MP menu, it’s come to be VERY laggy, but I can see some servers provided by the list. When i seen mine, try a connection on it, the character menu, hopefully was saved from laggy things, I can create a character, go on space and it works like a charm.
Many thanks to you, I seek for years on this :pint:
Edit : it could be pretty good if the server can work on a raspberry, it could permit to run a low cost and greener server with zero noise at home
-
You’re welcome!
I was trying every now and then to get it to work. This time I wanted to check whether the native overridden dlls are correctly entered and so I first searched in the winetricks github repository. Interestingly there are two issues regarding this closed about a year ago. So I didn’t need to manually check for it and just tried winetricks - with success :). Although I can’t tell whether Wine development caused it or the missing entries (which is not really important ;)).
For me this also is a major breakthrough. I hope more people see it like this.
If you want to run it on the Pi you would also need Qemu, since Wine needs x86 capable hardware. This is propably too slow, but I have found pages describing how to run Wine in Qemu so you could test it.
-
I remember last time i tried - MP works only at local machine.
No connection from others at the same network.
No connection from outside. So quiestion is still open.Better to try OSS FLServer just for PvP but take a note - no missions and npcs.
-
Why would it not work if I can connect from outside of the vm? Besides Lady}{Diamond already wrote that he/she also could connect to the real server hosted on Win 2008. From a networking standpoint there is no difference if that is working. It is all UDP traffic.
-
Just tested (also on debian jessie), using playonlinux to install wine 1.9.14-staging with directplay and mfc42.
flserver started fine except for my flhook 2.0 (compiled with vc2015, so may need some extra overrides)
however the server doesnt show in lan when i try connecting from a win client.
Running the client on linux the server list always shows empty, no matter if i run the server on windows (on lan), manually enter a remote servers IP in the shortcut, or run both client and server on the same machine.It defiantly must be a change between the staging and devel versions of 1.9.14
Update: apparently not, stupid mistake not including a backslash before the : in the server:port specification, however other servers still arent shown (even skipping POL and using 1.9.14-devel with wintricks), its also reverted to being stuck on the ‘loading’ bar on a fully patched server.
Manually installing the vc2015 redist i was able to get hook to load though (its not in winetricks yet, and no need to override with native dll) -
@Schmackbolzen i dont know, because it was long time ago and i have noticed by netstat that server running local sockets instead of regular tcp/ip network.
So anyway big thanks for the post.
I will try LD way because i have Debian 8 too -
You’re welcome!
I first checked netstat and was actually amazed to see UDP 2302 from flserver.exe there At first I could not believe it.
-
To be sure that i start from the beginning I’ve made a clean wine configuration by rm -rf .wine in /home/<user>/ and I uninstalled my current wine and followed the instructions for Debian.
IMPORTANT NOTE HERE:
If you use some mods be careful about the files and folders names, Linux filesystem is case sensitive, so you can have two goods.ini and Goods.ini in a folder or have two fx and FX folders, be sure that the filenames are exactly matching.</user>
-
Yeah! I’m connected from one pc to another - same network
Now need to get to work and check by internet :]
P.S. I don’t want the hook - it is later maybe…
-
Success!! Linux MP over Internet now works!
Tested from Work my Linux Freelancer Home server using InternetThanks again Schmackbolzen for the clear and effective tutorial
-
That is nice to hear! I have updated the first post with the current testing results and also added that the game itself seems to work in SP and MP. I will keep it updated with the results getting posted here.
-
I can confirm that HeIIoween, i’ve seen your server on www.flserver.de this afternoon
That’s really great
-
Reporting Mod with custom FLHook 2.0 ( vs2008 ) with DSAce anticheat running well
Public FLShell won’t work - if someone using it…
-
Reporting FLHook 3.0 working …
… without condata.dll and event.dll even if msvc*90.dll’s are present.
So, the fix, i think, to rebuild them with Visual Studio 2015 -
Works at Mac too I’m using Winebottler
-
hey there.
sorry for digging out this old threat, but i would like to get flserver running on my linux machine and nothing i try works so far.is there still someone who has this running? which wine-version, which dlls installed and which windows-version?
i tried with the newest wine 3.19 and with the 1.9.14 mentioned in the threat. the server seems to run, but i cannot see it in freelancer on the same machine
any help highly appreciated. -
Hey,
I tried on debian 9.5 with wine-3.0.3 directplay and mfc42 dlls
I can see other servers and mine on the same machine but can’t connect, it’s like the ping is infinite, so the network thing seems to work anyway.
Do you see other servers like me ?
You can check your firewall looking for blocked requests, i recommend you to enable logging on iptables for troubleshooting the firewall. Something like this as root :iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables INPUT DROP: " --log-level 7 iptables -A OUTPUT -m limit --limit 5/min -j LOG --log-prefix "iptables INPUT DROP: " --log-level 7
And look at the kernel messages with dmesg -T | grep iptables (as root too)
Or disable your firewall for the test.
Maybe you can try using virtual machine (or another pc on the same network) as a server and your physical pc as a client and see if it works.
EDIT : Tested on a server hosted in virtual machine in the same network and it works.