Here's a quick guide how to run SpaceEngineers Dedicated Server on Ubuntu with Wine
- A copy of Space Engineers
- A Windows box
- A Linux box running Ubuntu 14.04 or 14.10 (It'll probably work on other distros, YMMV)
sudo apt-get update
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.6
winetricks -q dotnet40
rm -r ~/.wine
WINEARCH=win32 wine wineboot
There are multiple ways for transfering files, easiets would probably be using SCP, WinSCP works well for that. You'll want to transfer the DedicatedServer.zip file found in
[Steam install directory]\steamapps\common\SpaceEngineers\Tools
Unpack the zip somewhere inside
~/.wine/drive_c/users/$(whoami)/
The easiest way to do this is to just generate them locally and copy them over to the server, this can be done by using the dedicated server tool on your windows box, the tool is located in
[Steam intall directory]\steamapps\common\SpaceEngineers\Tools\DedicatedServer\SpaceEngineersDedicated.exe
- Select the Default profile
- Set up the world
- Save the config
- Start to generate the world.
The files will be stored in
C:\Users\{USERNAME}\AppData\Roaming\SpaceEngineersDedicated\Default
Edit the SpaceEngineers-Dedicated.cfg
and copy it with the Saves
folder to the following directory on your Linux box
~/.wine/drive_c/users/$(whoami)/Application\ Data/SpaceEngineersDedicated
You'll have to change the <LoadWorld>
tag so it point to the correct directory.
If the Save folder is located in
~/.wine/drive_c/users/$(whoami)/Application\ Data/SpaceEngineersDedicated/Saves/Created 2015-03-30 2331
the <LoadWorld>
tag must look like this, where {username}
is the same as $(whoami)
<LoadWorld>C:\Users\{username}\Application Data\SpaceEngineersDedicated\Default\Saves\Created 2015-03-30 2331</LoadWorld>
You still need to use windows paths.
- Go to the directory where you have the dedicated server files
wine SpaceEngineersDedicated.exe -console
- There will be a lot of messages regarding xserver, ignore them
- Errors like
fixme:shell:URL_ParseUrl failed to parse L"System.Core"
are okay, ignore them. - Be sure to run 32bit, wine doesn't like the 64bit one.
- There is a small bug where after stopping the server you will no longer see what you're typing into the console.
- This guide is based on the guide I found over at Keen Software House Forums created by AdamAnt
Some updates:
Using wine-staging, forcing the installation of dotnet48, usine winecfg and setting os to windows 7 and starting the server with
wineconsole ./DedicatedServer64/SpaceEngineersDedicated.exe -noconsole
the remote management api port 8080 was opened, according to the log.
The following problems persist:
I experimented with the remote management api and managed to remotely initiate a save over the network when running nativeley on windows with an http PATCH request to the remote management api, by slightly modifying this git project: https://github.com/chris007de/pyvrageremoteapi .
In this line https://github.com/chris007de/pyvrageremoteapi/blob/b6c48468d12c5739f9b5a1b4a4f9b47aaed10a27/pyvrageremoteapi.py#L89 GET must be changed to PATCH and then calling
python pyvrageremoteapi.py --url http://localhost:8080 --key XKb8xk7vrKaq+BpallYnGA== --resource session
will trigger an autosave.
So the idea was to launch this python script before the systemctl service goes down, but unfortunately the dedicated server's remote management port does not work.
So If someone get's the remote management port to work please share it here.