-
Notifications
You must be signed in to change notification settings - Fork 11
[Question] Wine Mono & Space Engineers #2
Comments
I have a bit of time to look into this now. |
I have been fiddling with this and got wine-mono to install and also setup a vnc server so I could see wine errors. I created a docker file to extend this image FROM rpufky/steam:experimental
#THis works
RUN wget https://dl.winehq.org/wine/wine-mono/5.1.0/wine-mono-5.1.0-x86.msi && \
su steam -c 'wine64 msiexec /i wine-mono-5.1.0-x86.msi' && \
rm wine-mono-5.1.0-x86.msi
#This does not, may or may not been needed, but wine will hang for a while with a gui prompt about it.
RUN wget http://dl.winehq.org/wine/wine-gecko/2.47.1/wine-gecko-2.47.1-x86.msi && \
su steam -c 'wine64 msiexec /i wine-gecko-2.47.1-x86.msi' && \
rm wine-gecko-2.47.1-x86.msi
RUN DEBIAN_FRONTEND="noninteractive" apt-get install --yes x11vnc && \
\
apt-get clean autoclean && \
apt-get autoremove --yes && \
rm -rfv /var/lib/{apt,dpkg} /var/lib/{cache,log} /tmp/* /var/tmp/* && \
mkdir -p /var/lib/dpkg/{alternatives,info,parts,updates} && \
touch /var/lib/dpkg/status Changes to custom_server: Xvfb :1 -screen 0 1024x768x16 &
sleep 2
x11vnc -display :1 -bg -nopw -listen 0.0.0.0 -xkb
su steam -c "wine64 ${SERVER_DIR}/DedicatedServer64/SpaceEngineersDedicated.exe -path ${SERVER_DIR}/SpaceEngineer% 32 It is worth noting source is available: https://github.com/KeenSoftwareHouse/SpaceEngineers Though it reads like babies first video game with everything prefixed with "My" |
I left off this evening trying to get it to load the GUI since maybe I could at least prove it runs that way. But I get CantStartFromCommandLine as an error so I'm not sure if there is something that needs to happen to trick it into thinking it is in an interactive setting. Rumor is there is a "-console" flag that who knows what it does. |
Thanks for the updates. Based on what I have been digging into, the space engineers binary was original 32bit and was able to run via Wine on Linux pretty easily. Update 01.133 forced the 64bit binary, requiring Most people closed up shop after this and just ran in a straight windows VM or virtualbox. Much of the material I've been able to find is pre References: Some people have reported this working by using winetricks to workaround some issues. I'm going to be adding Current StateBased on the dedicated server instructions above, I started the windows dedicated server, configured a test server, shut it down and copied those config files to Unfortunately, that's as far as I've been able to progress it. Server doesn't crash anymore, but does not seem to be loading the world state on launch. Per your mono comment: mono should not be installed if installing .NET, as mono is an opensource version of it. Not having mono installed is fine if the .NET packages are. custom_server #!/bin/bash
PROCESS_WAIT_TIME=25
WATCHDOG_TIME=300
# --- ADD required windows packages ---
su steam -c "winetricks dotnet472"
su steam -c "winetricks vcrun2013"
su steam -c "winetricks vcrun2017"
# --- Link to windows dedicated server location ---
ln -sf /data/config '/steam/.wine/drive_c/users/steam/Application Data/SpaceEngineersDedicated'
function shutdown() {
echo 'Shutting down server ...'
if [ "$(pgrep -n Conan)" != '' ]; then
echo "Sending SIGINT to server (max ${PROCESS_WAIT_TIME} secs) ..."
kill -SIGINT `pgrep -n Conan`
sleep ${PROCESS_WAIT_TIME}
fi
if [ "$(pgrep wine)" != '' ]; then
echo "Sending SIGINT to wine processes (max ${PROCESS_WAIT_TIME} sec) ..."
kill -SIGINT `pgrep wine`
sleep ${PROCESS_WAIT_TIME}
fi
exit 0
}
trap shutdown SIGINT SIGKILL SIGTERM
function start_server() {
su steam -c "wine ${SERVER_DIR}/DedicatedServer64/SpaceEngineersDedicated.exe -console"
}
function watch_server() {
if ps aux | grep [C]onanSandboxServer > /dev/null; then
echo 'Server is running ...'
else
echo 'Starting server ...'
start_server &
fi
}
while true; do
watch_server
# background and using wait enables trap capture.
sleep ${WATCHDOG_TIME} &
wait
done Then modifying ConclusionI'm absolutely willing to update the base image to make this server work, however, it looks like this might be a square peg/round hole problem; it might be better to get the dedicated server running on a standard Linux machine, then letting me know what was needed to get that working -- then I can apply changes to the image to make it work going forward. Fundamentally this seems to be an issue with running the Windows binary on Linux -- until that's solved and repeatable, the docker image will never work correctly. Other references: |
The |
Closing issue due to lack of updates. |
I've been trying to get space engineers dedicated server to function but have been having trouble with the experimental tag and am not sure if I am just doing something wrong or if some extra secret sauce is needed (If said sauce even exists).
Error:
From what limited google searching i've done it seems that .Net 4.6 /should/ generally work with Mono. So then the question is whether something isn't installed in this container and how might I go about that.
docker-compose.yaml:
data/custom_server
The text was updated successfully, but these errors were encountered: