FreeSO on Linux!

Rhys

FreeSO Developer
Staff member
Moderator
With some extensive changes to the path resolutions in the game, it now works on Linux! Here are some screenshots of Blade running the game on his Linux Distro:


linux1.png
.eJwFwVsOhCAMAMC7cABK5SXehiBBo1JCa_Zjs3ffma965602dYgM3gD2kwvNXbPQzK3qRtTumsfJutADWSSX46ldGNAmtBEXbwyasHoXAF2w1jkbo199ShgSvP3q9Ol69KZ-fwXnIuA.RRvqysXDt-TZLZn6Qvj7Yfpt_4M.png


This isn't without it's problems, as you can see from the terrain view. Currently, the game has a tendancy to randomly crash (and has no music), but otherwise works correctly in lots. There will be more information about running the game like this in the future!

You need these things for the game to work (ubuntu):
Code:
sudo apt-get install mono-complete mono-vbnc libopenal1

(I have tried MacOS, but it doesn't seem to work correctly at the moment. I need to compile from a Mac, probably)
 
Last edited:
With some extensive changes to the path resolutions in the game, it now works on Linux! Here are some screenshots of Blade running the game on his Linux Distro:

This isn't without it's problems, as you can see from the terrain view. Currently, the game has a tendancy to randomly crash (and has no music), but otherwise works correctly in lots. There will be more information about running the game like this in the future!

The most important is how do you get install TSO client into linux..
You will need different build for running on linux?? Which ubuntu versions supported??
 
The most important is how do you get install TSO client into linux..
You will need different build for running on linux?? Which ubuntu versions supported??
Same build seems to work fine. There are a few issues with graphics drivers. The game will be downloaded with a custom installer.

upload_2016-2-9_21-38-10.png
IDE works but I get this on creating the TREE editor.
 
For downloading and installing TSO from the FTP, cross platform so it works on linux too. Will also install FreeSO + OpenAL.
 
Which version are you running? I tried to download dist-251.zip and run mono FSO.debug.exe but it complains that C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat isn't a valid path. That is certainly true on Linux. How can I tell the client where to fine my equivalent to the C:-drive?

Here the output:
Code:
~/TheSimsOnline/drive_c/Program Files/FreeSO$ mono FSO.Debug.exe
Unhandled Exception:
System.Exception: Tuning.cs: Invalid path: C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat
  at FSO.Files.Tuning..ctor (System.String Path) [0x00000] in <filename unknown>:0
  at FSO.Content.Content..ctor (System.String basePath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Content.Content.Init (System.String basepath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Debug.Form1..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) FSO.Debug.Form1:.ctor ()
  at FSO.Debug.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: Tuning.cs: Invalid path: C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat
  at FSO.Files.Tuning..ctor (System.String Path) [0x00000] in <filename unknown>:0
  at FSO.Content.Content..ctor (System.String basePath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Content.Content.Init (System.String basepath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Debug.Form1..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) FSO.Debug.Form1:.ctor ()
  at FSO.Debug.Program.Main () [0x00000] in <filename unknown>:0
 
It should be looking in the "game/" relative folder, if your mono is correctly identifying as linux. Are yoi running through some sort of hybrid environment?
 
Are you running through some sort of hybrid environment?
I'm just running mono from the Ubuntu/ElementaryOS-repositories. I installed The Sims Online using the EA-installer (running in wine), unzipped the current FreeSO-build to TSOClient and started to run FreeSO.exe and FSO.Debug.exe in wine mono (Sorry. I got that wrong. I was running the Installer in wine but the actual FreeSO-Binaries in Linux-Mono). The latter complains about not being able to access C:\-paths, the other one complains about some input issues (or something like that).
 
Last edited:
You shouldn't be running the game in Wine - it expects registry information. The linux support works by just running "mono FreeSO.exe" in terminal in the game folder, with your TSOClient folder in friends being relative to the executable in "game/". This is going to be cleaned up in a while.
 
Oops. I explained that wrong. I ran the game directly in Mono and only the EA-Installer was ran in wine:

Code:
~/TheSimsOnline/drive_c/Program Files/Maxis/The Sims Online/TSOClient$ mono FSO.Debug.exe
Unhandled Exception:
System.Exception: Tuning.cs: Invalid path: C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat
  at FSO.Files.Tuning..ctor (System.String Path) [0x00000] in <filename unknown>:0
  at FSO.Content.Content..ctor (System.String basePath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Content.Content.Init (System.String basepath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Debug.Form1..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) FSO.Debug.Form1:.ctor ()
  at FSO.Debug.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: Tuning.cs: Invalid path: C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat
  at FSO.Files.Tuning..ctor (System.String Path) [0x00000] in <filename unknown>:0
  at FSO.Content.Content..ctor (System.String basePath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Content.Content.Init (System.String basepath, Microsoft.Xna.Framework.Graphics.GraphicsDevice device) [0x00000] in <filename unknown>:0
  at FSO.Debug.Form1..ctor () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) FSO.Debug.Form1:.ctor ()
  at FSO.Debug.Program.Main () [0x00000] in <filename unknown>:0

~/TheSimsOnline/drive_c/Program Files/Maxis/The Sims Online/TSOClient$ mono FSO.IDE.exe
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: RegisterRawInputDevices
  at (wrapper managed-to-native) SharpDX.RawInput.RawInputFunctions:RegisterRawInputDevices_ (void*,int,int)
  at SharpDX.RawInput.RawInputFunctions.RegisterRawInputDevices (SharpDX.RawInput.RawInputDevice[] rawInputDevicesRef, Int32 uiNumDevices, Int32 cbSize) [0x00000] in <filename unknown>:0
  at SharpDX.RawInput.Device.RegisterDevice (UsagePage usagePage, UsageId usageId, DeviceFlags flags, IntPtr target, RegisterDeviceOptions options) [0x00000] in <filename unknown>:0
  at SharpDX.RawInput.Device.RegisterDevice (UsagePage usagePage, UsageId usageId, DeviceFlags flags) [0x00000] in <filename unknown>:0
  at MonoGame.Framework.WinFormsGameWindow..ctor (MonoGame.Framework.WinFormsGamePlatform platform) [0x00000] in <filename unknown>:0
  at MonoGame.Framework.WinFormsGamePlatform..ctor (Microsoft.Xna.Framework.Game game) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.GamePlatform.Create (Microsoft.Xna.Framework.Game game) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.Game..ctor () [0x00000] in <filename unknown>:0
  at FSO.Common.Rendering.Framework.Game..ctor () [0x00000] in <filename unknown>:0
  at FSO.Client.TSOGame..ctor () [0x00000] in <filename unknown>:0
  at FSO.Client.GameStartProxy.Start (Boolean useDX) [0x00000] in <filename unknown>:0
  at FSO.IDE.VolcanicStartProxy.Start () [0x00000] in <filename unknown>:0
  at FSO.IDE.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

~/TheSimsOnline/drive_c/Program Files/Maxis/The Sims Online/TSOClient$ mono
FreeSO.exe
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: RegisterRawInputDevices
  at (wrapper managed-to-native) SharpDX.RawInput.RawInputFunctions:RegisterRawInputDevices_ (void*,int,int)
  at SharpDX.RawInput.RawInputFunctions.RegisterRawInputDevices (SharpDX.RawInput.RawInputDevice[] rawInputDevicesRef, Int32 uiNumDevices, Int32 cbSize) [0x00000] in <filename unknown>:0
  at SharpDX.RawInput.Device.RegisterDevice (UsagePage usagePage, UsageId usageId, DeviceFlags flags, IntPtr target, RegisterDeviceOptions options) [0x00000] in <filename unknown>:0
  at SharpDX.RawInput.Device.RegisterDevice (UsagePage usagePage, UsageId usageId, DeviceFlags flags) [0x00000] in <filename unknown>:0
  at MonoGame.Framework.WinFormsGameWindow..ctor (MonoGame.Framework.WinFormsGamePlatform platform) [0x00000] in <filename unknown>:0
  at MonoGame.Framework.WinFormsGamePlatform..ctor (Microsoft.Xna.Framework.Game game) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.GamePlatform.Create (Microsoft.Xna.Framework.Game game) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.Game..ctor () [0x00000] in <filename unknown>:0
  at FSO.Common.Rendering.Framework.Game..ctor () [0x00000] in <filename unknown>:0
  at FSO.Client.TSOGame..ctor () [0x00000] in <filename unknown>:0
  at FSO.Client.GameStartProxy.Start (Boolean useDX) [0x00000] in <filename unknown>:0
  at FSO.Client.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
FSO.Debug.exe → System.Exception: Tuning.cs: Invalid path: C:\Program Files\Maxis\The Sims Online\TSOClient\/tuning.dat
FreeSO.exe / FSO.IDE.exe → System.EntryPointNotFoundException: RegisterRawInputDevices
 
I have no idea why it's running like it's on linux. Only the windows game locator falls back to that directory...
 
I have no idea why it's running like it's on linux. Only the windows game locator falls back to that directory...
Maybe I put those files in the wrong directory? I extracted the .zip to The Sims Online\TSOClient\ and ran the Mono binaries from there. Was that right?

Furthermore, I don't understand the exception "System.EntryPointNotFoundException: RegisterRawInputDevices"
 
Back
Top